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 tjänsten Automated forms conversion (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 ett låneprogram-schema i databasen och lägg till en sökande-tabell i schemat baserat på de fält som är tillgängliga i det adaptiva formuläret.
Du kan använda följande DDL-sats för att skapa tabellen sökande 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 adaptiva 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 adaptiva 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 för att konvertera exempellåneansökningsformuläret 🔗 till ett anpassningsbart formulär utan databindning. Kontrollera att du markerar kryssrutan Generate adaptive form(s) without data bindings för att generera det adaptiva formuläret 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 de adaptiva formulärfälten till entiteter i formulärdatamodellen manuellt och använder alternativet Form Data Model Prefill Service för att fylla i fältvärden i förväg. Du använder alternativet Submit using Form Data Model för att skicka det adaptiva formuläret.
Innan användningsexemplet körs:
Baserat på användningsfallet skapar du formulärdatamodellen loanapplication och binder lästjänstargumentet till ett Literal-värde. Det literala värdet för telefonnummer måste vara en av de poster som konfigurerats i schemat sökande i 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 Användarprofilattribut eller Begär attribut i listrutan Binding To
Utför följande steg:
-
Välj det konverterade exempelformuläret för låneansökan i mappen output och tryck sedan på Properties.
-
Tryck på fliken Form Model, välj Form Data Model i listrutan Select From och tryck på Select Form Data Model för att välja formulärdatamodellen loanapplication. Tryck på Save & Close för att spara formuläret.
-
Välj exempellåneansökningsformuläret och tryck på Edit.
-
Tryck på konfigurationsikonen på fliken Content:
-
I avsnittet Basic väljer du Form Data Model Prefill service i listrutan Prefill Service.
-
I avsnittet Submission väljer du Submit using Form Data Model i listrutan Submit Action.
-
Markera datamodellen med fältet Data Model to submit.
-
Tryck på ikonen
-
-
Tryck på textrutan Sökandes namn och välj
- I fältet Bindningsreferens väljer du Sökande > Namn och trycker på ikonen
- I fältet Bindningsreferens väljer du Sökande > Namn och trycker på ikonen
-
Tryck på Preview för att visa de förfyllda anpassningsbara formulärfältsvärdena.
-
Ändra fältvärdena, om det behövs, och skicka det anpassade formuläret. Fältvärdena skickas till MySQL-databasen. Du kan uppdatera tabellen 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 regelredigeraren för att anropa formulärdatamodelltjänsten för att binda fält och förifyllda värden i ett anpassat formulär:
-
Markera exempelformuläret för låneansökan i mappen output och tryck på Edit.
-
Tryck på konfigurationsikonen på fliken Content:
I avsnittet Basic väljer du Form Data Model Prefill service i listrutan Prefill Service.
-
Tryck på textrutan Applicant Name och tryck på Edit Rules.
-
Tryck på Create på sidan Regelredigerare.
-
På sidan Rule Editor:
-
Välj ett tillstånd för textrutan Sökandes namn. Till exempel is initialized, vilket resulterar i körning av villkoret Then när du återger formuläret i läget Preview.
-
I avsnittet Then väljer du Invoke Service i listrutan Select Action. Alla tjänster på din Forms-instans visas i listrutan.
-
Välj en Get-tjänst i det avsnitt som innehåller formulärdatamodeller. Indatafältet visar phonenumber, som är den primära nyckel som definierats för datamodellen sökande. 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. Du kan t.ex. binda det adaptiva formulärfältet Applicant Name till entiteten name.
-
Tryck på Done. Tryck på Done igen på sidan Regelredigerare.
-
-
Tryck på Preview för att visa de förfyllda anpassningsbara formulärfältsvärdena.
note note NOTE Kontrollera att egenskapen Return Array är inställd på AV för tjänstegenskapen get i formulärdatamodellen som är associerad med 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 de adaptiva formulärfälten till JSON-schemat manuellt och använder alternativet 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 det konverterade exempellåneansökningsformuläret som finns i mappen output och tryck sedan på Properties.
-
Tryck på fliken Form Model, välj Schema i listrutan Select From och tryck på Select Schema för att överföra det demo.schema-JSON-schema som sparats i det lokala filsystemet. Tryck på Save & Close för att spara formuläret.
-
Välj exempellåneansökningsformuläret och tryck på Edit.
-
Tryck på textrutan Sökandes namn och välj
I fältet Bindningsreferens väljer du Sökande > Namn och trycker på ikonen
-
Markera det konverterade exempellåneansökningsformuläret som finns i mappen output igen och välj Preview > Preview with Data.
Hämta exempeldatafilen
-
Ä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 de adaptiva formulärfälten till XSD-schemat manuellt och använder Förhandsgranska med data för att förifylla 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:
-
Välj det konverterade exempelformuläret för låneansökan i mappen output och tryck sedan på Properties.
-
Tryck på fliken Form Model, välj Schema i listrutan Select From och tryck på Select Schema för att överföra XSD-schemat loanapplication som 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 exempellåneansökningsformuläret och tryck på Edit.
-
Tryck på textrutan Sökandes namn och välj
Välj Sökande > Namn i fältet Bindningsreferens och tryck sedan på -
Markera det konverterade exempellåneansökningsformuläret som finns i mappen output igen och välj Preview > Preview with Data.
Hämta exempeldatafilen
-
Ä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 tjänsten Automated forms conversion (AFCS) för att konvertera exempellåneansökningsformuläret 🔗 till ett anpassningsbart formulär med databindning. Kontrollera att du inte markerar kryssrutan Generate adaptive form(s) without data bindings när du genererar det adaptiva formuläret.
Använd JSON-schema som datakälla jsonwithdatabinding
Användningsfall: Du genererar ett adaptivt 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 adaptivt formulär med databindning innan du kör användningsexemplet.
Utför följande steg:
-
Markera det konverterade exempellåneansökningsformuläret som finns i mappen output igen och välj Preview > Preview with Data.
Hämta exempeldatafilen
-
Ä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 antingen med API:t org.apache.sling.Commons.json.xml eller med 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));
}
}