Integrazione del modulo adattivo con il database utilizzando workflow AEM

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 binding dei dati.

Se si sceglie di generare un modulo adattivo senza binding dei dati, è possibile integrare il modulo adattivo convertito con un modello dati modulo, uno schema XML o uno schema JSON dopo la conversione. Per il modello dati del modulo, è necessario associare manualmente i campi modulo adattivi al modello dati del modulo. Tuttavia, se si genera un modulo adattivo con binding dei dati, il servizio di conversione associa automaticamente i moduli adattivi a uno schema JSON e crea un binding dei dati tra i campi disponibili nel modulo adattivo e nello schema JSON. È quindi possibile integrare il modulo adattivo con un database di propria scelta, compilare i dati del modulo e inviarlo al database. Analogamente, dopo l'integrazione con il database, è possibile configurare i campi del 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:

integrazione del database

Questo articolo descrive le istruzioni dettagliate per eseguire correttamente tutte queste fasi di integrazione.

Prerequisiti

  • Impostazione di un’istanza di creazione AEM 6.4 o 6.5
  • Installare l'ultimo service pack per l'istanza AEM
  • Ultima versione del pacchetto del componente aggiuntivo AEM Forms
  • Configurare il servizio di Automated forms conversion
  • Configurare un database. Il database utilizzato nell'implementazione di esempio è MySQL 5.6.24. Tuttavia, è possibile integrare il modulo adattivo convertito con qualsiasi database di propria scelta.

Esempio di modulo adattivo

Per eseguire l'esempio di utilizzo per integrare moduli adattivi convertiti nel database utilizzando un flusso di lavoro AEM, scaricare il seguente file PDF di esempio.

È possibile scaricare il modulo Contattaci di esempio utilizzando:

Ottieni file

Il file PDF funge da input per il servizio Automated forms conversion. Il servizio converte questo file in un modulo adattivo. Nell'immagine seguente è illustrato l'esempio di modulo di contatto in formato PDF.

modulo di richiesta di prestito di esempio

Installare il file mysql-Connector-java-5.1.39-bin.jar

Per installare il file mysql-Connector-java-5.1.39-bin.jar, eseguite i seguenti passaggi su tutte le istanze di creazione e pubblicazione:

  1. Andate a http://server:port/system/console/depfinder e cercate il pacchetto com.mysql.jdbc.
  2. Nella colonna Esportato da, verificate che il pacchetto sia esportato da un pacchetto qualsiasi. Continuate se il pacchetto non viene esportato da alcun bundle.
  3. Passare a http://server:port/system/console/bundles e fare clic su Install/Update.
  4. Fate clic su Choose File e selezionate il file mysql-Connector-java-5.1.39-bin.jar. Selezionare inoltre le caselle di controllo Start Bundle e Refresh Packages.
  5. Fare clic su Install o Update. Al termine, riavviare il server.
  6. (Solo Windows) Disattivate il firewall di sistema del sistema operativo in uso.

Preparare i dati per il modello di modulo

Integrazione dei dati AEM Forms consente di configurare e connettersi a origini dati diverse. Dopo aver generato un modulo adattivo utilizzando il processo di conversione, è possibile definire il modello di modulo in base a un modello dati del modulo, a uno schema XSD o JSON. È possibile utilizzare un database, Microsoft Dynamics o qualsiasi altro servizio di terze parti per creare un modello dati del modulo.

Questa esercitazione utilizza il database MySQL come origine per creare un modello dati del modulo. Create uno schema nel database e aggiungete la tabella contactus allo schema in base ai campi disponibili nel modulo adattivo.

Dati di esempio mysql

È possibile utilizzare la seguente istruzione DDL per creare la tabella contactus 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

Configurare la connessione tra AEM'istanza e il database

Per creare una connessione tra AEM'istanza e il database MYSQL, eseguire i seguenti passaggi di configurazione:

  1. Vai AEM pagina Configurazione console Web all'indirizzo http://server:port/system/console/configMgr.

  2. Trova e fai clic per aprire Apache Sling Connection Pooled DataSource in modalità di modifica nella configurazione della console Web. Specificare i valori delle proprietà come descritto nella tabella seguente:

    Proprietà Valore

    Nome origine dati

    Nome 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 l'autenticazione e l'esecuzione di azioni sulle tabelle del database

    Password

    Password associata al nome utente

    Isolamento transazione

    READ_COMMTED

    Numero massimo di connessioni attive

    1000

    Numero massimo di connessioni inattive

    100

    Connessioni con inattività minima

    10

    Dimensione iniziale

    10

    Max

    100000

    Test di credito

    Selezionato

    Test while Idle

    Selezionato

    Query 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

Crea modello dati modulo

Una volta configurato MYSQL come origine dati, eseguire i seguenti passaggi per creare un modello dati modulo:

  1. Nell'istanza di AEM autore, andate a Forms > Data Integrations.

  2. Toccare Create > Form Data Model.

  3. Nella procedura guidata Create Form Data Model, specificare workflow_submit come nome per il modello dati del modulo. Toccare Next.

  4. Selezionare l'origine dati MYSQL configurata nella sezione precedente e toccare Create.

  5. Toccate Edit ed espandete l'origine dati elencata nel riquadro a sinistra per selezionare la tabella contactus, get e i servizi insert, quindi toccate Add Selected.

    Dati di esempio mysql

  6. Selezionare l'oggetto modello dati nel riquadro a destra e toccare Edit Properties. Selezionare get e insert dagli elenchi a discesa Read Service e Write Service. Specificare gli argomenti per il servizio di lettura e toccare Done.

  7. Nella scheda Services, selezionare il servizio get e toccare Edit Properties. Selezionare la Output Model Object, disabilitare l'interruttore Return array e toccare Done.

  8. Selezionare il servizio Insert e toccare Edit Properties. Selezionare il Input Model Object e toccare Done.

  9. Toccare Save per salvare il modello dati del modulo.

È possibile scaricare il modello dati modulo di esempio utilizzando:

Ottieni file

Generazione di moduli adattivi con binding JSON

Utilizzare il servizio Automated forms conversion per convertire il modulo Contatti in un modulo adattivo con binding dei dati. Assicurarsi di non selezionare la casella di controllo Generate adaptive form(s) without data bindings durante la generazione del modulo adattivo.

Modulo adattivo con binding JSON

Selezionare il modulo Contatti convertito disponibile nella cartella output in Forms & Documents e toccare Edit. Toccate Preview, immettete i valori nei campi modulo adattivo e toccate Submit.

Accedete a crx-repository e andate 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 modulo adattivo Contact Us convertito:

{
  "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 un modello di workflow che possa elaborare i dati e inviarli al database MYSQL utilizzando il modello dati modulo creato nelle sezioni precedenti.

Creare un modello di workflow per l'elaborazione dei dati JSON

Per creare un modello di workflow per l'invio dei dati del modulo adattivo al database, eseguire la procedura seguente:

  1. Aprite la console Modelli di workflow. L'URL predefinito è https://server:port/libs/cq/workflow/admin/console/content/models.html/etc/workflow/models.

  2. Selezionare Create, quindi Create Model. Viene visualizzata la finestra di dialogo Add Workflow Model.

  3. Immettere Title e Name (facoltativo). Ad esempio, workflow_json_submit. Toccate Done per creare il modello.

  4. Selezionate il modello di workflow e toccate Edit per aprire il modello in modalità di modifica. Toccate + e aggiungete il passaggio Invoke Form Data Model Service al modello di workflow.

  5. Toccate il passaggio Invoke Form Data Model Service e toccate Configura.

  6. Nella scheda Form Data Model, selezionare il modello dati del modulo creato nel campo Form Data Model path, quindi selezionare insert dall'elenco a discesa Service.

  7. Nella scheda Input for Service, selezionare Provide input data using literal, variable, or a workflow metadata, and a JSON file dall'elenco a discesa, selezionare la casella di controllo Map input fields from input JSON, selezionare Relative to payload e fornire data.xml come valore per il campo Select input JSON document using.

  8. Nella sezione Service Arguments, fornire i seguenti valori per gli argomenti del modello dati del modulo:

    Richiama il servizio del modello di dati modulo

    Tenere presente che i campi del modello dati del modulo, ad esempio il nome del punto di contatto, sono mappati su afData.afBoundData.data.name1, che fa riferimento ai binding dello schema JSON per il modulo adattivo inviato.

Configurare l'invio del modulo adattivo

Per inviare il modulo adattivo al modello di flusso di lavoro creato nella sezione precedente, eseguite i seguenti passaggi:

  1. Selezionare il modulo Contatti convertito disponibile nella cartella output in Forms & Documents e toccare Edit.

  2. Aprire le proprietà del modulo adattivo toccando Form Container, quindi toccando Configura.

  3. Nella sezione Submission, selezionare Invoke an AEM workflow dall'elenco a discesa Submit Action, selezionare il modello di workflow creato nella sezione precedente e specificare data.xml nel campo Data File Path.

  4. Toccate Salva per salvare le proprietà.

  5. Toccate Preview, immettete i valori nei campi modulo adattivo e toccate Submit. I valori inviati ora vengono visualizzati nella tabella del database MYSQL invece di crx-repository.

Configurare il modulo adattivo per precompilare i valori dal database

Per configurare il modulo adattivo per la precompilazione dei valori del database MYSQL in base alla chiave primaria definita nella tabella, eseguire la procedura seguente (in questo caso, E-mail):

  1. Toccate il campo E-mail nel modulo adattivo e toccate Modifica regola.

  2. Toccate Create e selezionate is changed dall'elenco a discesa Select State nella sezione When.

  3. Nella sezione Then, selezionare Invoke Service e get come servizio per il modello dati modulo creato in una sezione precedente di questo articolo.

  4. Selezionare E-mail nella sezione Input e gli altri tre campi del modello dati modulo, Nome, Numero di telefono e Descrizione problema nella sezione Output. Toccate Done per salvare le impostazioni.

    Configurare le impostazioni di precompilazione e-mail

    Di conseguenza, in base alle voci E-mail esistenti nel database MYSQL, è possibile precompilare i valori per gli altri tre campi nella modalità Preview del modulo adattivo. Ad esempio, se si specifica aya.tan@xyz.com nel campo E-mail (basato sui dati esistenti nella sezione Prepara modello dati modulo di questo articolo) e si seleziona il campo, vengono visualizzati i tre campi rimanenti, Nome, Numero di telefono e Descrizione problema automaticamente nel modulo adattivo.

È possibile scaricare il modulo adattivo convertito di esempio utilizzando:

Ottieni file

In questa pagina

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free