Show Menu
ARGOMENTI×

Set di moduli in AEM Forms

Panoramica

Spesso ai clienti viene richiesto di inviare più moduli per richiedere un servizio o un benefit. Si tratta di trovare tutti i moduli pertinenti; e riempirli, inviarli e tenerne traccia separatamente. Inoltre, devono compilare i dettagli comuni più volte nei diversi moduli. L'intero processo diventa complesso e soggetto a errore se si tratta di un numero elevato di moduli. La funzione dei set di moduli dei AEM Forms può semplificare l'esperienza utente in tali scenari.
Un set di moduli è un insieme di moduli HTML5 raggruppati e presentati come un singolo set di moduli per gli utenti finali. Quando gli utenti finali iniziano a compilare un set di moduli, si passa direttamente da un modulo all'altro. Alla fine, è possibile inviare tutti i moduli con un solo clic.
I AEM Forms forniscono agli autori dei moduli un'interfaccia utente intuitiva per creare, configurare e gestire i set di moduli. In qualità di autore, è possibile ordinare i moduli in una sequenza specifica che gli utenti finali dovranno seguire. È inoltre possibile applicare condizioni o espressioni di idoneità a singoli moduli per controllarne la visibilità in base agli input dell'utente. Ad esempio, è possibile configurare il modulo dei dettagli del coniuge in modo che venga visualizzato solo quando lo stato del matrimonio specifica come Sposato.
È inoltre possibile configurare campi comuni in diversi moduli per condividere binding dei dati comuni. In presenza di binding dei dati appropriati, agli utenti finali viene richiesto di compilare le informazioni comuni solo una volta che tali informazioni verranno compilate automaticamente nei moduli successivi.
I set di moduli sono supportati anche nell'app AEM Forms, consentendo al personale addetto al campo di utilizzare un set di moduli offline, di visitare i clienti, di inserire dati e di sincronizzarsi successivamente con il server AEM Forms per inviare i dati dei moduli ai processi aziendali.

Creazione e gestione di un set di moduli

È possibile associare diversi XDP o modelli di modulo, creati utilizzando Designer, a un set di moduli. I set di moduli possono quindi essere utilizzati per eseguire il rendering selettivo degli XDP in base ai valori immessi dagli utenti nei moduli iniziali e nei relativi profili.
Utilizzare l'interfaccia utente AEM Forms per gestire tutti i moduli, i set di moduli e le risorse correlate.

Creare un set di moduli

Per creare un set di moduli, effettuare le seguenti operazioni:
  1. Selezionate Forms > Forms e documenti.
  2. Selezionare Crea > Set di moduli.
  3. Nella pagina Aggiungi proprietà, aggiungi i seguenti dettagli e fai clic su Avanti.
    • Titolo: Specifica il titolo del documento. Il titolo consente di identificare il set di moduli nell’interfaccia utente dei AEM Forms.
    • Descrizione: Specifica le informazioni dettagliate sul documento.
    • Tag: Specifica i tag per identificare in modo univoco il set di moduli. I tag consentono di effettuare ricerche nel set di moduli. Per creare i tag, digitate nuovi nomi di tag nella casella Tag.
    • Invia URL: Specifica l'URL in cui i dati inviati vengono inviati per il caso di rappresentazione autonoma del set di moduli (caso di utilizzo dell'app non AEM Forms). I dati vengono inviati a questo endpoint come multipart/formdata con il seguente parametro di richiesta:
    • dataXML: Questo parametro contiene una rappresentazione XML dei dati del set di moduli inviati. Se tutti i moduli del set di moduli utilizzano uno schema comune, l'XML viene generato in base a tale schema. In caso contrario, il tag XML principale contiene un tag secondario per ciascun modulo compilato nel set di moduli che contiene i dati per gli allegati del modulo.
    • formsetPath: Percorso del modulo impostato in CRXDE, inviato.
    • Profilo di rendering HTML: È possibile configurare determinate opzioni, quali campi mobili, allegati e supporto delle bozze (per le rappresentazioni dei set di moduli indipendenti) per personalizzare l'aspetto, il comportamento e le interazioni del set di moduli. È possibile personalizzare o estendere il profilo esistente per modificare eventuali impostazioni del profilo modulo HTML.
  4. Nella schermata Seleziona moduli vengono visualizzati i moduli XDP o i file XDP disponibili. Cercare e selezionare i moduli da includere nel set di moduli, quindi fare clic su Aggiungi al set di moduli. Se necessario, cercare di nuovo i moduli da aggiungere. Dopo aver aggiunto tutti i moduli al set di moduli, fare clic su Avanti.
    Assicurarsi che i nomi dei campi nei moduli XDP non contengano il carattere punto. In caso contrario, gli script che tentano di risolvere i campi, contenenti caratteri punto, non sono in grado di risolverli.
  5. Nella pagina Configura moduli è possibile effettuare le seguenti operazioni:
    • Ordine modulo: Trascinare i moduli per riordinarli. L'ordine del modulo definisce l'ordine in cui i moduli vengono mostrati all'utente finale nell'app AEM Forms e nella rappresentazione autonoma.
    • Identificatore modulo: Specifica un'identità univoca per i moduli da utilizzare nelle espressioni di idoneità.
    • Radice dati: Per ciascun modulo del set di moduli, l'autore può configurare l'XPATH in cui i dati di quel particolare modulo sono posizionati nel codice XML inviato. Il valore predefinito è /. Se tutti i moduli del set di moduli sono associati allo schema e condividono lo stesso schema XML, è possibile modificare questo valore. È consigliabile che ogni campo del modulo disponga di un binding dati appropriato specificato in XDP. Se due campi di due moduli diversi condividono il binding dei dati comune, nel campo del secondo modulo vengono visualizzati i valori precompilati del primo modulo. Non eseguire il binding di due sottomoduli con lo stesso contenuto interno con lo stesso nodo XML. Per ulteriori informazioni sulla struttura XML del set di moduli, vedere Precompila XML per il set di moduli.
    • Espressione di idoneità: Specifica un'espressione JavaScript che valuta un valore booleano e indica se un modulo in un set di moduli è idoneo alla compilazione. Se è false, all'utente non viene chiesto né mostrato il modulo da compilare. In genere, l'espressione si basa sui valori dei campi acquisiti prima del modulo. Le espressioni contengono anche chiamate all'API fs.valueOf set di moduli per estrarre i valori compilati dall'utente in un campo di un modulo del set di moduli:
    fs.valueOf(<Identificatore modulo>, <espressione fieldSom>) > <valore>
    Ad esempio, se nel set di moduli sono presenti due moduli: spese aziendali e spese di viaggio, è possibile aggiungere uno snippet JavaScript nel campo Espressione di idoneità per entrambi i moduli per controllare l'input dell'utente per il tipo di spesa in un modulo. Se l'utente sceglie Spese commerciali, viene eseguito il rendering del modulo Spese aziendali per l'utente finale. Oppure, se l'utente sceglie le spese di viaggio, all'utente finale verrà eseguito il rendering di un altro modulo. Per ulteriori informazioni, vedere Espressione di idoneità.
    Inoltre, l'autore può anche scegliere di rimuovere un modulo dal set di moduli utilizzando l'icona Elimina presente nell'angolo destro di ciascuna riga o aggiungere un altro set di moduli utilizzando l'icona + nella barra degli strumenti. Questa icona + indica all'utente di tornare al passaggio precedente della procedura guidata, che è stata utilizzata per selezionare i moduli. Le selezioni esistenti vengono mantenute e ogni ulteriore selezione effettuata deve essere aggiunta al set di moduli utilizzando l'icona Aggiungi a set di moduli nella pagina.
    Tutti i moduli utilizzati nel set di moduli sono gestiti dall'interfaccia utente AEM Forms.

Gestione di un set di moduli

Una volta creato il set di moduli, è possibile effettuare le seguenti operazioni su tale set di moduli:
  • Con un solo clic: Quando il set di moduli viene creato ed elencato nella pagina della risorsa principale, è possibile fare clic sul set di moduli per visualizzarlo. Un set di moduli si apre e visualizza tutti i modelli di modulo (XDP) presenti in tale set.
  • Modifica: Facendo clic su Modifica dopo aver selezionato un set di moduli, si apre la schermata Configura modulo visualizzata sopra in Passaggi per creare un set di moduli. È possibile eseguire tutte le funzionalità descritte in questo punto.
  • Copia + Incolla: Questo consente di copiare l’intero set di moduli da una posizione e incollarlo nello stesso percorso o in qualsiasi altra cartella.
  • Scarica: È possibile scaricare il set di moduli con tutte le relative dipendenze.
  • Avvia/Gestisci revisione: Una volta creato il set di moduli, è possibile configurarne la revisione facendo clic su Avvia revisione. Una volta avviata la revisione per un set di moduli, l'opzione Gestisci revisione viene visualizzata all'utente. Nella schermata Gestisci revisione potete aggiornare/terminare la revisione. Per le revisioni aggiunte, potete controllare la revisione e aggiungere eventuali commenti.
  • Elimina: Elimina l'intero set di moduli. I moduli nel set di moduli eliminato rimangono nella directory archivio.
  • Pubblica/Annulla pubblicazione: Questo consente di pubblicare/annullare la pubblicazione del set di moduli insieme a tutti i moduli in esso contenuti e alle relative risorse.
  • Anteprima: Anteprima offre due opzioni: Visualizzate l'anteprima come HTML (senza dati) e l'anteprima personalizzata con i dati di esempio.
  • Visualizza/Modifica proprietà: È possibile visualizzare/modificare le proprietà dei metadati di un set di moduli selezionato.

Modificare un set di moduli

Per modificare un set di moduli, effettuare le seguenti operazioni:
  1. Selezionate Forms > Forms e documenti.
  2. Individuare il set di moduli da modificare. Passate il puntatore del mouse sopra di esso e selezionate Modifica ( di modifica).
  3. Nella pagina Configura moduli è possibile modificare quanto segue:
    • Ordine modulo
    • Identificatore modulo
    • Radice dati
    • Espressione di idoneità
    È inoltre possibile fare clic sull'icona Elimina corrispondente per eliminare il modulo dal set di moduli.

Set di moduli in Process Management

Dopo aver creato un set di moduli utilizzando l'interfaccia utente Gestione AEM Forms, è possibile utilizzare il set di moduli in un punto iniziale o in un'attività Assegna attività tramite Workbench.

Utilizzo del set di moduli in Task o Punto iniziale

  1. Durante la progettazione di un processo, nella sezione Presentazione e dati di Assegna attività/Punto di inizio, selezionate Usa una risorsa CRX. Viene visualizzato il browser Risorse CRX.
  2. Selezionare il set di moduli per filtrare il set di moduli AEM repository (CRX).
  3. Seleziona un set di moduli e fai clic su OK.

Espressioni di idoneità

Le espressioni di idoneità in un set di moduli vengono utilizzate per definire e controllare in modo dinamico i moduli visualizzati dall'utente. Ad esempio, per visualizzare un modulo specifico solo se l’utente appartiene a un particolare gruppo di età. Specificare e modificare un'espressione di idoneità utilizzando Forms Manager.
Un'espressione di idoneità può essere qualsiasi istruzione JavaScript valida che restituisce un valore booleano. L'ultima istruzione nello snippet di codice JavaScript è trattata come un valore booleano che determina l'idoneità del modulo in base all'elaborazione nelle altre (righe precedenti) dello snippet di codice JavaScript. Se il valore dell'espressione è true, il modulo può essere visualizzato all'utente. Tali moduli sono noti come moduli idonei.
L'espressione di idoneità per il primo modulo del set di moduli non è eseguita. Il primo modulo viene sempre visualizzato indipendentemente dalla relativa espressione di idoneità.
Oltre alle funzioni JavaScript standard, il set di moduli espone anche l'API fs.valueOf che fornisce l'accesso al valore di un campo di un modulo in un set di moduli. Utilizzare questa API per accedere al valore di un campo modulo in un set di moduli. La sintassi API è fs.valueOf (formUid, fieldSOM), dove:
  • formUid (stringa): Un ID univoco di un modulo nel set di moduli. È possibile specificarlo durante la creazione del set di moduli nell'interfaccia utente di Forms Manager. Per impostazione predefinita, è il nome del modulo.
  • fieldSOM (stringa): Un'espressione SOM del campo nel modulo specificato da formUid. L'espressione SOM o l'espressione del modello di oggetto script viene utilizzata per fare riferimento a valori, proprietà e metodi all'interno di un particolare modello di oggetto documento (DOM). È possibile visualizzarlo in Form Designer sotto la scheda Script mentre il campo è selezionato.
Entrambi i parametri formUid e fieldSOM devono essere stringhe letterali.

Esempi

Utilizzo valido dell'API:
fs.valueOf("form1", "xfa.form.form1.subform1.field1")
Utilizzo non valido dell'API:
var formUid = "form1";
 var fieldSOM = “xfa.form.form1.subform1.field1"; fs.valueOf(formUid, fieldSOM);

Precompila XML per set di moduli

Set di moduli è un insieme di più moduli HTML5 con schemi comuni o diversi. Il set di moduli supporta la precompilazione dei campi modulo mediante l'uso di un file XML. È possibile associare un file XML a un set di moduli, in modo che quando si apre un modulo nel set di moduli, alcuni dei campi del modulo vengano precompilati.
Il file XML di precompilazione viene specificato utilizzando il parametro dataRef dell'URL del set di moduli. Il parametro dataRef specifica il percorso assoluto del file XML di dati unito al set di moduli.
Ad esempio, nel set di moduli sono presenti tre moduli (modulo1, modulo2 e modulo3) con la struttura seguente:
form1
fieldform1 field
form2
fieldform2field
form3
fieldform3field
Ogni modulo ha un campo denominato comune, denominato "field" e un campo denominato in modo univoco denominato "form<i>field".
È possibile precompilare questo set di moduli utilizzando un XML con la struttura seguente:
<?xml version="1.0" encoding="UTF-8" ?>
<formSetRootTag>
 <field>common field value</field>
 <form1field>value1</form1field>
 <form2field>value2</form2field>
 <form3field>value3</form3field>
</formSetRootTag>

Il tag XML principale può avere un nome qualsiasi, ma i tag degli elementi corrispondenti ai campi devono avere lo stesso nome del campo. La gerarchia dell'XML deve simulare la gerarchia del modulo, il che significa che l'XML deve avere i tag corrispondenti per racchiudere i sottomoduli.
Lo snippet XML di cui sopra mostra che l'XML di precompilazione per il set di moduli è un'unione degli snippet XML di precompilazione dei singoli moduli. Se alcuni campi nei diversi moduli presentano una gerarchia di dati o uno schema simile, i campi vengono precompilati con gli stessi valori. In questo esempio, tutti e tre i moduli sono precompilati con lo stesso valore per il campo comune "field". Si tratta di un modo semplice per trasmettere i dati da un modulo all'altro. Ciò può essere ottenuto anche mediante il binding dei campi con lo stesso schema o riferimento dati. Se si desidera separare i dati del set di moduli in base allo schema del modulo. Questo può essere ottenuto specificando l'attributo "data root" del modulo, durante la creazione del set di moduli (il valore predefinito è "/", che viene mappato sul tag principale del set di moduli).
Nell'esempio precedente, se si specificano le origini dati: "/form1", "/form2" e "/form3" rispettivamente per i tre moduli, è necessario utilizzare un XML di precompilazione della struttura seguente:
<?xml version="1.0" encoding="UTF-8" ?>
<formSetRootTag>
 <form1>
  <field>field value1</field>
  <form1field>value1</form1field>
 </form1>
 <form2>
  <field>field value2</field>
  <form2field>value2</form2field>
 </form2>
 <form3>
  <field>field value3</field>
  <form3field>value3</form3field>
 </form3>
</formSetRootTag>

In un set di moduli, l'XML ha definito uno schema XML con la sintassi seguente:
<formset>
 <fs_data>
  <xdp:xdp xmlns:xdp="https://ns.adobe.com/xdp/">
  <xfa:datasets xmlns:xfa="https://www.xfa.org/schema/xfa-data/1.0/">
   <xfa:data>
   <rootElement>
    ... data ....
   </rootElement>
   </xfa:data>
  </xfa:datasets>
  </xdp:xdp>
 </fs_data>
 <fs_draft>
  ... private data...
 </fs_draft>
</formset>

Se nel file XML di precompilazione sono presenti due moduli con origini dati sovrapposte o la gerarchia di elementi di un modulo si sovrappone alla gerarchia di dati principale di un altro modulo, i valori degli elementi sovrapposti vengono uniti. L'XML di invio ha una struttura simile all'XML di precompilazione, ma l'XML di invio ha più tag wrapper e alcuni tag di dati contestuali del set di moduli sono aggiunti alla fine.

