Adaptief formulier integreren met database door middel van AEM-workflow submit-forms-to-database-using-forms-portal

Met de service automatede form conversion kunt u een niet-interactief PDF-formulier, een Acro-formulier of een XFA-formulier converteren naar een adaptief formulier. Tijdens het starten van het conversieproces kunt u een adaptief formulier genereren, met of zonder gegevensbindingen.

Als u een adaptief formulier wilt genereren zonder gegevensbindingen, kunt u het geconverteerde adaptieve formulier na conversie integreren met een formuliergegevensmodel, XML-schema of JSON-schema. Voor het formuliergegevensmodel moet u adaptieve formuliervelden handmatig binden met het formuliergegevensmodel. Als u echter een adaptief formulier genereert met gegevensbindingen, koppelt de conversieservice de adaptieve formulieren automatisch aan een JSON-schema en wordt een gegevensbinding gemaakt tussen de velden die beschikbaar zijn in het adaptieve formulier en het JSON-schema. Vervolgens kunt u het aangepaste formulier integreren met een door u gewenste database, gegevens in het formulier invullen en naar de database verzenden. Op dezelfde manier kunt u, nadat u de integratie met de database hebt voltooid, velden in het geconverteerde adaptieve formulier configureren om waarden op te halen uit de database en aangepaste formuliervelden vooraf invullen.

In de volgende afbeelding ziet u de verschillende fasen van het integreren van een geconverteerd adaptief formulier in een database:

database-integratie

In dit artikel worden de stapsgewijze instructies beschreven waarmee u al deze integratiefasen kunt uitvoeren.

Voorwaarden pre-requisites

  • Een AEM 6.4- of 6.5-auteurinstantie instellen
  • Installeren nieuwste servicepack voor uw AEM
  • Laatste versie van het AEM Forms-invoegpakket
  • Configureren automatede form conversion
  • Stel een database in. De database die wordt gebruikt in de voorbeeldimplementatie is MySQL 5.6.24. U kunt het geconverteerde adaptieve formulier echter integreren met elke gewenste database.

Monster van adaptief formulier sample-adaptive-form

Als u geconverteerde adaptieve formulieren met een AEM workflow wilt integreren in de database, downloadt u het volgende voorbeeldbestand voor de PDF.

U kunt het voorbeeld van het contactformulier downloaden met:

Bestand ophalen

Het PDF-bestand fungeert als invoer voor de service Automatede form conversion. De service converteert dit bestand naar een adaptief formulier. De volgende afbeelding toont de voorbeeldcontactgegevens van een formulier in PDF-indeling.

aanvraagformulier voor een voorbeeldlening

Het bestand mysql-connector-java-5.1.39-bin.jar installeren install-mysql-connector-java-file

Voer de volgende stappen uit, op alle auteur- en publicatieinstanties, om het bestand mysql-connector-java-5.1.39-bin.jar te installeren:

  1. Navigeren naar http://server:port/system/console/depfinder en zoek naar het pakket com.mysql.jdbc.
  2. Controleer in de kolom Geëxporteerd door of het pakket wordt geëxporteerd door een willekeurige bundel. Ga door als het pakket niet door enige bundel wordt uitgevoerd.
  3. Navigeren naar http://server:port/system/console/bundles en klik op Install/Update.
  4. Klikken Choose File en bladert u om het bestand mysql-connector-java-5.1.39-bin.jar te selecteren. Selecteer ook Start Bundle en Refresh Packages selectievakjes.
  5. Klikken Install of Update. Start de server opnieuw als de bewerking is voltooid.
  6. (Alleen Windows) Schakel de systeemfirewall van uw besturingssysteem uit.

Gegevens voorbereiden voor formuliermodel prepare-data-for-form-model

Met AEM Forms Data Integration kunt u verschillende gegevensbronnen configureren en verbinden. Nadat u een adaptief formulier hebt gegenereerd met behulp van het conversieproces, kunt u het formuliermodel definiëren op basis van een formuliergegevensmodel, XSD of een JSON-schema. U kunt een database, Microsoft Dynamics of een andere service van derden gebruiken om een formuliergegevensmodel te maken.

Deze zelfstudie gebruikt de MySQL-database als bron voor het maken van een formuliergegevensmodel. Een schema maken in de database en toevoegen contactus tabel naar het schema op basis van de velden die beschikbaar zijn in het adaptieve formulier.

Voorbeeldgegevens mysql

U kunt de volgende verklaring gebruiken DDL om tot de contactus tabel in de 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

Verbinding tussen AEM instantie en database configureren configure-connection-between-aem-instance-and-database

Voer de volgende configuratiestappen uit om een verbinding tussen AEM instantie en het gegevensbestand tot stand te brengen MYSQL:

  1. Ga naar AEM webconsoleconfiguratiepagina op http://server:port/system/console/configMgr.

  2. Zoeken en klikken om te openen Apache Sling Connection Pooled DataSource in geef wijze in de Configuratie van de Console van het Web uit. Geef de waarden voor de eigenschappen op zoals in de volgende tabel wordt beschreven:

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 8-row-2 9-row-2 10-row-2 11-row-2 12-row-2 13-row-2 14-row-2 15-row-2 html-authored
    Eigenschap Waarde
    Naam gegevensbron Een gegevensbronnaam voor het filtreren bestuurders van de gegevensbronpool.
    JDBC-stuurprogrammaklasse com.mysql.jdbc.Driver
    URI voor JDBC-verbinding jdbc//[host]:[poort]/[schema_naam]
    Gebruikersnaam Een gebruikersnaam om handelingen voor databasetabellen te verifiëren en uit te voeren
    Wachtwoord Aan de gebruikersnaam gekoppeld wachtwoord
    Transactieisolatie READ_COMTED
    Max. actieve verbindingen 1000
    Max. aantal inactieve verbindingen 100
    Min. onbelaste verbindingen 10
    Oorspronkelijke grootte 10
    Max. wachttijd 100000
    Testen op lenen Ingeschakeld
    Testen tijdens inactiviteit Ingeschakeld
    Validatiezoekopdracht Voorbeelden zijn SELECT 1(mysql), select 1 vanuit dual (oracle), SELECT 1 (MS Sql Server) (validationQuery)
    Time-out voor validatiezoekopdracht 10000

Formuliergegevensmodel maken create-form-data-model

Nadat u MYSQL als gegevensbron hebt geconfigureerd, voert u de volgende stappen uit om een formuliergegevensmodel te maken:

  1. Navigeer in AEM auteurinstantie naar Forms > Data Integrations.

  2. Tik op Create > Form Data Model.

  3. In de Create Form Data Model wizard, specificeer workflow_submit als de naam voor het formuliergegevensmodel. Tik op Next.

  4. Selecteer de MYSQL-gegevensbron die u in de vorige sectie hebt geconfigureerd en tik Create.

  5. Tikken Edit en breid de gegevensbron uit die in de linkerruit wordt vermeld om te selecteren contactus tabel, get, en insert services en tikken Add Selected.

    Voorbeeldgegevens mysql

  6. Selecteer het gegevensmodelobject in het rechtervenster en tik op Edit Properties. Selecteren get en insert van Read Service en Write Service vervolgkeuzelijsten. Geef de argumenten voor de leesservice op en tik op Done.

  7. In de Services selecteert u de get service en tikken Edit Properties. Selecteer Output Model Object, schakelt u de Return array schakelen en tikken Done.

  8. Selecteer Insert service en tikken Edit Properties. Selecteer Input Model Object en tikken Done.

  9. Tikken Save om het formuliergegevensmodel op te slaan.

U kunt het model met voorbeeldformuliergegevens downloaden:

Bestand ophalen

Aangepaste formulieren genereren met JSON-binding generate-adaptive-forms-with-json-binding

Gebruik de Omzetten van automatede form conversion de Formulier Contact met ons opnemen in een adaptief formulier met gegevensbinding. Zorg ervoor dat u de optie Generate adaptive form(s) without data bindings selectievakje tijdens het genereren van het adaptieve formulier.

Aangepaste vorm met JSON-binding

Omgezette selecteren Formulier Contact met ons opnemen beschikbaar in output map in Forms & Documents en tikken Edit. Tikken Preview, voert u waarden in de aangepaste formuliervelden in en tikt u op Submit.

Aanmelden bij crx-repository en navigeer naar /content/forms/fp/admin/submit/data om de verzonden waarden weer te geven in JSON-indeling. Hieronder volgen de voorbeeldgegevens in de JSON-indeling wanneer u de omgezette gegevens verzendt Contact opnemen adaptief formulier:

{
  "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"
    }
  }
}

U moet nu een workflowmodel maken dat deze gegevens kan verwerken en verzenden naar de MYSQL-database met behulp van het formuliergegevensmodel dat u in de vorige secties hebt gemaakt.

Een workflowmodel maken voor het verwerken van JSON-gegevens create-workflow-model

Voer de volgende stappen uit om een workflowmodel te maken voor het verzenden van de adaptieve formuliergegevens naar de database:

  1. Open de console Workflowmodellen. De standaard-URL is https://server:port/libs/cq/workflow/admin/console/content/models.html/etc/workflow/models.

  2. Selecteren Create vervolgens Create Model. De Add Workflow Model wordt weergegeven.

  3. Voer de Title en Name (optioneel). Bijvoorbeeld: workflow_json_submit. Tikken Done om het model te maken.

  4. Selecteer het workflowmodel en tik op Edit om het model te openen in de bewerkingsmodus. Tik + en voeg toe Invoke Form Data Model Service stap naar het workflowmodel.

  5. Tik op de knop Invoke Form Data Model Service stap en tik Configureren .

  6. In de Form Data Model selecteert u het formuliergegevensmodel dat u in het dialoogvenster Form Data Model path veld en selecteer insert van de Service vervolgkeuzelijst.

  7. In de Input for Service tab, selecteert u Provide input data using literal, variable, or a workflow metadata, and a JSON file in de vervolgkeuzelijst selecteert u Map input fields from input JSON selectievakje, selecteren Relative to payload en data.xml als de waarde voor de Select input JSON document using veld.

  8. In de Service Arguments de volgende waarden op voor de argumenten van het formuliergegevensmodel:

    Formuliergegevensmodelservice aanroepen

    De modelvelden van het formuliergegevensmodel, bijvoorbeeld de puntnaam van contactus, zijn toegewezen aan afData.afBoundData.data.name1, die verwijst naar de bindingen van het JSON-schema voor het ingediende adaptieve formulier.

Aangepaste formulierverzending configureren configure-adaptive-form-submission

Voer de volgende stappen uit om het aangepaste formulier te verzenden naar het workflowmodel dat u in de vorige sectie hebt gemaakt:

  1. Selecteer het geconverteerde contactformulier dat beschikbaar is in het dialoogvenster output map in Forms & Documents en tikken Edit.

  2. Eigenschappen van adaptieve formulieren openen door te tikken Form Container en tikt u vervolgens op Configureren .

  3. In de Submission sectie, selecteert u Invoke an AEM workflow van de Submit Action vervolgkeuzelijst, selecteert u het workflowmodel dat u in de vorige sectie hebt gemaakt en geeft u data.xml in de Data File Path veld.

  4. Tikken Opslaan om de eigenschappen op te slaan.

  5. Tikken Preview, voert u waarden in de aangepaste formuliervelden in en tikt u op Submit. De verzonden waarden worden nu weergegeven in de MYSQL-databasetabel in plaats van crx-repository.

Aangepast formulier configureren om waarden vooraf in te vullen vanuit de database

Voer de volgende stappen uit om adaptief formulier te configureren voor het vooraf invullen van waarden uit de MYSQL-database op basis van de primaire sleutel die in de tabel is gedefinieerd (in dit geval per e-mail):

  1. Tik op de knop E-mail veld in het adaptieve formulier en tik Regel bewerken .

  2. Tikken Create en selecteert u is changed van de Select State vervolgkeuzelijst in het dialoogvenster When sectie.

  3. In de Then sectie, selecteert u Invoke Service en get als de service voor het formuliergegevensmodel dat u in een vorige sectie van dit artikel hebt gemaakt.

  4. Selecteren E-mail in de Input en de overige drie velden van het formuliergegevensmodel, Naam, Telefoonnummer, en Probleembeschrijving in de Output sectie. Tikken Done om de instellingen op te slaan.

    Voorinstellingen voor e-mail configureren

    Als gevolg hiervan kunt u op basis van bestaande e-mailadressen in de MYSQL-database de waarden voor de overige drie velden vooraf invullen in de Preview modus van het adaptieve formulier. Als u bijvoorbeeld aya.tan@xyz.com opgeeft in het dialoogvenster E-mail veld (gebaseerd op bestaande gegevens in Formuliergegevensmodel voorbereiden (deel van dit artikel) en de overige drie velden met een tab uit het veld; Naam, Telefoonnummer, en Probleembeschrijving automatisch in het adaptieve formulier worden weergegeven.

U kunt het geconverteerde adaptieve voorbeeldformulier downloaden met:

Bestand ophalen

recommendation-more-help
c40c2ccf-3d1b-4b47-b158-c4646051b46c