Empfohlene datenquellenbasierte Vorfüll- und Übermittlungs-Workflows für adaptive Formulare recommended-data-source-btased-prefill-and-submit-workflows-for-adaptive-forms
Sie können eine der folgenden Datenquellen mit adaptiven Formularen verwenden, die mit dem Dienst für die automatische Formularkonvertierung konvertiert wurden:
- Formulardatenmodell, OData oder andere Dienste von Drittanbietern
- JSON-Schema
- XSD-Schema
Basierend auf der Datenquelle können Sie ein adaptives Formular mit oder ohne Datenmodell erstellen.
In diesem Artikel werden die empfohlenen Arbeitsabläufe zum Vorausfüllen von Feldwerten und Übermittlungsoptionen beschrieben, nachdem eine Datenquelle ausgewählt und ein adaptives Formular mit dem Konvertierungsdienst generiert wurde.
Weitere Informationen zum Dienst für die automatische Formularkonvertierung finden Sie in den folgenden Artikeln:
Den Informationen in diesem Artikel liegt die Annahme zugrunde, dass alle, die ihn lesen, über Grundkenntnisse der Konzepte für adaptive Formulare verfügen.
Voraussetzungen pre-requisites
- Konfigurieren einer AEM-Autoreninstanz
- Konfigurieren des Dienstes für die automatische Formularkonvertierung in der AEM-Autoreninstanz
Beispiel für ein adaptives Formular sample-adaptive-form
Laden Sie die folgende PDF-Beispieldatei herunter, um die Anwendungsfälle zum Vorausfüllen von Feldwerten in einem adaptiven Formular und zum Senden des Formulars an die Datenquelle auszuführen.
Beispielformular für einen Kreditantrag
Die PDF-Datei dient als Eingabe für den Dienst zur automatischen Formularkonvertierung. Der Dienst konvertiert diese Datei in ein adaptives Formular. Das folgende Bild zeigt das Beispiel eines Kreditantrags im PDF-Format.
Vorbereiten der Daten für das Formularmodell prepare-data-for-form-model
Mit der AEM Forms-Datenintegration können Sie unterschiedliche Datenquellen konfigurieren und Verbindungen zu ihnen herzustellen. Nach dem Generieren eines adaptiven Formulars mithilfe des Konvertierungsprozesses können Sie das Formularmodell basierend auf einem Formulardatenmodell, XSD oder einem JSON-Schema definieren. Sie können eine Datenbank, Microsoft Dynamics oder einen anderen Dienst eines Drittanbieters verwenden, um ein Formulardatenmodell zu erstellen.
In diesem Lernprogramm wird die MySQL-Datenbank als Quelle zum Erstellen eines Formulardatenmodells verwendet. Erstellen Sie ein Schema loanapplication in der Datenbank und fügen Sie dem Schema eine Tabelle applicant hinzu, basierend auf den Feldern, die im adaptiven Formular verfügbar sind.
Mit der folgenden DDL-Anweisung können Sie die Tabelle applicant in der Datenbank erstellen.
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
Wenn Sie ein XSD-Schema als Formularmodell zum Ausführen der Anwendungsfälle verwenden, erstellen Sie eine XSD-Datei mit dem folgenden 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>
Oder laden Sie das XSD-Schema in das lokale Dateisystem herunter.
Beispiel: XSD-Schema für einen Kreditantrag
Weitere Informationen zur Verwendung des XSD-Schemas als Formularmodell in adaptiven Formularen finden Sie unter Adaptive Formulare mithilfe des XML-Schemas erstellen.
Wenn Sie ein JSON-Schema als Formularmodell zum Ausführen der Anwendungsfälle verwenden, erstellen Sie eine JSON-Datei mit dem folgenden 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"
}
}
}
Oder laden Sie das JSON-Schema in das lokale Dateisystem herunter.
Beispiel: JSON-Schema für einen Kreditantrag
Weitere Informationen zur Verwendung des JSON-Schemas als Formularmodell in adaptiven Formularen finden Sie unter Erstellen adaptiver Formulare mithilfe des JSON-Schemas.
Generieren adaptiver Formulare ohne Datenbindung generate-adaptive-forms-with-no-data-binding
Verwenden Sie den Dienst für die automatische Formularkonvertierung zum Konvertieren des Beispielformulars für einen Kreditantrag in ein adaptives Formular ohne Datenbindung. Stellen Sie sicher, dass das Kontrollkästchen Adaptive(s) Formular(e) ohne Datenbindungen generieren aktiviert ist, um das adaptive Formular ohne Datenbindung zu erzeugen.
Wählen Sie nach dem Generieren eines adaptiven Formulars ohne Datenbindung eine Datenquelle für das adaptive Formular aus:
Verwenden einer Datenbank, von OData oder beliebigen Drittanbieter-Diensten als Datenquelle sqldatasource
Anwendungsfall: Sie generieren unter Verwendung des Dienstes für die automatische Formularkonvertierung ein adaptives Formular ohne Datenbindung und konfigurieren die MYSQL-Datenbank als Datenquelle. Sie binden die adaptiven Formularfelder manuell an Entitäten des Formulardatenmodells und verwenden die Option Vorfüllservice für Formulardatenmodell, um Feldwerte vorab auszufüllen. Verwenden Sie die Option Senden mit Formulardatenmodell, um das adaptive Formular zu senden.
Vor dem Ausführen des Anwendungsfalls:
Erstellen Sie basierend auf dem Anwendungsfall das Formulardatenmodell loanapplication und binden Sie das Argument des Lesedienstes an einen Literalwert. Der Literalwert für die Telefonnummer muss einer der Datensätze sein, die im Schema applicant der MySQL-Datenbank konfiguriert wurden. Die Dienste verwenden den Wert als Argument, um Details aus der Datenquelle abzurufen. Sie können auch Benutzerprofilattribut oder Anforderungsattribut aus der Dropdown-Liste Bindung an auswählen
Führen Sie die folgenden Schritte aus:
-
Wählen Sie das konvertierte Formular für den Beispielkreditantrag im Ausgabeordner und wählen Sie Eigenschaften.
-
Wählen Sie auf die Registerkarte Formularmodell den Eintrag Formulardatenmodell aus der Dropdown-Liste Wählen aus und tippen Sie auf Formulardatenmodell auswählen, um das Formulardatenmodell loanapplication auszuwählen. Tippen Sie auf Speichern und Schließen, um das Formular zu speichern.
-
Wählen Sie das Beispielformular für einen Kreditantrag und tippen Sie auf Bearbeiten.
-
Tippen Sie auf der Registerkarte Inhalt auf das Konfigurationssymbol:
-
Wählen Sie im Abschnitt Standard den Eintrag Vorfüllservice für Formulardatenmodell aus der Dropdown-Liste Vorbefüllungs-Dienst.
-
Wählen Sie im Abschnitt Senden den Eintrag Senden mit Formulardatenmodell aus der Dropdown-Liste Übermittlungsaktion.
-
Wählen Sie das Datenmodell über das Feld Zu sendendes Datenmodell aus.
-
Tippen Sie auf das , um die Eigenschaften zu speichern.
-
-
Tippen Sie auf das Textfeld „Name des Antragstellers“ und wählen Sie das (Konfigurieren).
- Wählen Sie im Feld „Bindungsverweis“ die Option Antragsteller > Name aus und tippen Sie auf das , um die Eigenschaften zu speichern. Erstellen Sie auf ähnliche Weise eine Datenbindung für Adresse, Telefonnummer, E-Mail, Beruf, Jahresgehalt (in Dollar) und Anzahl. von abhängigen Familienmitgliedern mit den Entitäten des Formulardatenmodells.
-
Tippen Sie auf Vorschau, um die vorausgefüllten Feldwerte des adaptiven Formulars anzuzeigen.
-
Ändern Sie gegebenenfalls die Feldwerte und senden Sie das adaptive Formular. Die Feldwerte werden an die MySQL-Datenbank gesendet. Sie können die Tabelle applicant in der Datenbank aktualisieren, um die aktualisierten Werte in der Tabelle anzuzeigen.
Anwendungsfall: Sie generieren unter Verwendung des Dienstes für die automatische Formularkonvertierung ein adaptives Formular ohne Datenbindung und konfigurieren die MYSQL-Datenbank als Datenquelle. Sie binden die adaptiven Formularfelder mithilfe des Regeleditors, um Feldwerte vorab auszufüllen. Ändern Sie gegebenenfalls die Feldwerte und senden Sie die Daten an das crx-Repository.
Führen Sie die folgenden Schritte aus, um mit dem Regeleditor den Formulardatenmodell-Dienst aufzurufen, um in einem adaptiven Formular Felder zu binden und Werte vorzufüllen:
-
Wählen Sie das Beispielformular für einen Kreditantrag im Ordner Ausgabe und tippen Sie auf Bearbeiten.
-
Tippen Sie auf der Registerkarte Inhalt auf das Konfigurationssymbol:
Wählen Sie im Abschnitt Standard den Eintrag Vorfüllservice für Formulardatenmodell aus der Dropdown-Liste Vorbefüllungs-Dienst.
-
Tippen Sie auf das Textfeld Name des Antragstellers und anschließend auf Regeln bearbeiten.
-
Tippen Sie auf der Seite Regeleditor auf Erstellen.
-
Auf der Seite Regeleditor:
-
Wählen Sie einen Status für das Textfeld „Name des Antragstellers“ aus. Beispiel: Ist initialisiert, was zur Ausführung der Dann-Bedingung führt , wenn Sie das Formular im Modus Vorschau rendern.
-
Im Abschnitt Dann wählen Sie Dienst aufrufen aus der Dropdown-Liste Aktion auswählen. Alle Dienste Ihrer Formularinstanz werden in der Dropdown-Liste angezeigt.
-
Wählen Sie im Abschnitt mit den Formulardatenmodellen einen Dienst zum Abrufen aus. Das Eingabefeld zeigt die Telefonnummer an, die der Primärschlüssel ist, der für das Datenmodell applicant definiert ist. Das System ruft die Werte im adaptiven Formular für Felder im Abschnitt „Ausgabe“ ab, die auf diesem Feld basieren, und füllt sie vor.
-
Erstellen Sie im Abschnitt „Ausgabe“ eine Bindung für die Felder des adaptiven Formulars mit den Entitäten des Formulardatenmodells. Binden Sie beispielsweise das adaptive Formularfeld Antragstellername mit der Entität Name.
-
Tippen Sie auf Fertig. Tippen Sie auf der Seite „Regeleditor“ auf Fertig.
-
-
Tippen Sie auf Vorschau, um die vorausgefüllten Feldwerte des adaptiven Formulars anzuzeigen.
note note NOTE Stellen Sie sicher, dass die Eigenschaft Rückgabearray für die Diensteigenschaft get im Formulardatenmodell, das mit dem adaptiven Formular verknüpft ist, auf „AUS“ eingestellt ist. -
Ändern Sie gegebenenfalls die Feldwerte und senden Sie das adaptive Formular. Die übermittelten Daten sind an folgendem Ort im crx-Repository verfügbar:
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
Verwenden eines JSON-Schemas als Datenquelle jsondatasource
Anwendungsfall: Sie generieren ein adaptives Formular ohne Datenbindung unter Verwendung des Dienstes für die automatische Formularkonvertierung und konfigurieren das JSON-Schema als Datenquelle. Sie binden die Felder des adaptiven Formulars manuell an das JSON-Schema und verwenden die Option Vorschau mit Daten, um Feldwerte im Voraus auszufüllen. Ändern Sie gegebenenfalls die Feldwerte und senden Sie die Daten an das crx-Repository.
Stellen Sie vor dem Ausführen des Anwendungsfalls sicher, dass Sie über Folgendes verfügen:
Führen Sie die folgenden Schritte aus:
-
Wählen Sie das konvertierte Formular für den Beispielkreditantrag im Ausgabeordner und wählen Sie Eigenschaften.
-
Tippen Sie auf die Registerkarte Formularmodell wählen Sie Schema aus der Dropdown-Liste Formular auswählen und tippen Sie auf Schema auswählen, um das Schema demo.schema JSON, das im lokalen Dateisystem gespeichert ist, hochzuladen. Tippen Sie auf Speichern und Schließen, um das Formular zu speichern.
-
Wählen Sie das Beispielformular für einen Kreditantrag und tippen Sie auf Bearbeiten.
-
Tippen Sie auf das Textfeld „Name des Antragstellers“ und wählen Sie das (Konfigurieren).
Wählen Sie im Feld „Bindungsverweis“ die Option Antragsteller > Name aus und tippen Sie auf das , um die Eigenschaften zu speichern. Erstellen Sie auf ähnliche Weise eine Datenbindung für Adresse, Telefonnummer, E-Mail, Beruf, Jahresgehalt (in Dollar) und Anzahl. von abhängigen Familienmitgliedern mit den JSON-Schemaentitäten.
-
Wählen Sie das konvertierte Beispielformular für den Kreditantrag], das im Ordner Ausgabe verfügbar ist, erneut aus, und wählen Sie Vorschau > [!UICONTROL Vorschau mit Daten.
Beispieldatendatei herunterladen
-
Ändern Sie gegebenenfalls die Feldwerte und senden Sie das adaptive Formular. Die übermittelten Daten sind an folgendem Ort im crx-Repository verfügbar:
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
Verwenden eines XSD-Schemas als Datenquelle xsddatasource
Anwendungsfall: Sie generieren ein adaptives Formular ohne Datenbindung unter Verwendung des Dienstes für die automatische Formularkonvertierung und konfigurieren das XSD-Schema als Datenquelle. Sie binden die Felder des adaptiven Formulars manuell an das XSD-Schema und verwenden die Option Vorschau mit Daten, um Feldwerte im Voraus auszufüllen. Ändern Sie gegebenenfalls die Feldwerte und senden Sie die Daten an das crx-Repository.
Stellen Sie vor dem Ausführen des Anwendungsfalls sicher, dass Sie über Folgendes verfügen:
Führen Sie die folgenden Schritte aus:
-
Wählen Sie das konvertierte Formular für den Beispielkreditantrag im Ausgabeordner und wählen Sie Eigenschaften.
-
Tippen Sie auf die Registerkarte Formularmodell, wählen Sie Schema aus der Dropdown-Liste Formular auswählen und tippen Sie auf Schema auswählen, um das Schema loanapplication, das im lokalen Dateisystem gespeichert ist, hochzuladen. Wählen Sie das Stammelement für das XSD-Schema aus und tippen Sie auf Speichern und Schließen, um das Formular zu speichern.
-
Wählen Sie das Beispielformular für einen Kreditantrag und tippen Sie auf Bearbeiten.
-
Tippen Sie auf das Textfeld „Name des Antragstellers“ und wählen Sie das (Konfigurieren).
Wählen Sie im Feld „Bindungsverweis“ die Option Antragsteller > Name aus und tippen Sie auf das , um die Eigenschaften zu speichern. Erstellen Sie auf ähnliche Weise eine Datenbindung für Adresse, Telefonnummer, E-Mail, Beruf, Jahresgehalt (in Dollar) und Anzahl. von abhängigen Familienmitgliedern mit den XSD-Schemaentitäten. -
Wählen Sie das konvertierte Beispielformular für den Kreditantrag, das im Ordner Ausgabe verfügbar ist, erneut aus, und wählen Sie Vorschau > Vorschau mit Daten.
Beispieldatendatei herunterladen
-
Ändern Sie gegebenenfalls die Feldwerte und senden Sie das adaptive Formular. Die übermittelten Daten sind an folgendem Ort im crx-Repository verfügbar:
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
Generieren adaptiver Formulare mit JSON-Bindung generate-adaptive-forms-with-json-binding
Verwenden Sie den Dienst für die automatische Formularkonvertierung zum Konvertieren des Beispielformulars für einen Kreditantrag in ein adaptives Formular mit Datenbindung. Stellen Sie sicher, dass Sie nicht das Kontrollkästchen Adaptive(s) Formular(e) ohne Datenbindungen generieren aktivieren, während das adaptive Formular generiert wird.
Verwenden eines JSON-Schemas als Datenquelle jsonwithdatabinding
Anwendungsfall: Sie generieren ein adaptives Formular mit JSON-Datenbindung unter Verwendung des Dienstes für die automatische Formularkonvertierung. Die Funktionen zum Vorausfüllen und zum Senden funktionieren nahtlos. Sie benötigen keine Konfigurationsschritte.
Stellen Sie vor dem Ausführen des Anwendungsfalls sicher, dass Sie über ein adaptives Formular mit Datenbindung verfügen.
Führen Sie die folgenden Schritte aus:
-
Wählen Sie das konvertierte Beispielformular für den Kreditantrag], das im Ordner Ausgabe verfügbar ist, erneut aus, und wählen Sie Vorschau > [!UICONTROL Vorschau mit Daten.
Beispieldatendatei herunterladen
-
Ändern Sie gegebenenfalls die Feldwerte und senden Sie das adaptive Formular. Die übermittelten Daten sind an folgendem Ort im crx-Repository verfügbar:
http://host name:port/crx/de/index.jsp#/content/forms/fp/admin/submit/data/latest file available in the folder
Konvertieren der übermittelten JSON-Daten im adaptiven Formular in das XML-Format convert-submitted-adaptive-form-data-to-xml
Wenn Sie Werte in adaptive Formularfelder eingeben und senden, sind die Daten im JSON-Format im crx-Repository verfügbar. Sie können das Format von JSON-Daten entweder mit der API org.apache.sling.commons.json.xml oder dem folgenden Beispielcode in XML konvertieren:
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));
}
}