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.

Datakälla
Rekommenderat arbetsflöde
Formulärdatamodell, OData eller någon annan tredjepartstjänst
Alternativ 1: Du väljer formulärdatamodell, OData eller någon annan tredjepartstjänst som datakälla. Du generera ett anpassat formulär utan databindning med tjänsten Automated forms conversion (AFCS). Du binder adaptiva formulärfält till formulärdatamodellenheter manuellt och använder alternativet för förifyllningstjänst för formulärdatamodell för att fylla i fältvärden i förväg. Du använder alternativet Skicka med formulärdatamodell för att skicka det adaptiva formuläret.
Alternativ 2: Du väljer formulärdatamodell, OData eller någon annan tredjepartstjänst som datakälla. Du generera ett anpassat formulär utan databindning med tjänsten Automated forms conversion (AFCS). 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.
Stegvisa instruktioner för hur du kör dessa arbetsflöden finns i Använd databas, OData eller någon tredjepartstjänst som datakälla.
JSON-schema
Du väljer JSON-schema som datakälla. Baserat på den valda datakällan:
Alternativ 1: Du generera ett anpassat formulär utan databindning med hjälp av tjänsten Automated forms conversion (AFCS) och konfigurera JSON-schemat som datakälla. Du binder adaptiva formulärfält till JSON-schemat manuellt och använda något av de protokoll som stöds till förifyllda fältvärden. Ändra fältvärdena, om det behövs, och skicka data till crx-databasen.
Stegvisa instruktioner för hur du kör arbetsflödena finns i Använd JSON-schema som datakälla.
Alternativ 2: Du generera 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.
Stegvisa instruktioner för hur du kör arbetsflödena finns i Använd JSON-schema som datakälla.
XSD-schema
Du väljer XSD-schema som datakälla. Baserat på den valda datakällan generera ett anpassat formulär utan databindning med hjälp av tjänsten Automated forms conversion (AFCS) och konfigurera XSD-schemat som datakälla. Du binder de adaptiva formulärfälten till XSD-schemat manuellt och använda något av de protokoll som stöds till förifyllda fältvärden. Ändra fältvärdena, om det behövs, och skicka data till crx-databasen.
Stegvisa instruktioner för hur du kör arbetsflödena finns i Använd XSD-schema som datakälla.

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

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

Hämta fil

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.

exempelformulär för låneansökan

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.

Exempeldata mittSQL

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

Hämta fil

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

Hämta fil

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.

Anpassad form 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:

NOTE
Om det adaptiva formuläret som du konverterar med hjälp av tjänsten Automated forms conversion (AFCS) innehåller flera fält med samma namn måste du se till att dessa fält är bundna till datakällenheter för att undvika eventuella dataförluster under överföringen.

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

Konfigurera formulärdatamodell

NOTE
Se till att du lägger till get och infoga tjänster till formulärdatamodellen, konfigurera och testa tjänsterna innan användningsfallet körs.

Utför följande steg:

  1. Markera de konverterade exempelformulär för låneansökan finns i output mapp och tryck Properties.

  2. 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.

  3. Välj exempelformulär för låneansökan och knacka Edit.

  4. I Content trycker du på konfigurationsikonen:

    konfigurera formulärbehållare

    1. I Basic avsnitt, markera Form Data Model Prefill service från Prefill Service listruta.

    2. I Submission avsnitt, markera Submit using Form Data Model från Submit Action listruta.

    3. Markera datamodellen med Data Model to submit fält.

    4. Tryck färdig-ikon för att spara egenskaperna.

  5. Tryck på textrutan Sökandes namn och välj konfigurera ikon (Konfigurera).

    1. I fältet Bindningsreferens väljer du Sökande > Namn och trycka färdig-ikon för att spara egenskaperna. Skapa på samma sätt en databindning för Adress, Telefonnummer, E-post, Yrke, Årslön (i dollar) och Nej. av familjemedlemmar fält med formulärdatamodellenheter.

    Bindningsreferenser

  6. Tryck Preview om du vill visa förfyllda värden för anpassade formulärfält.

  7. Ä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:

  1. Välj exempelformulär för låneansökan i output mapp och tryck Edit.

  2. I Content trycker du på konfigurationsikonen:

    konfigurera formulärbehållare

    I Basic avsnitt, markera Form Data Model Prefill service från Prefill Service listruta.

  3. Tryck på Applicant Name textruta och tryck Edit Rules.

    Redigera regler för att skapa databindning

  4. Tryck Create på regelredigeringssidan.

  5. Rule Editor sida:

    1. 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.

    2. I Then avsnitt, markera Invoke Service från Select Action listruta. Alla tjänster på din Forms-instans visas i listrutan.

    3. 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.

    4. 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.

    5. Tryck på Done. Tryck Done igen på sidan Regelredigeraren.

    Regelredigerare som binder referenser

  6. 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.
  7. Ä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:

  1. Markera de konverterade exempelformulär för låneansökan finns i output mapp och tryck Properties.

  2. 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.

  3. Välj exempelformulär för låneansökan och knacka Edit.

  4. Tryck på textrutan Sökandes namn och välj konfigurera ikon (Konfigurera).

    I fältet Bindningsreferens väljer du Sökande > Namn och trycka färdig-ikon för att spara egenskaperna. Skapa på samma sätt en databindning för Adress, Telefonnummer, E-post, Yrke, Årslön (i dollar) och Nej. av familjemedlemmar fält med JSON-schemaentiteter.

  5. 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

    Hämta fil

  6. Ä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:

  1. Markera de konverterade exempelformulär för låneansökan finns i output mapp och tryck Properties.

  2. 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.

  3. Välj exempelformulär för låneansökan och knacka Edit.

  4. Tryck på textrutan Sökandes namn och välj konfigurera ikon (Konfigurera).
    I fältet Bindningsreferens väljer du Sökande > Namn och trycka Klar ikon för att spara egenskaperna. Skapa på samma sätt en databindning för Adress, Telefonnummer, E-post, Yrke, Årslön (i dollar) och Nej. av familjemedlemmar fält med XSD-schemaentiteter.

  5. 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

    Hämta fil

  6. Ä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.

Adaptiv form med JSON-bindning

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:

  1. 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

    Hämta fil

  2. Ä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));
    }
}
recommendation-more-help
c40c2ccf-3d1b-4b47-b158-c4646051b46c