Rekommenderade arbetsflöden för förifyllnad och inskickning av datakällor för anpassningsbara formulär recommended-data-source-btased-prefill-and-submit-workflows-for-adaptive-forms
Du kan använda någon av följande datakällor med adaptiva formulär som har konverterats med tjänsten Automated forms conversion (AFCS):
- Formulärdatamodell, OData eller någon annan tredjepartstjänst
- JSON-schema
- XSD-schema
Baserat på datakällan kan du välja att generera ett anpassningsbart formulär med eller utan en datamodell.
I den här artikeln beskrivs de rekommenderade arbetsflödena för att förifylla fältvärden och skicka-alternativ efter att du har valt en datakälla och genererat ett anpassat formulär med hjälp av konverteringstjänsten.
Mer information om tjänsten Automated forms conversion (AFCS) finns i följande artiklar:
Informationen i den här artikeln bygger på antagandet att alla som läser den har grundläggande kunskaper i adaptiva formulärkoncept.
Krav pre-requisites
- Konfigurera en AEM författarinstans
- Konfigurera Automated forms conversion service (AFCS) på AEM författarinstans
Exempel på anpassningsbart formulär sample-adaptive-form
Om du vill köra användningsexemplen för att förifylla fältvärden i ett adaptivt formulär och skicka dem till datakällan hämtar du följande exempelfil i PDF.
Exempelblankett för låneansökan
Filen PDF fungerar som indata till tjänsten Automated forms conversion (AFCS). Tjänsten konverterar den här filen till ett anpassat formulär. Följande bild visar låneansökan i PDF-format.
Förbered data för formulärmodellen prepare-data-for-form-model
Med AEM Forms dataintegrering kan du konfigurera och ansluta till olika datakällor. När du har genererat ett anpassat formulär med konverteringsprocessen kan du definiera formulärmodellen baserat på en formulärdatamodell, XSD eller ett JSON-schema. Du kan använda en databas, Microsoft Dynamics eller någon annan tredjepartstjänst för att skapa en formulärdatamodell.
I den här självstudien används MySQL-databasen som källa för att skapa en formulärdatamodell. Skapa en lånprogram schema i databasen och lägg till en sökande till schemat baserat på de fält som är tillgängliga i det adaptiva formuläret.
Du kan använda följande DDL-programsats för att skapa sökande tabellen i databasen.
CREATE TABLE `applicant` (
`name` varchar(45) DEFAULT NULL,
`address` varchar(45) DEFAULT NULL,
`phonenumber` int(11) NOT NULL,
`email` varchar(45) DEFAULT NULL,
`occupation` varchar(45) DEFAULT NULL,
`annualsalary` varchar(45) DEFAULT NULL,
`familymembers` int(11) DEFAULT NULL,
PRIMARY KEY (`phonenumber`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Om du använder ett XSD-schema som formulärmodell för att köra användningsexemplen skapar du en XSD-fil med följande text:
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace="http://adobe.com/sample.xsd"
xmlns="http://adobe.com/sample.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="sample" type="SampleType"/>
<xs:complexType name="SampleType">
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
<xs:element name="phonenumber" type="xs:int"/>
<xs:element name="email" type="xs:string"/>
<xs:element name="occupation" type="xs:string"/>
<xs:element name="annualsalary" type="xs:string"/>
<xs:element name="familymembers" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
Eller hämta XSD-schemat till det lokala filsystemet.
Exempel på XSD-schema för låneansökan
Mer information om hur du använder XSD-schema som formulärmodell i adaptiva formulär finns i Skapa anpassningsbara formulär med XML-schema.
Om du använder ett JSON-schema som formulärmodell för att köra användningsfallen, skapar du en JSON-fil med följande text:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"definitions": {
"loanapplication": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "string"
},
"phonenumber": {
"type": "number"
},
"email": {
"type": "string"
},
"occupation": {
"type": "string"
},
"annualsalary": {
"type": "string"
},
"familymembers": {
"type": "number"
}
}
}
},
"type": "object",
"properties": {
"employee": {
"$ref": "#/definitions/loanapplication"
}
}
}
Eller hämta JSON-schemat till det lokala filsystemet.
Exempelschema för låneansökan - JSON
Mer information om hur du använder JSON-schema som formulärmodell i adaptiva formulär finns i Skapa anpassningsbara formulär med JSON-schema.
Generera anpassningsbara formulär utan databindning generate-adaptive-forms-with-no-data-binding
Använd Tjänsten automated forms conversion som ska konverteras den exempelformulär för låneansökan till en anpassningsbar form utan databindning. Se till att du väljer Generate adaptive form(s) without data bindings om du vill generera ett anpassat formulär utan databindning.
När du har genererat ett anpassat formulär utan databindning väljer du en datakälla för det anpassningsbara formuläret:
Använd databas, OData eller någon tredjepartstjänst som datakälla sqldatasource
Användningsfall: Du genererar ett adaptivt formulär utan databindning med tjänsten Automated forms conversion (AFCS) och konfigurerar MYSQL-databasen som datakälla. Du binder adaptiva formulärfält till formulärdatamodellenheter manuellt och använder Form Data Model Prefill Service för att fylla i fältvärden i förväg. Du använder Submit using Form Data Model möjlighet att skicka in det anpassningsbara formuläret.
Innan användningsexemplet körs:
Baserat på användningsfallet skapar du lånprogram formulärdatamodell och bind lästjänstargument till en Literal värde. Det literala värdet för telefonnummer måste vara en av posterna som konfigurerats i sökande schema för MySQL-databasen. Tjänsterna använder värdet som argument för att hämta information från datakällan. Du kan också välja Attribut eller attribut för användarprofil från Binding To listruta
Utför följande steg:
-
Markera de konverterade exempelformulär för låneansökan finns i output mapp och tryck Properties.
-
Tryck på Form Model flik, välja Form Data Model från Select From nedrullningsbar lista och tryck Select Form Data Model för att välja lånprogram formulärdatamodell. Tryck Save & Close för att spara formuläret.
-
Välj exempelformulär för låneansökan och knacka Edit.
-
I Content trycker du på konfigurationsikonen:
-
I Basic avsnitt, markera Form Data Model Prefill service från Prefill Service listruta.
-
I Submission avsnitt, markera Submit using Form Data Model från Submit Action listruta.
-
Markera datamodellen med Data Model to submit fält.
-
Tryck
-
-
Tryck på textrutan Sökandes namn och välj
- I fältet Bindningsreferens väljer du Sökande > Namn och trycka
- I fältet Bindningsreferens väljer du Sökande > Namn och trycka
-
Tryck Preview om du vill visa förfyllda värden för anpassade formulärfält.
-
Ändra fältvärdena, om det behövs, och skicka det anpassade formuläret. Fältvärdena skickas till MySQL-databasen. Du kan uppdatera sökande i databasen för att visa de uppdaterade värdena i tabellen.
Användningsfall: Du genererar ett adaptivt formulär utan databindning med tjänsten Automated forms conversion (AFCS) och konfigurerar MYSQL-databasen som datakälla. Du binder de adaptiva formulärfälten med regelredigeraren till förifyllda fältvärden. Ändra fältvärdena, om det behövs, och skicka data till crx-databasen.
Utför följande steg för att använda regelredigerare anropa datamodelltjänst för formulär för att binda fält och förifyllda värden i ett anpassat formulär:
-
Välj exempelformulär för låneansökan i output mapp och tryck Edit.
-
I Content trycker du på konfigurationsikonen:
I Basic avsnitt, markera Form Data Model Prefill service från Prefill Service listruta.
-
Tryck på Applicant Name textruta och tryck Edit Rules.
-
Tryck Create på regelredigeringssidan.
-
På Rule Editor sida:
-
Välj ett tillstånd för textrutan Sökandes namn. Till exempel: is initialized, vilket leder till att Then villkor när du återger formuläret i Preview läge.
-
I Then avsnitt, markera Invoke Service från Select Action listruta. Alla tjänster på din Forms-instans visas i listrutan.
-
Välj en Get tjänst från avsnittet med formulärdatamodeller. Indatafältet visas telefonnummer, som är primärnyckeln som definieras för sökande datamodell. Systemet hämtar och fyller i förväg i värdena i det anpassade formuläret för fält i utdataavsnittet baserat på det här fältet.
-
Skapa en bindning för anpassade formulärfält med formulärdatamodellenheter med hjälp av avsnittet Utdata. Bindning Applicant Name anpassat formulärfält med name enhet.
-
Tryck på Done. Tryck Done igen på sidan Regelredigeraren.
-
-
Tryck Preview om du vill visa förfyllda värden för anpassade formulärfält.
note note NOTE Se till att Return Array Egenskapen är inställd på AV för get service-egenskap i formulärdatamodellen som är kopplad till det adaptiva formuläret. -
Ändra fältvärdena, om det behövs, och skicka det anpassade formuläret. De data som skickas finns på följande plats i crx-databasen:
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
Använd JSON-schema som datakälla jsondatasource
Användningsfall: Du genererar ett adaptivt formulär utan databindning med tjänsten Automated forms conversion (AFCS) och konfigurerar JSON-schemat som datakälla. Du binder adaptiva formulärfält till JSON-schemat manuellt och använder Förhandsgranska med data för att fylla i fältvärden i förväg. Ändra fältvärdena, om det behövs, och skicka data till crx-databasen.
Kontrollera att du har:
Utför följande steg:
-
Markera de konverterade exempelformulär för låneansökan finns i output mapp och tryck Properties.
-
Tryck på Form Model flik, välja Schema från Select From nedrullningsbar lista och tryck Select Schema för att överföra demo.schema JSON schemat har sparats i det lokala filsystemet. Tryck Save & Close för att spara formuläret.
-
Välj exempelformulär för låneansökan och knacka Edit.
-
Tryck på textrutan Sökandes namn och välj
I fältet Bindningsreferens väljer du Sökande > Namn och trycka
-
Markera de konverterade exempelformulär för låneansökan finns i output mapp igen och välj Preview > Preview with Data.
Hämta exempeldatafil
-
Ändra fältvärdena, om det behövs, och skicka det anpassade formuläret. De data som skickas finns på följande plats i crx-databasen:
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
Använd XSD-schema som datakälla xsddatasource
Användningsfall: Du genererar ett adaptivt formulär utan databindning med tjänsten Automated forms conversion (AFCS) och konfigurerar XSD-schemat som datakälla. Du binder adaptiva formulärfält till XSD-schemat manuellt och använder Förhandsgranska med data till förifyllda fältvärden. Ändra fältvärdena, om det behövs, och skicka data till crx-databasen.
Kontrollera att du har:
Utför följande steg:
-
Markera de konverterade exempelformulär för låneansökan finns i output mapp och tryck Properties.
-
Tryck på Form Model flik, välja Schema från Select From nedrullningsbar lista och tryck Select Schema för att överföra lånprogram XSD-schema har sparats i det lokala filsystemet. Välj rotelementet för XSD-schemat och tryck på Save & Close för att spara formuläret.
-
Välj exempelformulär för låneansökan och knacka Edit.
-
Tryck på textrutan Sökandes namn och välj
I fältet Bindningsreferens väljer du Sökande > Namn och trycka -
Markera de konverterade exempelformulär för låneansökan finns i output mapp igen och välj Preview > Preview with Data.
Hämta exempeldatafil
-
Ändra fältvärdena, om det behövs, och skicka det anpassade formuläret. De data som skickas finns på följande plats i crx-databasen:
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
Generera anpassningsbara formulär med JSON-bindning generate-adaptive-forms-with-json-binding
Använd Automated forms conversion-tjänst (AFCS) som ska konverteras den exempelformulär för låneansökan till en anpassningsbar form med databindning. Se till att du inte väljer Generate adaptive form(s) without data bindings när du genererar det anpassade formuläret.
Använd JSON-schema som datakälla jsonwithdatabinding
Användningsfall: Du genererar ett anpassningsbart formulär med JSON-databindning med tjänsten Automated forms conversion (AFCS). Förifyllningstjänsten och funktionen för att skicka formulär fungerar smidigt. Du behöver inte utföra några konfigurationssteg.
Kontrollera att du har ett anpassningsbart formulär med databindning.
Utför följande steg:
-
Markera de konverterade exempelformulär för låneansökan finns i output mapp igen och välj Preview > Preview with Data.
Hämta exempeldatafil
-
Ändra fältvärdena, om det behövs, och skicka det anpassade formuläret. De data som skickas finns på följande plats i crx-databasen:
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
Konvertera inskickade JSON-data från adaptiva formulär till XML-format convert-submitted-adaptive-form-data-to-xml
När du anger värden i anpassningsbara formulärfält och skickar dem är data tillgängliga i JSON-format i crx-databasen. Du kan konvertera formatet JSON-data till XML med hjälp av org.apache.sling.Commons.json.xml API eller följande exempelkod:
import org.apache.sling.commons.json.JSONException;
import org.apache.sling.commons.json.JSONObject;
import org.apache.sling.commons.json.xml.XML;
public class ConversionUtils {
public static String jsonToXML(String jsonString) throws JSONException {
//https://sling.apache.org/apidocs/sling5/org/apache/sling/commons/json/xml/XML.html#toString(java.lang.Object)
//jar - http://maven.ibiblio.org/maven2/org/apache/sling/org.apache.sling.commons.json/2.0.18/
//Note: Need to extract boundData part before converting to XML
return XML.toString(new JSONObject(jsonString));
}
}