Descrizione degli elementi XML di precompilazione

Regole di sintassi per la creazione di un file XML di precompilazione:
  • elementi padre: elementi che possono essere il relativo elemento principale, dove null indica che l'elemento può trovarsi alla radice del codice XML.
  • cardinalità: rappresenta il numero di volte in cui l'elemento può essere utilizzato all'interno del relativo elemento padre.
  • submitXML: indica se l'elemento è sempre presente(P) o facoltativo(O) nell'invio di XML.
  • prefillXML: indica se l'elemento è obbligatorio(R) o facoltativo(O) nel file XML di precompilazione.
  • bambini: indica quali elementi possono essere i relativi elementi secondari.

FORMSET

parent elements:
null
cardinality: [0,1]
submitXML: P
prefillXML: O
children: fs_data
L'elemento principale del set di moduli XML. È consigliabile non utilizzare questa parola come nome del sottomodulo root di alcun modulo del set di moduli.

FS_DATA

parent elements:
formset
cardinalità: #
submitXML: P
prefillXML: O
children: xdp:xdp/rootElement
La sottostruttura ad albero indica i dati dei moduli nel set di moduli. L'elemento è facoltativo nel codice XML di precompilazione solo se l'elemento set di moduli non è presente

XDP:XDP

parent elements: fs_data/null
cardinality: [0,1]
submitXML: O
prefillXML: O
children: xfa:datasets
Questo tag indica l’inizio di HTML5 Form XML. Questo viene aggiunto nel file XML di invio se è presente nel file XML di precompilazione o se non è presente alcun XML di precompilazione. Questo tag può essere rimosso dall’XML di precompilazione.

XFA:DATASETS

parent elements: xdp:xdp
cardinality: [1]
submitXML: O
prefillXML: O
children: xfa:data

XFA:DATA

parent elements: xfa:datasets
cardinality: [1]
submitXML: O
prefillXML: O
children: rootElement

ROOTELEMENT

parent elements: xfa:datasets/fs_data/null
cardinality: [0,1]
submitXML: P
prefillXML: O
children: controlled by the Forms in Form set
Il nome rootElement è solo un segnaposto. Il nome effettivo viene selezionato dai moduli utilizzati nel set di moduli. La struttura ad albero secondaria che inizia con rootElement contiene i dati dei campi e dei sottomoduli all'interno dell'Forms nel set di moduli. Esistono più fattori che determinano la struttura dell'elemento rootElement e dei relativi elementi secondari.
In XML di precompilazione, questo tag è facoltativo, ma se manca, l'intero XML viene ignorato.
NOME DEL TAG ELEMENTO PRINCIPALE
Nel caso in cui vi sia un elemento principale nel file XML di precompilazione, il nome di tale elemento viene assunto anche nel file XML di invio. Se non è presente un codice xml di precompilazione, il nome dell'elemento rootElement è il nome del sottomodulo principale del primo modulo del set di moduli con una proprietà dataRoot impostata su "/". In assenza di tale modulo, il nome rootElement è fs_dummy_root , che è una parola chiave riservata.

Set di moduli nell'app AEM Forms

L'app AEM Forms consente ai lavoratori del campo di sincronizzare i loro dispositivi mobili con un server AEM Forms e di lavorare sulle loro attività. L'applicazione funziona anche quando il dispositivo è offline, salvando i dati localmente sul dispositivo. Utilizzando le funzioni di annotazione, come le fotografie, i dipendenti sul campo possono fornire informazioni precise da integrare nei processi aziendali.

Limitazioni note - pattern non completamente supportati nel set di moduli

I seguenti pattern di dati non sono completamente supportati nel set di moduli:
Pattern non completamente supportato nel set di moduli Esempio
Dimensioni input e dimensioni pattern non corrispondenti
Quando pattern= num{z,zzz}
E input=
12,345 o
1,23
Pattern di clausola immagine con parentesi quadre "(" ")" num{(zz,zzz)}
Pattern di dati multipli num{zz,zzz} | num{z,zzz,zzz}
Pattern di abbreviazione
num.integer{},
num.decimal{},
num.percentuale{}, oppure
num.currency{}