Workflow di preriempimento basato su origine di dati e invio consigliati per i moduli adattivi recommended-data-source-btased-prefill-and-submit-workflows-for-adaptive-forms
Con i moduli adattivi convertiti tramite il servizio di Automated forms conversion (AFCS) è possibile utilizzare una delle seguenti origini dati:
- Modello dati modulo, OData o qualsiasi altro servizio di terze parti
- Schema JSON
- Schema XSD
In base all’origine dati, puoi scegliere di generare un modulo adattivo con o senza un modello di dati.
Questo articolo descrive i flussi di lavoro consigliati per precompilare i valori dei campi e le opzioni di invio dopo aver selezionato un’origine dati e generato un modulo adattivo utilizzando il servizio di conversione.
Per ulteriori informazioni sul servizio di Automated forms conversion (AFCS), vedere i seguenti articoli:
Le informazioni fornite in questo articolo si basano sul presupposto che chiunque le legga abbia una conoscenza di base dei concetti dei moduli adattivi.
Prerequisiti pre-requisites
- Configura un'istanza dell'autore dell'AEM
- Configura il servizio di Automated forms conversion nell'istanza di creazione dell'AEM
Modulo adattivo di esempio sample-adaptive-form
Per eseguire i casi d’uso per precompilare i valori dei campi in un modulo adattivo e inviarli all’origine dati, scarica il seguente file PDF di esempio.
Modulo di richiesta di prestito di esempio
Il file PDF funge da input per il servizio di Automated forms conversion (AFCS). Il servizio converte questo file in un modulo adattivo. L’immagine seguente illustra l’esempio di richiesta di prestito in formato PDF.
Prepara dati per modello modulo prepare-data-for-form-model
L’integrazione dei dati di AEM Forms consente di configurare e connettersi a diverse origini dati. Dopo aver generato un modulo adattivo utilizzando il processo di conversione, puoi definire il modello del modulo in base a un modello di dati del modulo, XSD o uno schema JSON. È possibile utilizzare un database, Microsoft Dynamics o qualsiasi altro servizio di terze parti per creare un modello di dati modulo.
Questa esercitazione utilizza il database MySQL come origine per la creazione di un modello di dati modulo. Crea uno schema loanapplication nel database e aggiungi una tabella candidate allo schema in base ai campi disponibili nel modulo adattivo.
È possibile utilizzare l'istruzione DDL seguente per creare la tabella candidato nel database.
CREATE TABLE `applicant` (
`name` varchar(45) DEFAULT NULL,
`address` varchar(45) DEFAULT NULL,
`phonenumber` int(11) NOT NULL,
`email` varchar(45) DEFAULT NULL,
`occupation` varchar(45) DEFAULT NULL,
`annualsalary` varchar(45) DEFAULT NULL,
`familymembers` int(11) DEFAULT NULL,
PRIMARY KEY (`phonenumber`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Se utilizzi uno schema XSD come modello del modulo per eseguire i casi d’uso, crea un file XSD con il testo seguente:
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace="http://adobe.com/sample.xsd"
xmlns="http://adobe.com/sample.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="sample" type="SampleType"/>
<xs:complexType name="SampleType">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
<xs:element name="phonenumber" type="xs:int"/>
<xs:element name="email" type="xs:string"/>
<xs:element name="occupation" type="xs:string"/>
<xs:element name="annualsalary" type="xs:string"/>
<xs:element name="familymembers" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Oppure scarica lo schema XSD nel file system locale.
Esempio di schema XSD per la richiesta di prestito
Per ulteriori informazioni sull'utilizzo dello schema XSD come modello di modulo nei moduli adattivi, vedere Creazione di moduli adattivi tramite lo schema XML.
Se utilizzi uno schema JSON come modello del modulo per eseguire i casi d’uso, crea un file JSON con il testo seguente:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"definitions": {
"loanapplication": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"phonenumber": {
"type": "number"
},
"email": {
"type": "string"
},
"occupation": {
"type": "string"
},
"annualsalary": {
"type": "string"
},
"familymembers": {
"type": "number"
}
}
}
},
"type": "object",
"properties": {
"employee": {
"$ref": "#/definitions/loanapplication"
}
}
}
In alternativa, scarica lo schema JSON nel file system locale.
Esempio di schema JSON per richiesta di prestito
Per ulteriori informazioni sull'utilizzo dello schema JSON come modello di modulo nei moduli adattivi, vedi Creazione di moduli adattivi utilizzando lo schema JSON.
Generare moduli adattivi senza associazione dati generate-adaptive-forms-with-no-data-binding
Utilizza il servizio Automated forms conversion per convertire il modulo di esempio per la richiesta di prestito in un modulo adattivo senza associazione dati. Accertati di selezionare la casella di controllo Generate adaptive form(s) without data bindings per generare il modulo adattivo senza associazione dati.
Dopo aver generato un modulo adattivo senza alcuna associazione di dati, seleziona un’origine dati per il modulo adattivo:
Utilizza database, OData o qualsiasi servizio di terze parti come origine dati sqldatasource
Caso d’uso: viene generato un modulo adattivo senza associazione di dati utilizzando il servizio di Automated forms conversion (AFCS) e viene configurato il database MYSQL come origine di dati. Associare manualmente i campi del modulo adattivo alle entità del modello dati del modulo e utilizzare l’opzione Form Data Model Prefill Service per precompilare i valori dei campi. Utilizza l’opzione Submit using Form Data Model per inviare il modulo adattivo.
Prima di eseguire il caso d’uso:
In base al caso d'uso, creare il modello dati del modulo loanapplication e associare l'argomento del servizio di lettura a un valore Literal. Il valore letterale del numero di telefono deve essere di uno dei record configurati nello schema richiedente del database MySQL. I servizi utilizzano il valore come argomento per recuperare i dettagli dall’origine dati. È inoltre possibile selezionare Attributo profilo utente o Attributo richiesta dall'elenco a discesa Binding To
Esegui i passaggi seguenti:
-
Selezionare il modulo di richiesta di prestito di esempio convertito disponibile nella cartella output e toccare Properties.
-
Tocca la scheda Form Model, seleziona Form Data Model dall'elenco a discesa Select From, quindi tocca Select Form Data Model per selezionare il modello dati del modulo loanapplication. Tocca Save & Close per salvare il modulo.
-
Seleziona il modulo di richiesta di prestito di esempio e tocca Edit.
-
Nella scheda Content, toccare l'icona di configurazione:
-
Nella sezione Basic, selezionare Form Data Model Prefill service dall'elenco a discesa Prefill Service.
-
Nella sezione Submission, selezionare Submit using Form Data Model dall'elenco a discesa Submit Action.
-
Selezionare il modello dati utilizzando il campo Data Model to submit.
-
Tocca per salvare le proprietà.
-
-
Toccare la casella di testo Nome candidato e selezionare (Configura).
- Nel campo Riferimento binding, selezionare Candidato > Nome, quindi toccare per salvare le proprietà. Allo stesso modo, crea un'associazione dati per Indirizzo, Numero di telefono, Posta elettronica, Occupazione, Stipendio annuale (in dollari) e No. di familiari dipendenti campi con entità modello dati modulo.
-
Tocca Preview per visualizzare i valori dei campi del modulo adattivo precompilati.
-
Se necessario, modifica i valori dei campi e invia il modulo adattivo. I valori dei campi vengono inviati al database MySQL. È possibile aggiornare la tabella candidato nel database per visualizzare i valori aggiornati nella tabella.
Caso d'uso: viene generato un modulo adattivo senza associazione dati utilizzando il servizio di Automated forms conversion (AFCS) e viene configurato il database MYSQL come origine dati. Per precompilare i valori dei campi, associa i campi del modulo adattivo utilizzando l’editor di regole. Se necessario, modifica i valori dei campi e invia i dati all’archivio crx.
Esegui la procedura seguente per utilizzare l'editor di regole per richiamare il servizio del modello di dati del modulo per associare campi e precompilare valori in un modulo adattivo:
-
Selezionare il modulo di richiesta di prestito di esempio nella cartella output e toccare Edit.
-
Nella scheda Content, toccare l'icona di configurazione:
Nella sezione Basic, selezionare Form Data Model Prefill service dall'elenco a discesa Prefill Service.
-
Toccare la casella di testo Applicant Name e toccare Edit Rules.
-
Toccare Create nella pagina Editor regole.
-
Nella pagina Rule Editor:
-
Selezionare uno stato per la casella di testo Nome candidato. Ad esempio, is initialized, che determina l'esecuzione della condizione Then quando si esegue il rendering del modulo in modalità Preview.
-
Nella sezione Then, selezionare Invoke Service dall'elenco a discesa Select Action. Tutti i servizi nell’istanza Forms vengono visualizzati nell’elenco a discesa.
-
Selezionare un servizio Get dalla sezione in cui sono elencati i modelli di dati del modulo. Nel campo Input viene visualizzato phonenumber, che è la chiave primaria definita per il modello dati candidate. Il sistema recupera e compila i valori nel modulo adattivo per i campi della sezione Output in base a questo campo.
-
Crea un’associazione per i campi del modulo adattivo con le entità del modello dati del modulo utilizzando la sezione Output. Ad esempio, associa il campo del modulo adattivo Applicant Name all'entità name.
-
Toccare Done. Tocca nuovamente Done nella pagina Editor regole.
-
-
Tocca Preview per visualizzare i valori dei campi del modulo adattivo precompilati.
note note NOTE Verificare che la proprietà Return Array sia impostata su OFF per la proprietà del servizio get nel modello di dati del modulo associato al modulo adattivo. -
Se necessario, modifica i valori dei campi e invia il modulo adattivo. I dati inviati sono disponibili nella seguente posizione nell’archivio crx:
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
Utilizza lo schema JSON come origine di dati jsondatasource
Caso d'uso: è possibile generare un modulo adattivo senza associazione dati utilizzando il servizio di Automated forms conversion (AFCS) e configurare lo schema JSON come origine dati. Associa manualmente i campi del modulo adattivo allo schema JSON e utilizza l'opzione Anteprima con dati per precompilare i valori dei campi. Se necessario, modifica i valori dei campi e invia i dati all’archivio crx.
Prima di eseguire il caso d’uso, assicurati di disporre di:
Esegui i passaggi seguenti:
-
Seleziona il modulo di richiesta di prestito di esempio convertito disponibile nella cartella output e tocca Properties.
-
Tocca la scheda Form Model, seleziona Schema dall'elenco a discesa Select From, quindi tocca Select Schema per caricare lo schema demo.schema JSON salvato nel file system locale. Tocca Save & Close per salvare il modulo.
-
Seleziona il modulo di richiesta di prestito di esempio e tocca Edit.
-
Toccare la casella di testo Nome candidato e selezionare (Configura).
Nel campo Riferimento binding, selezionare Candidato > Nome, quindi toccare per salvare le proprietà. Allo stesso modo, crea un'associazione dati per Indirizzo, Numero di telefono, Posta elettronica, Occupazione, Stipendio annuale (in dollari) e No. di familiari dipendenti campi con entità schema JSON.
-
Selezionare di nuovo il modulo di richiesta di prestito di esempio convertito disponibile nella cartella output e selezionare Preview > Preview with Data.
Scarica il file di dati di esempio
-
Se necessario, modifica i valori dei campi e invia il modulo adattivo. I dati inviati sono disponibili nella seguente posizione nell’archivio crx:
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
Utilizza lo schema XSD come origine di dati xsddatasource
Caso d'uso: è possibile generare un modulo adattivo senza associazione dati utilizzando il servizio di Automated forms conversion (AFCS) e configurare lo schema XSD come origine dati. Associare manualmente i campi del modulo adattivo allo schema XSD e utilizzare l'Anteprima con dati per precompilare i valori dei campi. Se necessario, modifica i valori dei campi e invia i dati all’archivio crx.
Prima di eseguire il caso d’uso, assicurati di disporre di:
Esegui i passaggi seguenti:
-
Selezionare il modulo di richiesta di prestito di esempio convertito disponibile nella cartella output e toccare Properties.
-
Tocca la scheda Form Model, seleziona Schema dall'elenco a discesa Select From, quindi tocca Select Schema per caricare lo schema XSD loanapplication salvato nel file system locale. Seleziona l'elemento principale per lo schema XSD e tocca Save & Close per salvare il modulo.
-
Seleziona il modulo di richiesta di prestito di esempio e tocca Edit.
-
Toccare la casella di testo Nome candidato e selezionare (Configura).
Nel campo Riferimento binding, selezionare Candidato > Nome, quindi toccare per salvare le proprietà. Allo stesso modo, crea un'associazione dati per Indirizzo, Numero di telefono, Posta elettronica, Occupazione, Stipendio annuale (in dollari) e No. di familiari dipendenti campi con entità dello schema XSD. -
Selezionare di nuovo il modulo di richiesta di prestito di esempio convertito disponibile nella cartella output e selezionare Preview > Preview with Data.
Scarica il file di dati di esempio
-
Se necessario, modifica i valori dei campi e invia il modulo adattivo. I dati inviati sono disponibili nella seguente posizione nell’archivio crx:
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
Generare moduli adattivi con binding JSON generate-adaptive-forms-with-json-binding
Utilizza il servizio di Automated forms conversion per convertire il modulo di esempio per la richiesta di prestito in un modulo adattivo con associazione dati. Assicurati di non selezionare la casella di controllo Generate adaptive form(s) without data bindings durante la generazione del modulo adattivo.
Utilizza lo schema JSON come origine di dati jsonwithdatabinding
Caso d'uso: viene generato un modulo adattivo con associazione dati JSON utilizzando il servizio di Automated forms conversion (AFCS). Il servizio di precompilazione e l’invio dei moduli funzionano senza problemi. Non è necessario alcun passaggio di configurazione.
Prima di eseguire il caso d'uso, assicurati di disporre di un modulo adattivo con associazione dati.
Esegui i passaggi seguenti:
-
Selezionare di nuovo il modulo di richiesta di prestito di esempio convertito disponibile nella cartella output e selezionare Preview > Preview with Data.
Scarica il file di dati di esempio
-
Se necessario, modifica i valori dei campi e invia il modulo adattivo. I dati inviati sono disponibili nella seguente posizione nell’archivio crx:
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
Conversione dei dati JSON del modulo adattivo inviati in formato XML convert-submitted-adaptive-form-data-to-xml
Quando immetti i valori nei campi del modulo adattivo e li invii, i dati sono disponibili in formato JSON nell’archivio crx. Puoi convertire il formato dei dati JSON in XML utilizzando l'API org.apache.sling.commons.json.xml o il seguente codice di esempio:
import org.apache.sling.commons.json.JSONException;
import org.apache.sling.commons.json.JSONObject;
import org.apache.sling.commons.json.xml.XML;
public class ConversionUtils {
public static String jsonToXML(String jsonString) throws JSONException {
//https://sling.apache.org/apidocs/sling5/org/apache/sling/commons/json/xml/XML.html#toString(java.lang.Object)
//jar - http://maven.ibiblio.org/maven2/org/apache/sling/org.apache.sling.commons.json/2.0.18/
//Note: Need to extract boundData part before converting to XML
return XML.toString(new JSONObject(jsonString));
}
}