Il servizio di automated forms conversion consente di convertire un modulo PDF non interattivo, un modulo Acro o un modulo PDF basato su XFA in un modulo adattivo. Quando si avvia il processo di conversione, è possibile generare un modulo adattivo con o senza associazioni di dati.
Se scegli di generare un modulo adattivo senza associazioni di dati, puoi integrare il modulo adattivo convertito con un modello di dati del modulo, uno schema XML o uno schema JSON dopo la conversione. Per il modello dati modulo, è necessario associare manualmente i campi del modulo adattivo al modello dati modulo. Tuttavia, se generi un modulo adattivo con associazioni di dati, il servizio di conversione associa automaticamente i moduli adattivi a uno schema JSON e crea un’associazione di dati tra i campi disponibili nel modulo adattivo e lo schema JSON. Puoi quindi integrare il modulo adattivo con un database a tua scelta, compilare i dati nel modulo e inviarlo al database. Analogamente, una volta completata l’integrazione con il database, è possibile configurare i campi nel modulo adattivo convertito per recuperare i valori dal database e precompilare i campi del modulo adattivo.
La figura seguente illustra diverse fasi dell’integrazione di un modulo adattivo convertito con un database:
Questo articolo descrive le istruzioni dettagliate per eseguire correttamente tutte queste fasi di integrazione.
Per eseguire il caso d’uso per integrare i moduli adattivi convertiti con un database utilizzando un flusso di lavoro AEM, scarica il seguente file PDF di esempio.
Puoi scaricare il modulo Contattaci di esempio utilizzando:
Il file PDF funge da input per il servizio di Automated forms conversion. Il servizio converte questo file in un modulo adattivo. Nell'immagine seguente viene illustrato il modulo Contattaci di esempio in formato PDF.
Per installare il file mysql-connector-java-5.1.39-bin.jar, su tutte le istanze di authoring e pubblicazione, effettua le seguenti operazioni:
http://server:port/system/console/depfinder
e cercare il pacchetto com.mysql.jdbc.http://server:port/system/console/bundles
e fai clic su Install/Update.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 nel database e aggiungi contatto nello schema in base ai campi disponibili nel modulo adattivo.
È possibile utilizzare la seguente istruzione DDL per creare contatto tabella nel database.
CREATE TABLE `contactus` (
`name` varchar(45) NOT NULL,
`email` varchar(45) NOT NULL,
`phonenumber` varchar(10) DEFAULT NULL,
`issuedesc` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Per creare una connessione tra l'istanza AEM e il database MYSQL, effettuare le seguenti operazioni di configurazione:
Vai alla pagina Configurazione della console web AEM all’indirizzo http://server:port/system/console/configMgr
.
Trova e fai clic per aprire Apache Sling Connection Pooled DataSource in modalità di modifica nella configurazione della console web. Specificare i valori per le proprietà come descritto nella tabella seguente:
Proprietà | Valore |
---|---|
Nome origine dati |
Nome dell'origine dati per filtrare i driver dal pool di origini dati. |
Classe driver JDBC |
com.mysql.jdbc.Driver |
URI connessione JDBC |
jdbc:mysql://[host]:[porta]/[nome_schema] |
Nome utente |
Un nome utente per autenticare ed eseguire azioni sulle tabelle del database |
Password |
Password associata al nome utente |
Isolamento transazione |
READ_COMMIT |
Numero massimo connessioni attive |
1000 |
Numero massimo di connessioni inattive |
100 |
Connessioni inattive minime |
10 |
Dimensione iniziale |
10 |
Attesa massima |
100000 |
Test su prestito |
Selezionato |
Test durante inattività |
Selezionato |
Query di convalida |
I valori di esempio sono SELECT 1(mysql), select 1 from dual(oracle), SELECT 1(MS Sql Server) (validationQuery) |
Timeout query di convalida |
10000 |
Dopo aver configurato MYSQL come origine dati, eseguire i passaggi seguenti per creare un modello dati del modulo:
Nell’istanza di authoring dell’AEM, passa a Forms > Data Integrations.
Tocca Create > Form Data Model.
In Create Form Data Model procedura guidata, specifica workflow_submit come nome del modello dati del modulo. Tocca Next.
Seleziona l’origine dati MYSQL configurata nella sezione precedente e tocca Create.
Tocca Edit ed espandi l’origine dati elencata nel riquadro a sinistra per selezionare contatto tabella, get, e insert e toccare Add Selected.
Seleziona l’oggetto modello dati nel riquadro a destra e tocca Edit Properties. Seleziona get e insert da Read Service e Write Service elenchi a discesa. Specifica gli argomenti per il servizio Read e tocca Done.
In Services , seleziona la scheda get servizio e tocco Edit Properties. Seleziona la Output Model Object, disattiva la Return array attiva e tocca Done.
Seleziona la Insert servizio e tocco Edit Properties. Seleziona la Input Model Object e tocca Done.
Tocca Save per salvare il modello dati del modulo.
Puoi scaricare il modello dati del modulo di esempio utilizzando:
Utilizza il Servizio automated forms conversion da convertire il Modulo Contattaci in un modulo adattivo con associazione dati. Assicurati di non selezionare Generate adaptive form(s) without data bindings durante la generazione del modulo adattivo.
Seleziona il file convertito Modulo Contattaci disponibile in output cartella in Forms & Documents e tocca Edit. Tocca Preview, immetti i valori nei campi del modulo adattivo e tocca Submit.
Accedi a crx-repository e passa a /content/forms/fp/admin/submit/data per visualizzare i valori inviati in formato JSON. Di seguito sono riportati i dati di esempio in formato JSON quando si invia il file convertito Contattaci modulo adattivo:
{
"afData": {
"afUnboundData": {
"data": {}
},
"afBoundData": {
"data": {
"name1": "Gloria",
"email": "abc@xyz.com",
"phone_number": "2346578965",
"issue_description": "Test message"
}
},
"afSubmissionInfo": {
"computedMetaInfo": {},
"stateOverrides": {},
"signers": {},
"afPath": "/content/dam/formsanddocuments/docs_conversion/output/sample_form_json",
"afSubmissionTime": "20191204014007"
}
}
}
È necessario creare ora un modello di flusso di lavoro in grado di elaborare questi dati e inviarli al database MYSQL utilizzando il modello dati del modulo creato nelle sezioni precedenti.
Per creare un modello di flusso di lavoro per inviare i dati del modulo adattivo al database, effettua le seguenti operazioni:
Apri la console Modelli di flusso di lavoro. L’URL predefinito è https://server:port/libs/cq/workflow/admin/console/content/models.html/etc/workflow/models
.
Seleziona Create, quindi Create Model. Il Add Workflow Model viene visualizzata.
Inserisci il Title e Name (facoltativo). Ad esempio: workflow_json_submit. Tocca Done per creare il modello.
Seleziona il modello di flusso di lavoro e tocca Edit per aprire il modello in modalità di modifica. Tocca + e aggiungi Invoke Form Data Model Service passa al modello di flusso di lavoro.
Tocca il Invoke Form Data Model Service passo e tocco .
In Form Data Model , selezionare il modello dati del modulo creato in Form Data Model path e seleziona insert dal Service elenco a discesa.
In Input for Service , seleziona Provide input data using literal, variable, or a workflow metadata, and a JSON file dall’elenco a discesa, seleziona Map input fields from input JSON , seleziona Relative to payload, e fornire data.xml come valore per Select input JSON document using campo.
In Service Arguments , fornire i seguenti valori per gli argomenti del modello dati modulo:
I campi del modello dati del modulo, ad esempio il nome del punto di contatto, sono mappati a afData.afBoundData.data.name1, che fa riferimento alle associazioni dello schema JSON per il modulo adattivo inviato.
Per inviare il modulo adattivo al modello di flusso di lavoro creato nella sezione precedente, effettua le seguenti operazioni:
Selezionare il modulo convertito Contattaci disponibile nella output cartella in Forms & Documents e tocca Edit.
Apri le proprietà del modulo adattivo toccando Form Container e quindi tocca .
In Submission sezione, seleziona Invoke an AEM workflow dal Submit Action , selezionare il modello di flusso di lavoro creato nella sezione precedente e specificare data.xml nel Data File Path campo.
Tocca per salvare le proprietà.
Tocca Preview, immetti i valori nei campi del modulo adattivo e tocca Submit. I valori inviati ora vengono visualizzati nella tabella del database MYSQL anziché crx-repository.
Esegui la procedura seguente per configurare il modulo adattivo per la precompilazione dei valori dal database MYSQL in base alla chiave primaria definita nella tabella (in questo caso, invia un messaggio e-mail):
Tocca il E-mail nel modulo adattivo e tocca .
Tocca Create e seleziona is changed dal Select State elenco a discesa nella When sezione.
In Then sezione, seleziona Invoke Service e ottenere come servizio per il modello dati del modulo creato in una sezione precedente di questo articolo.
Seleziona E-mail nel Input e gli altri tre campi del modello dati del modulo, Nome, Numero di telefono, e Descrizione problema nel Output sezione. Tocca Done per salvare le impostazioni.
Di conseguenza, in base alle voci di posta elettronica esistenti nel database MYSQL, è possibile precompilare i valori per i restanti tre campi nel Preview modalità del modulo adattivo. Ad esempio, se specifichi aya.tan@xyz.com nel E-mail (in base ai dati esistenti in Prepara modello dati modulo sezione di questo articolo) e tabulazione del campo, i restanti tre campi, Nome, Numero di telefono, e Descrizione problema viene visualizzata automaticamente nel modulo adattivo.
Puoi scaricare il modulo adattivo convertito di esempio utilizzando: