Show Menu
ARGOMENTI×

Integrazione di un modulo adattivo con un database tramite il flusso di lavoro AEM

Il servizio di conversione automatizzata dei moduli consente di convertire un modulo PDF non interattivo, un modulo Acrobat 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:
Questo articolo descrive le istruzioni dettagliate per eseguire correttamente tutte queste fasi di integrazione.

Prerequisiti

  • Configurazione di un’istanza di creazione AEM 6.4 o 6.5
  • Installa il service pack aem-releases-updates.html più recente per l’istanza di AEM
  • Ultima versione del pacchetto del componente aggiuntivo AEM Forms
  • Configurare il servizio di conversione automatizzata dei moduli
  • 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 tramite un flusso di lavoro AEM, scaricate il seguente file PDF di esempio.
È possibile scaricare il modulo Contattaci di esempio utilizzando:
Il file PDF funge da input per il servizio di conversione automatizzata dei moduli. Il servizio converte questo file in un modulo adattivo. Nell'immagine seguente è illustrato l'esempio di modulo di contatto in formato PDF.

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. Individuate 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. Passate a http://server:port/system/console/bundles e fate clic su Install/Update .
  4. Fate clic su Choose File e individuate il file mysql-Connector-java-5.1.39-bin.jar. Inoltre, selezionare Start Bundle e Refresh Packages le caselle di controllo.
  5. Fate clic 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

AEM Forms Data Integration 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 dei contatti allo schema in base ai campi disponibili nel modulo adattivo.
È possibile utilizzare la seguente istruzione DDL per creare la tabella di contatto 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 l’istanza AEM e il database

Per creare una connessione tra l’istanza AEM e il database MYSQL, effettuate i seguenti passaggi di configurazione:
  1. Andate alla pagina Configurazione console Web di AEM 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 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

Create form data model

Una volta configurato MYSQL come origine dati, eseguire i seguenti passaggi per creare un modello dati del modulo:
  1. Nell’istanza di creazione di AEM, andate a Forms > Data Integrations .
  2. Toccare Create > Form Data Model .
  3. Nella Create Form Data Model procedura guidata, 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 di contatto , get e insert i servizi, quindi toccate Add Selected .
  6. Selezionare l'oggetto modello dati nel riquadro a destra e toccare Edit Properties . Selezionare get e insert dagli elenchi a Read Service discesa e Write Service viceversa. Specificare gli argomenti per il servizio di lettura e toccare Done .
  7. Nella Services scheda, selezionate il get servizio e toccate Edit Properties . Selezionate l’ Output Model Object , disattivate l’ Return array interruttore e toccate Done .
  8. Selezionate il Insert servizio e toccate Edit Properties . Seleziona il Input Model Object pulsante e tocca Done .
  9. Toccare Save per salvare il modello dati del modulo.
È possibile scaricare il modello dati modulo di esempio utilizzando:

Generazione di moduli adattivi con binding JSON

Utilizzare il servizio di conversione automatizzata dei moduli per convertire il modulo Esempio di modulo adattivo Contatti in un modulo adattivo con binding dei dati. Assicurarsi di non selezionare la Generate adaptive form(s) without data bindings casella di controllo durante la generazione del modulo adattivo.
Selezionate il modulo ​Contattaci convertito, disponibile nella output cartella Forms & Documents e toccate Edit . Toccate Preview , immettete i valori nei campi modulo adattivi 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. Selezionate Create , quindi Create Model . Viene visualizzata Add Workflow Model la finestra di dialogo.
  3. Inserite il valore 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 Invoke Form Data Model Service il passaggio al modello di workflow.
  5. Toccate il Invoke Form Data Model Service passaggio e toccate .
  6. Nella Form Data Model scheda, selezionare il modello dati del modulo creato nel Form Data Model path campo e selezionare insert dall'elenco a Service discesa.
  7. Nella Input for Service scheda, selezionare Provide input data using literal, variable, or a workflow metadata, and a JSON file dall'elenco a discesa, selezionare la Map input fields from input JSON casella di controllo, selezionare Relative to payload e fornire data.xml come valore per il Select input JSON document using campo.
  8. Nella Service Arguments sezione, fornire i seguenti valori per gli argomenti del modello dati del 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 di moduli adattivi

Per inviare il modulo adattivo al modello di flusso di lavoro creato nella sezione precedente, eseguite i seguenti passaggi:
  1. Selezionate il modulo Contattaci convertito, disponibile nella output cartella in Forms & Documents e toccate Edit .
  2. Per aprire le proprietà del modulo adattivo, toccate Form Container e toccate .
  3. Nella Submission sezione, selezionate Invoke an AEM workflow dall'elenco a Submit Action discesa, selezionate il modello di workflow creato nella sezione precedente e specificate data.xml nel Data File Path campo.
  4. Toccate per salvare le proprietà.
  5. Toccate Preview , immettete i valori nei campi modulo adattivi e toccate Submit . I valori inviati ora vengono visualizzati nella tabella del database MYSQL invece che nel repository crx.

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 .
  2. Toccate Create e selezionate is changed dall'elenco a Select State discesa nella When sezione.
  3. Nella Then sezione, selezionare Invoke Service e ottenere come servizio per il modello dati modulo creato in una sezione precedente di questo articolo.
  4. Selezionare E-mail nella Input sezione e gli altri tre campi del modello dati del modulo, Nome , Numero ​telefono e Descrizione ​problema nella Output sezione. Tap Done to save the settings.
    Di conseguenza, in base alle voci di posta elettronica esistenti nel database MYSQL, è possibile precompilare i valori per gli altri tre campi nella Preview modalità del modulo adattivo. Ad esempio, se si specifica aya.tan@xyz.com nel campo E-mail (basato su dati esistenti nella sezione Prepara modello dati modulo di questo articolo) e si esce dal campo, gli altri tre campi, Nome , Numero ​telefono e Descrizione ​problema vengono visualizzati automaticamente nel modulo adattivo.
È possibile scaricare il modulo adattivo convertito di esempio utilizzando: