Aangepast formulier integreren met database via AEM workflow submit-forms-to-database-using-forms-portal
Met AFCS (automatede form conversion Service) 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:
In dit artikel worden de stapsgewijze instructies beschreven om al deze integratiefasen met succes uit te voeren.
Voorwaarden pre-requisites
- Een AEM 6.4- of 6.5-auteurinstantie instellen
- Installeer recentste de dienstpakvoor uw AEM instantie
- Laatste versie van het AEM Forms-invoegpakket
- Vorm de dienst van de 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:
Het PDF-bestand fungeert als invoer voor de AFCS-service (Automatede form conversion Service). De service converteert dit bestand naar een adaptief formulier. De volgende afbeelding toont de voorbeeldcontactgegevens van een formulier in PDF-indeling.
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:
- Ga naar
http://server:port/system/console/depfinder
en zoek naar het pakket com.mysql.jdbc. - 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.
- Ga naar
http://server:port/system/console/bundles
en klik op Install/Update . - Klik op Choose File en blader naar het bestand mysql-connector-java-5.1.39-bin.jar en selecteer dit. Selecteer ook de selectievakjes Start Bundle en Refresh Packages .
- Klik op Install of Update . Start de server opnieuw als de bewerking is voltooid.
- (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. Creeer een schema in het gegevensbestand en voeg contactus lijst aan het schema toe dat op de gebieden wordt gebaseerd die in de adaptieve vorm beschikbaar zijn.
U kunt de volgende verklaring gebruiken DDL om de contactus lijst in gegevensbestand tot stand te brengen.
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:
-
Ga naar AEM webconsoleconfiguratiepagina op
http://server:port/system/console/configMgr
. -
Zoek en klik om Apache Sling Connection Pooled DataSource te openen in de bewerkingsmodus in de configuratie van de webconsole. 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_name] 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:
-
Navigeer in AEM auteurinstantie naar Forms > Data Integrations .
-
Tik op Create > Form Data Model .
-
In de Create Form Data Model tovenaar, specificeer workflow_submit als naam voor het model van vormgegevens. Tik op Next .
-
Selecteer de MYSQL-gegevensbron die u in de vorige sectie hebt geconfigureerd en tik op Create .
-
Tik Edit en breid de gegevensbron uit die in de linkerruit wordt vermeld om contactus lijst, get, en insert diensten te selecteren, en te tikken Add Selected.
-
Selecteer het gegevensmodelobject in het rechterdeelvenster en tik op Edit Properties . Selecteer get en insert in de vervolgkeuzelijsten Read Service en Write Service . Geef de argumenten voor de leesservice op en tik op Done .
-
Selecteer op het tabblad Services de service get en tik op Edit Properties . Selecteer de Output Model Object , schakel de Return array -toets uit en tik Done .
-
Selecteer de service Insert en tik op Edit Properties . Selecteer Input Model Object en tik Done.
-
Tik op Save om het formuliergegevensmodel op te slaan.
U kunt het model met voorbeeldformuliergegevens downloaden:
Aangepaste formulieren genereren met JSON-binding generate-adaptive-forms-with-json-binding
Gebruik de dienst van de Automatede form conversion (AFCS) omde vorm van het Contact van Usin een adaptieve vorm met gegevensband om te zetten. Zorg ervoor dat u het selectievakje Generate adaptive form(s) without data bindings niet inschakelt tijdens het genereren van het adaptieve formulier.
Selecteer de omgezette vorm van het Contact van het Contact beschikbaar in de output omslag in Forms & Documents en tikken Edit. Tik op Preview en geef waarden op in de aangepaste formuliervelden. Tik vervolgens op Submit .
Logon aan crx-bewaarplaats en navigeer aan /content/forms/fp/admin/submit/data om de voorgelegde waarden in formaat te bekijken JSON. Het volgende is de steekproefgegevens in formaat JSON wanneer u het omgezette Aangepaste vorm van het Contact van ons voorlegt:
{
"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:
-
Open de console Workflowmodellen. De standaard-URL is
https://server:port/libs/cq/workflow/admin/console/content/models.html/etc/workflow/models
. -
Selecteer Create en vervolgens Create Model . Het dialoogvenster Add Workflow Model wordt weergegeven.
-
Voer de opties Title en Name (optioneel) in. Bijvoorbeeld, workflow_json_submit. Tik op Done om het model te maken.
-
Selecteer het workflowmodel en tik op Edit om het model te openen in de bewerkingsmodus. Tik op + en voeg Invoke Form Data Model Service -stap toe aan het workflowmodel.
-
Tik de Invoke Form Data Model Service stap en de tikken .
-
Selecteer op het tabblad Form Data Model het formuliergegevensmodel dat u in het Form Data Model path -veld hebt gemaakt en selecteer insert in de vervolgkeuzelijst Service .
-
In het Input for Service lusje, uitgezochte Provide input data using literal, variable, or a workflow metadata, and a JSON file van de drop-down lijst, selecteert Map input fields from input JSON checkbox, selecteert Relative to payload, en verstrekt data.xml als waarde voor het Select input JSON document using gebied.
-
Geef in de sectie Service Arguments de volgende waarden op voor de argumenten van het formuliergegevensmodel:
aan
Bericht dat de modelgebieden van vormgegevens, bijvoorbeeld, contactus puntnaam, aan afData.afBoundData.data.name1 in kaart wordt gebracht, die naar de JSON schemabindingen voor de voorgelegde adaptieve vorm verwijst.
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:
-
Selecteer het geconverteerde contactformulier dat beschikbaar is in de map output in Forms & Documents en tik op Edit .
-
Open adaptieve vormeigenschappen door te tikken Form Container en dan te tikken .
-
In de Submission sectie, selecteer Invoke an AEM workflow van de Submit Action drop-down lijst, selecteer het werkschemamodel dat u in de vorige sectie creeerde, en specificeer data.xml op het Data File Path gebied.
-
Tik om de eigenschappen te bewaren.
-
Tik op Preview en geef waarden op in de aangepaste formuliervelden. Tik vervolgens op Submit . De voorgelegde waarden tonen nu in de MYSQL- gegevensbestandlijst in plaats van crx-bewaarplaats.
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):
-
Tik het E-mail gebied in de adaptieve vorm en tik uit.
-
Tik Create en selecteer is changed in de vervolgkeuzelijst Select State in de sectie When .
-
In de Then sectie, uitgezochte Invoke Service en krijgen als dienst voor het model van vormgegevens dat u in een vorige sectie van dit artikel hebt gecreeerd.
-
Selecteer E-mail in de Input sectie en de rest drie gebieden van het model van vormgegevens, Naam, Aantal van de Telefoon, en Beschrijving van de Uitgave in de Output sectie. Tik op Done om de instellingen op te slaan.
Op basis van bestaande e-mailgegevens in de MYSQL-database kunt u daarom de waarden voor de overige drie velden vooraf invullen in de modus Preview van het adaptieve formulier. Bijvoorbeeld, als u aya.tan@xyz.com op het E-mail gebied (dat op bestaande gegevens in wordt gebaseerd vormt het model van vormgegevenssectie van dit artikel) en lusje uit het gebied specificeert, de rest drie gebieden, Naam, Aantal van de Telefoon, en de vertoning van de Beschrijving van de Uitgave automatisch in de adaptieve vorm.
U kunt het geconverteerde adaptieve voorbeeldformulier downloaden met: