Compare commits
2
Commits
ea913b33bd
..
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d2b6a2e90e | ||
|
|
b9d9acb93f |
@@ -0,0 +1,134 @@
|
|||||||
|
# ElixForms Moduli
|
||||||
|
|
||||||
|
Repository per l'archiviazione e il versionamento dei moduli ElixForms dell'Università di Parma.
|
||||||
|
|
||||||
|
Il progetto automatizza l'esportazione dei moduli dalla console ElixForms e affianca a ogni file `.elx` una rappresentazione testuale dei suoi contenuti. In questo modo configurazioni, form, traduzioni e validazioni possono essere consultate e confrontate tramite Git senza dover analizzare direttamente il file di export completo.
|
||||||
|
|
||||||
|
## Prerequisiti
|
||||||
|
|
||||||
|
L'ambiente operativo previsto è Windows. Prima dell'installazione sono necessari:
|
||||||
|
|
||||||
|
- Git;
|
||||||
|
- PowerShell 7.4 o successivo, disponibile tramite il comando `pwsh`;
|
||||||
|
- Node.js 20 o successivo, con `npm` disponibile nel `PATH`;
|
||||||
|
- Google Chrome, utilizzato in modalità headless per l'esportazione;
|
||||||
|
- accesso di rete alla console ElixForms UniPR e credenziali abilitate al backoffice.
|
||||||
|
|
||||||
|
## Installazione e preparazione
|
||||||
|
|
||||||
|
Clonare il repository e posizionarsi nella sua directory:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
git clone https://gitea.unipr.it/elixForms/elixforms-moduli.git
|
||||||
|
cd elixforms-moduli
|
||||||
|
```
|
||||||
|
|
||||||
|
Avviare quindi la preparazione dell'ambiente:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
.\setup-environment.bat
|
||||||
|
```
|
||||||
|
|
||||||
|
Lo script:
|
||||||
|
|
||||||
|
1. richiede i valori mancanti per `ELIXFORMS_USERNAME`, `ELIXFORMS_PASSWORD` ed `ELIXFORMS_MODULE_TAG`;
|
||||||
|
2. salva la configurazione locale nel file `.env` in radice;
|
||||||
|
3. installa con `npm` le dipendenze degli strumenti presenti in `tools/extract-elx`, `tools/playwright` e `tools/selenium`.
|
||||||
|
|
||||||
|
Il file `.env` è escluso da Git e non deve essere aggiunto al repository, perché contiene credenziali. `ELIXFORMS_MODULE_TAG` completa la configurazione richiesta dagli strumenti di automazione; i launcher di esportazione sostituiscono questo valore, solo per l'esecuzione corrente, con il tag ricevuto come argomento o inserito interattivamente.
|
||||||
|
|
||||||
|
Per modificare successivamente la configurazione è possibile aggiornare `.env` oppure eseguire di nuovo `setup-environment.bat` dopo aver svuotato il valore interessato.
|
||||||
|
|
||||||
|
## Utilizzo
|
||||||
|
|
||||||
|
### Esportare ed estrarre un modulo
|
||||||
|
|
||||||
|
Il comando principale esegue l'intero flusso per un tag ElixForms:
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
.\export-and-extract-elx.bat NOME_TAG_MODULO
|
||||||
|
```
|
||||||
|
|
||||||
|
Se il tag non viene specificato, il launcher lo richiede in modo interattivo. Il risultato viene salvato in:
|
||||||
|
|
||||||
|
```text
|
||||||
|
src/NOME_TAG_MODULO/
|
||||||
|
├── elxforms_<ID>.elx
|
||||||
|
└── elxforms_<ID>_internals/
|
||||||
|
```
|
||||||
|
|
||||||
|
È consigliabile controllare con `git diff` sia il file `.elx` sia la directory `_internals` prima di creare un commit.
|
||||||
|
|
||||||
|
### Comandi disponibili
|
||||||
|
|
||||||
|
| Comando | Funzione |
|
||||||
|
| --- | --- |
|
||||||
|
| `export-and-extract-elx.bat <TAG>` | Esporta il modulo e ne rigenera subito i contenuti estratti. |
|
||||||
|
| `export-elx.bat <TAG>` | Esporta soltanto il file `.elx` dalla console. |
|
||||||
|
| `extract-elx-internals.bat <TAG>` | Rigenera `_internals` per il modulo indicato. |
|
||||||
|
| `extract-elx-internals-last-updated.bat` | Estrae il file `.elx` modificato più di recente sotto `src`. |
|
||||||
|
| `extract-elx-internals-all.bat` | Rigenera i contenuti estratti di tutti i file `.elx` sotto `src`. |
|
||||||
|
| `convert-url-to-elix.bat <URL_ASSOLUTO>` | Converte un URL nel formato richiesto dalle chiamate remote/autocomplete di ElixForms. |
|
||||||
|
|
||||||
|
I comandi che accettano un argomento possono essere avviati anche senza parametri; in tal caso ne richiedono il valore da tastiera.
|
||||||
|
|
||||||
|
## Struttura del repository
|
||||||
|
|
||||||
|
```text
|
||||||
|
.
|
||||||
|
├── src/ # Moduli esportati e relative rappresentazioni estratte
|
||||||
|
├── scripts/ # Orchestrazione PowerShell e funzioni condivise
|
||||||
|
├── tools/
|
||||||
|
│ ├── extract-elx/ # Scomposizione del JSON .elx
|
||||||
|
│ ├── selenium/ # Automazione dell'export dalla console
|
||||||
|
│ └── playwright/ # Implementazione alternativa dell'automazione
|
||||||
|
├── .env.template # Elenco delle variabili di configurazione
|
||||||
|
├── setup-environment.bat # Preparazione iniziale
|
||||||
|
└── *.bat # Comandi operativi eseguibili da Windows
|
||||||
|
```
|
||||||
|
|
||||||
|
Ogni sottodirectory immediata di `src` identifica normalmente un modulo tramite il suo tag. Al suo interno si trovano l'export originale e la directory derivata con suffisso `_internals`.
|
||||||
|
|
||||||
|
## Funzionamento tecnico
|
||||||
|
|
||||||
|
### Esportazione dalla console ElixForms
|
||||||
|
|
||||||
|
I file `.bat` si posizionano nella radice del repository e delegano il lavoro agli script PowerShell in `scripts`. Le funzioni condivise sono raccolte in `scripts/elx-tools-module.psm1`.
|
||||||
|
|
||||||
|
Durante l'esportazione, PowerShell legge le credenziali da `.env`, applica il tag ricevuto dal comando e avvia lo strumento Selenium con le variabili d'ambiente necessarie. Selenium apre Chrome in modalità headless e svolge queste operazioni:
|
||||||
|
|
||||||
|
1. accede al backoffice ElixForms UniPR;
|
||||||
|
2. cerca il modulo tramite il tag;
|
||||||
|
3. apre la funzione di esportazione e include i dati di protocollo;
|
||||||
|
4. scarica il file `elxforms_<ID>.elx`;
|
||||||
|
5. sposta il file da `tools/selenium/downloads` a `src/<TAG>`.
|
||||||
|
|
||||||
|
Se la directory del tag non esiste, viene creata automaticamente. La ricerca usa il primo risultato restituito dalla console: è quindi importante utilizzare un tag completo e non ambiguo.
|
||||||
|
|
||||||
|
Il percorso richiamato dai launcher usa Selenium. In `tools/playwright` è mantenuta anche un'implementazione alternativa dello stesso flusso, non collegata ai comandi `.bat` principali.
|
||||||
|
|
||||||
|
### Estrazione dei contenuti `.elx`
|
||||||
|
|
||||||
|
Un file `.elx` è un documento JSON che contiene, nelle proprietà di primo livello, molte parti eterogenee del modulo. Lo strumento Node.js `tools/extract-elx/extract-elx.js` lo scompone in una directory omonima con suffisso `_internals`.
|
||||||
|
|
||||||
|
Per ciascuna proprietà radice:
|
||||||
|
|
||||||
|
- le stringhe XML sono riconosciute e formattate in file `.xml`;
|
||||||
|
- le altre stringhe sono salvate come `.txt`;
|
||||||
|
- gli oggetti sono serializzati come JSON indentato;
|
||||||
|
- gli array producono un indice e un file separato per ogni elemento;
|
||||||
|
- eventuali frammenti XML contenuti negli oggetti vengono estratti anche in file dedicati.
|
||||||
|
|
||||||
|
Per alcune collezioni, tra cui step, tab, schemi, validazioni e traduzioni, i nomi dei file derivano da identificatori funzionali contenuti nei dati. Gli elementi vengono inoltre ordinati quando è disponibile una chiave significativa. Questi accorgimenti mantengono stabile l'output tra due esportazioni e rendono i diff Git più leggibili.
|
||||||
|
|
||||||
|
Ogni estrazione genera anche:
|
||||||
|
|
||||||
|
- `_manifest.json`, con tipo e numero di file prodotti per ciascuna proprietà;
|
||||||
|
- `crc32.txt`, con il checksum CRC32 del file `.elx` sorgente;
|
||||||
|
- file `index.*` che rappresentano valori singoli o descrivono il contenuto delle collezioni.
|
||||||
|
|
||||||
|
Gli script PowerShell richiamano l'estrattore con l'opzione `--clean`: la directory `_internals` esistente viene eliminata e ricreata a partire dal file `.elx`. Di conseguenza, non deve contenere modifiche manuali da preservare; la sorgente autorevole resta l'export `.elx` ottenuto dalla console.
|
||||||
|
|
||||||
|
### Conversione degli URL
|
||||||
|
|
||||||
|
`convert-url-to-elix.bat` trasforma un URL assoluto nel formato usato dai servizi remoti ElixForms. Il dominio e il percorso vengono normalizzati secondo la convenzione della piattaforma, mentre i parametri di query vengono conservati, nello stesso ordine, nell'oggetto JSON restituito dal comando.
|
||||||
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
6E077ABF
|
F37FA425
|
||||||
|
|||||||
+201
-201
File diff suppressed because one or more lines are too long
+100
@@ -2325,6 +2325,105 @@
|
|||||||
"value": "true",
|
"value": "true",
|
||||||
"properties": []
|
"properties": []
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"schemaId": 793,
|
||||||
|
"tag": "_DEFAULT",
|
||||||
|
"section": null,
|
||||||
|
"field": "COL0003",
|
||||||
|
"name": "com_anthesi_elix_forms_display_attrsubmitdisabledelements",
|
||||||
|
"value": "",
|
||||||
|
"properties": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"schemaId": 793,
|
||||||
|
"tag": "_DEFAULT",
|
||||||
|
"section": null,
|
||||||
|
"field": "COL0003",
|
||||||
|
"name": "elix_attr_tag",
|
||||||
|
"value": "RICHIEDENTE_NOME",
|
||||||
|
"properties": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"schemaId": 793,
|
||||||
|
"tag": "_DEFAULT",
|
||||||
|
"section": null,
|
||||||
|
"field": "COL0003",
|
||||||
|
"name": "elix_attr_order",
|
||||||
|
"value": "",
|
||||||
|
"properties": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"schemaId": 793,
|
||||||
|
"tag": "_DEFAULT",
|
||||||
|
"section": null,
|
||||||
|
"field": "COL0003",
|
||||||
|
"name": "elix_attr_orderbylast",
|
||||||
|
"value": "",
|
||||||
|
"properties": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"schemaId": 793,
|
||||||
|
"tag": "_DEFAULT",
|
||||||
|
"section": null,
|
||||||
|
"field": "COL0003",
|
||||||
|
"name": "elix-displayjsonattribute-json-disable-decode",
|
||||||
|
"value": "true",
|
||||||
|
"properties": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"schemaId": 793,
|
||||||
|
"tag": "_DEFAULT",
|
||||||
|
"section": null,
|
||||||
|
"field": "COL0003",
|
||||||
|
"name": "elix-displayjsonattribute-set-value",
|
||||||
|
"value": "",
|
||||||
|
"properties": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"schemaId": 793,
|
||||||
|
"tag": "_DEFAULT",
|
||||||
|
"section": null,
|
||||||
|
"field": "COL0003",
|
||||||
|
"name": "elix-displayjsonattribute-json-attrib",
|
||||||
|
"value": "value/json/datiAnagrafici/nome",
|
||||||
|
"properties": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"schemaId": 793,
|
||||||
|
"tag": "_DEFAULT",
|
||||||
|
"section": null,
|
||||||
|
"field": "COL0003",
|
||||||
|
"name": "elix-displayjsonattribute-json-container",
|
||||||
|
"value": "COL0015",
|
||||||
|
"properties": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"schemaId": 793,
|
||||||
|
"tag": "_DEFAULT",
|
||||||
|
"section": null,
|
||||||
|
"field": "COL0003",
|
||||||
|
"name": "com_anthesi_rwe2_extattr_plugin_abstractdisplayjsonattribute_attrhidejsoncolumncontainer_elix-displayjsonattribute-json-hidden-attrib",
|
||||||
|
"value": "",
|
||||||
|
"properties": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"schemaId": 793,
|
||||||
|
"tag": "_DEFAULT",
|
||||||
|
"section": null,
|
||||||
|
"field": "COL0003",
|
||||||
|
"name": "com_anthesi_elix_forms_display_attrdisplaylabel_displaylabel",
|
||||||
|
"value": "Nome",
|
||||||
|
"properties": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"schemaId": 793,
|
||||||
|
"tag": "_DEFAULT",
|
||||||
|
"section": null,
|
||||||
|
"field": "COL0003",
|
||||||
|
"name": "com_anthesi_elix_forms_display_displayreadonlyv2_1v2",
|
||||||
|
"value": "true",
|
||||||
|
"properties": []
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"schemaId": 793,
|
"schemaId": 793,
|
||||||
"tag": "_DEFAULT",
|
"tag": "_DEFAULT",
|
||||||
@@ -2336,6 +2435,7 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"attributeData": {
|
"attributeData": {
|
||||||
|
"RWE2_ATTR_VISIBLE_IN_CONSOLE": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"RWE2 - Attr Campo Visibile in Console Richieste\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD0001\" title=\"Dati\"><COL0001 title=\"Visibile nella office console\" name=\"elixforms_visible_in_office_console\" order-key=\"ORD0001\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">true</COL0001><COL0002 title=\"Ricercabile nella office console\" name=\"elixforms_ricercabile_in_office_console\" order-key=\"ORD0002\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">true</COL0002><COL0003 title=\"Posizione\" name=\"elixforms_posizione_in_office_console\" order-key=\"ORD0003\" type=\"number\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">1</COL0003></SECTION></EXT>\n",
|
||||||
"ELIX_DISPATTR_Tag": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"ELIX_DISPLAY_ATTR - setTag\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD001\" title=\"Dati\"><COL0001 title=\"Tag\" name=\"elix_attr_tag\" order-key=\"ORD0001\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">RICHIEDENTE_CODFIS</COL0001><COL0002 title=\"Chiave di Ordinamento\" name=\"elix_attr_order\" order-key=\"ORD0002\" type=\"number\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"></COL0002><COL0003 title=\"Ordina per il più recente\" name=\"elix_attr_orderbylast\" order-key=\"ORD0003\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"></COL0003></SECTION></EXT>\n",
|
"ELIX_DISPATTR_Tag": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"ELIX_DISPLAY_ATTR - setTag\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD001\" title=\"Dati\"><COL0001 title=\"Tag\" name=\"elix_attr_tag\" order-key=\"ORD0001\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">RICHIEDENTE_CODFIS</COL0001><COL0002 title=\"Chiave di Ordinamento\" name=\"elix_attr_order\" order-key=\"ORD0002\" type=\"number\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"></COL0002><COL0003 title=\"Ordina per il più recente\" name=\"elix_attr_orderbylast\" order-key=\"ORD0003\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"></COL0003></SECTION></EXT>\n",
|
||||||
"ELIX_ATTR_FieldRequired": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"ELIX_ATTR - FieldRequired\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD001\" title=\"Dati\"><COL0001 title=\"Obbligatorio\" name=\"com_anthesi_elix_forms_validation_FieldRequired_ATTR_REQUIRED\" order-key=\"ORD0001\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">true</COL0001><COL0002 title=\"Considera il valore 0 come non compilato\" name=\"com_anthesi_elix_forms_validation_FieldRequired_ATTR_ZERO_AS_NULL\" order-key=\"ORD0002\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"></COL0002><COL0003 title=\"Messaggio di errore\" name=\"ELIX_ERROR_MESSAGE\" order-key=\"ORD0003\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">Inserire un valore</COL0003></SECTION></EXT>\n",
|
"ELIX_ATTR_FieldRequired": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"ELIX_ATTR - FieldRequired\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD001\" title=\"Dati\"><COL0001 title=\"Obbligatorio\" name=\"com_anthesi_elix_forms_validation_FieldRequired_ATTR_REQUIRED\" order-key=\"ORD0001\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">true</COL0001><COL0002 title=\"Considera il valore 0 come non compilato\" name=\"com_anthesi_elix_forms_validation_FieldRequired_ATTR_ZERO_AS_NULL\" order-key=\"ORD0002\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"></COL0002><COL0003 title=\"Messaggio di errore\" name=\"ELIX_ERROR_MESSAGE\" order-key=\"ORD0003\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">Inserire un valore</COL0003></SECTION></EXT>\n",
|
||||||
"ELIX_DISPATTR_DisplayLabel": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"ELIX_DISPLAY_ATTR - DisplayLabel\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD001\" title=\"Dati\"><COL0001 title=\"Label del campo\" name=\"com_anthesi_elix_forms_display_AttrDisplayLabel_DisplayLabel\" order-key=\"ORD0001\" type=\"textarea\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"><![CDATA[Codice Fiscale]]></COL0001></SECTION></EXT>\n",
|
"ELIX_DISPATTR_DisplayLabel": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"ELIX_DISPLAY_ATTR - DisplayLabel\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD001\" title=\"Dati\"><COL0001 title=\"Label del campo\" name=\"com_anthesi_elix_forms_display_AttrDisplayLabel_DisplayLabel\" order-key=\"ORD0001\" type=\"textarea\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"><![CDATA[Codice Fiscale]]></COL0001></SECTION></EXT>\n",
|
||||||
|
|||||||
+2
-2
@@ -2000,8 +2000,8 @@
|
|||||||
"ELIX_DISPATTR_Tag": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"ELIX_DISPLAY_ATTR - setTag\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD001\" title=\"Dati\"><COL0001 title=\"Tag\" name=\"elix_attr_tag\" order-key=\"ORD0001\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">CERTIFICATO_SELEZIONATO</COL0001><COL0002 title=\"Chiave di Ordinamento\" name=\"elix_attr_order\" order-key=\"ORD0002\" type=\"number\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">2</COL0002><COL0003 title=\"Ordina per il più recente\" name=\"elix_attr_orderbylast\" order-key=\"ORD0003\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">false</COL0003></SECTION></EXT>\n",
|
"ELIX_DISPATTR_Tag": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"ELIX_DISPLAY_ATTR - setTag\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD001\" title=\"Dati\"><COL0001 title=\"Tag\" name=\"elix_attr_tag\" order-key=\"ORD0001\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">CERTIFICATO_SELEZIONATO</COL0001><COL0002 title=\"Chiave di Ordinamento\" name=\"elix_attr_order\" order-key=\"ORD0002\" type=\"number\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">2</COL0002><COL0003 title=\"Ordina per il più recente\" name=\"elix_attr_orderbylast\" order-key=\"ORD0003\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">false</COL0003></SECTION></EXT>\n",
|
||||||
"ELIX_ATTR_FieldRequired": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"ELIX_ATTR - FieldRequired\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD001\" title=\"Dati\"><COL0001 title=\"Obbligatorio\" name=\"com_anthesi_elix_forms_validation_FieldRequired_ATTR_REQUIRED\" order-key=\"ORD0001\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">true</COL0001><COL0002 title=\"Considera il valore 0 come non compilato\" name=\"com_anthesi_elix_forms_validation_FieldRequired_ATTR_ZERO_AS_NULL\" order-key=\"ORD0002\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"></COL0002><COL0003 title=\"Messaggio di errore\" name=\"ELIX_ERROR_MESSAGE\" order-key=\"ORD0003\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">Selezionare un certificato</COL0003></SECTION></EXT>\n",
|
"ELIX_ATTR_FieldRequired": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"ELIX_ATTR - FieldRequired\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD001\" title=\"Dati\"><COL0001 title=\"Obbligatorio\" name=\"com_anthesi_elix_forms_validation_FieldRequired_ATTR_REQUIRED\" order-key=\"ORD0001\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">true</COL0001><COL0002 title=\"Considera il valore 0 come non compilato\" name=\"com_anthesi_elix_forms_validation_FieldRequired_ATTR_ZERO_AS_NULL\" order-key=\"ORD0002\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"></COL0002><COL0003 title=\"Messaggio di errore\" name=\"ELIX_ERROR_MESSAGE\" order-key=\"ORD0003\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">Selezionare un certificato</COL0003></SECTION></EXT>\n",
|
||||||
"ELIX_DISPATTR_DisplayLabel": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"ELIX_DISPLAY_ATTR - DisplayLabel\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD001\" title=\"Dati\"><COL0001 title=\"Label del campo\" name=\"com_anthesi_elix_forms_display_AttrDisplayLabel_DisplayLabel\" order-key=\"ORD0001\" type=\"textarea\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"><![CDATA[Certificato *]]></COL0001></SECTION></EXT>\n",
|
"ELIX_DISPATTR_DisplayLabel": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"ELIX_DISPLAY_ATTR - DisplayLabel\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD001\" title=\"Dati\"><COL0001 title=\"Label del campo\" name=\"com_anthesi_elix_forms_display_AttrDisplayLabel_DisplayLabel\" order-key=\"ORD0001\" type=\"textarea\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"><![CDATA[Certificato *]]></COL0001></SECTION></EXT>\n",
|
||||||
"ELIX_ATTR_ResetStep": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"ELIX_ATTR - ResetStep\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD001\" title=\"Dati\"><COL0001 title=\"Abilita l'annullamento di uno step di workflow\" name=\"elix-resetstep\" order-key=\"ORD0001\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">true</COL0001><COL0002 title=\"Etichetta della scheda da annullare\" name=\"elix-resetstep-tag\" order-key=\"ORD0002\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">Conferma certificati</COL0002><COL0003 title=\"Messaggio di errore\" name=\"ELIX_ERROR_MESSAGE\" order-key=\"ORD0003\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">Impossibile effettuare il reset dello step Conferma certificati</COL0003><COL0004 title=\"Abilita reset form multiplo\" name=\"elix-resetstep-mf\" order-key=\"ORD0004\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"></COL0004></SECTION></EXT>\n",
|
"ELIX_DISPATTR_DisplayItemList": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"ELIX_DISPLAY_ATTR - DisplayItemList\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD001\" title=\"Dati\"><COL0001 title=\"Lista dei valori della tendina\" name=\"com_anthesi_rwe2_extattr_plugin_DisplayItemList_AttrTextArea\" order-key=\"ORD0001\" type=\"textarea\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"><![CDATA[--------------------------------------------------------------------------------\r\nM415MC - Situazione tasse per anno solare\r\nISCR - Iscrizione\r\nISCRB - Iscrizione con Borsa\r\nISCRAA - Iscrizione con anni accademici\r\nM1295 - Iscrizione con anni accademici ed esami\r\nM1296 - Iscrizione con esami da superare\r\n--------------------------------------------------------------------------------\r\nM403 - Iscrizione con esami e date\r\nISCPIA - Iscrizione con piano\r\nM1297 - Laurea con piano\r\nM1298 - Laurea con anni accademici ed esami\r\nM1300 - Laurea senza voto\r\nM1301 - Laurea con voto\r\nLaurea - Laurea con diploma per SP art. 257\r\nM405 - Laurea con anni accademici\r\nM405 - C-DS SUPPLEMENT AL DIPLOMA\r\nM1291 - Rinuncia con anni accademici\r\nRIN - Rinuncia con anni accademici ed esami\r\nM409 - Rinuncia Standard\r\nM1288 - Decadenza con anni accademici\r\nM1289 - Decadenza con anni accademici ed esami\r\nM411 - Decadenza]]></COL0001></SECTION></EXT>\n",
|
||||||
"ELIX_DISPATTR_DisplayItemList": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"ELIX_DISPLAY_ATTR - DisplayItemList\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD001\" title=\"Dati\"><COL0001 title=\"Lista dei valori della tendina\" name=\"com_anthesi_rwe2_extattr_plugin_DisplayItemList_AttrTextArea\" order-key=\"ORD0001\" type=\"textarea\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"><![CDATA[M415MC - Situazione tasse per anno solare\r\nISCR - Iscrizione\r\nISCRB - Iscrizione con Borsa\r\nISCRAA - Iscrizione con anni accademici\r\nM1295 - Iscrizione con anni accademici ed esami\r\nM1296 - Iscrizione con esami da superare\r\nM403 - Iscrizione con esami e date\r\nISCPIA - Iscrizione con piano\r\nM1297 - Laurea con piano\r\nM1298 - Laurea con anni accademici ed esami\r\nM1300 - Laurea senza voto\r\nM1301 - Laurea con voto\r\nLaurea - Laurea con diploma per SP art. 257\r\nM405 - Laurea con anni accademici\r\nM405 - C-DS SUPPLEMENT AL DIPLOMA\r\nM1291 - Rinuncia con anni accademici\r\nRIN - Rinuncia con anni accademici ed esami\r\nM409 - Rinuncia Standard\r\nM1288 - Decadenza con anni accademici\r\nM1289 - Decadenza con anni accademici ed esami\r\nM411 - Decadenza]]></COL0001></SECTION></EXT>\n"
|
"ELIX_ATTR_ResetStep": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"ELIX_ATTR - ResetStep\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD001\" title=\"Dati\"><COL0001 title=\"Abilita l'annullamento di uno step di workflow\" name=\"elix-resetstep\" order-key=\"ORD0001\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">true</COL0001><COL0002 title=\"Etichetta della scheda da annullare\" name=\"elix-resetstep-tag\" order-key=\"ORD0002\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">Conferma certificati</COL0002><COL0003 title=\"Messaggio di errore\" name=\"ELIX_ERROR_MESSAGE\" order-key=\"ORD0003\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">Impossibile effettuare il reset dello step Conferma certificati</COL0003><COL0004 title=\"Abilita reset form multiplo\" name=\"elix-resetstep-mf\" order-key=\"ORD0004\" type=\"boolean\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"></COL0004></SECTION></EXT>\n"
|
||||||
},
|
},
|
||||||
"attributeBindingData": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"SYS_SCHEMAATTRIBUTES\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD0001\" title=\"SYSTEM\"><COL0001 title=\"SCHEMAID\" name=\"COL0001\" order-key=\"ORD0001\" type=\"number\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">867</COL0001><COL0002 title=\"SECTION\" name=\"COL0002\" order-key=\"ORD0002\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"></COL0002><COL0003 title=\"COLNAME\" name=\"COL0003\" order-key=\"ORD0003\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">COL0014</COL0003><COL0004 title=\"TAG\" name=\"COL0004\" order-key=\"ORD0004\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">_DEFAULT</COL0004><COL0005 title=\"VERSION\" name=\"COL0005\" order-key=\"ORD0005\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"></COL0005></SECTION></EXT>\n"
|
"attributeBindingData": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EXT title=\"SYS_SCHEMAATTRIBUTES\" description=\"\"><SECTION key=\"SEC_0001\" order-key=\"ORD0001\" title=\"SYSTEM\"><COL0001 title=\"SCHEMAID\" name=\"COL0001\" order-key=\"ORD0001\" type=\"number\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">867</COL0001><COL0002 title=\"SECTION\" name=\"COL0002\" order-key=\"ORD0002\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"></COL0002><COL0003 title=\"COLNAME\" name=\"COL0003\" order-key=\"ORD0003\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">COL0014</COL0003><COL0004 title=\"TAG\" name=\"COL0004\" order-key=\"ORD0004\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\">_DEFAULT</COL0004><COL0005 title=\"VERSION\" name=\"COL0005\" order-key=\"ORD0005\" type=\"string\" visible=\"no\" searchable=\"no\" search-default=\"no\" visible-in-search=\"no\" visible-in-search-backend=\"no\"></COL0005></SECTION></EXT>\n"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
1.29.1
|
1.30.0
|
||||||
@@ -1 +1 @@
|
|||||||
8kEoTf7T0lND5Yeo9SD/brafr0i2ZoFgg+HYEIJXyD8=
|
9R/MUyU5Wz8/PbO7+a90Yqts8yrN/un3fiD0ZXj3w98=
|
||||||
Reference in New Issue
Block a user