Mit dem Dienst zur automatischen Formularkonvertierung können Sie ein nicht-interaktives PDF-Formular, ein Acro Form oder ein XFA-basiertes PDF-Formular in ein adaptives Formular konvertieren. Während Sie den Konvertierungsprozess starten, haben Sie die Möglichkeit, ein adaptives Formular mit oder ohne Datenbindung zu generieren.
Wenn Sie ein adaptives Formular ohne Datenbindungen generieren möchten, können Sie nach der Konvertierung das adaptive Formular in ein Formulardatenmodell, ein XML-Schema oder ein JSON-Schema integrieren. Für das Formulardatenmodell müssen Sie die Felder des adaptiven Formulars manuell mit dem Formulardatenmodell verknüpfen. Wenn Sie jedoch ein adaptives Formular mit Datenbindungen generieren, ordnet der Konvertierungsdienst die adaptiven Formulare automatisch einem JSON-Schema zu und erstellt eine Datenbindung zwischen den im adaptiven Formular und im JSON-Schema verfügbaren Feldern. Anschließend können Sie das adaptive Formular in eine Datenbank Ihrer Wahl integrieren, Daten in das Formular eintragen und dieses über das Formularportal an die Datenbank senden. Ebenso können Sie nach erfolgreicher Integration in die Datenbank Felder im konvertierten adaptiven Formular konfigurieren, um Werte aus der Datenbank abzurufen und Felder des adaptiven Formulars vorab auszufüllen.
Die folgende Abbildung zeigt verschiedene Phasen der Integration eines konvertierten adaptiven Formulars in eine Datenbank:
Dieser Artikel gibt Anweisungen zu den einzelnen Schritten für die erfolgreiche Ausführung all dieser Integrationsstufen.
Laden Sie die folgende PDF-Beispieldatei herunter, um den Anwendungsfall zum Integrieren konvertierter adaptiver Formulare in die Datenbank mithilfe eines AEM-Arbeitsablaufs auszuführen.
Sie können das Beispiel-Kontaktformular herunterladen mit:
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 Kontaktformulars im PDF-Format.
Führen Sie die folgenden Schritte auf allen Autoren- und Veröffentlichungsinstanzen aus, um die Datei mysql-connector-java-5.1.39-bin.jar zu installieren:
http://server:port/system/console/depfinder
und suchen Sie nach dem com.mysql.jdbc-Paket.http://server:port/system/console/bundles
und klicken Sie auf Installieren/Aktualisieren.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 in der Datenbank und fügen Sie dem Schema eine contactus-Tabelle hinzu, basierend auf den Feldern, die im adaptiven Formular verfügbar sind.
Mit der folgenden DDL-Anweisung können Sie die Tabelle contactus in der Datenbank erstellen.
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
Führen Sie die folgenden Konfigurationsschritte aus, um eine Verbindung zwischen der AEM-Instanz und der MYSQL-Datenbank herzustellen:
Navigieren Sie zur AEM Web Console-Konfigurationsseite unter http://server:port/system/console/configMgr
.
Klicken und öffnen Sie Apache Sling Connection Pooled DataSource im Bearbeitungsmodus in der Web Console-Konfiguration. Geben Sie die Werte für die Eigenschaften an, wie in der folgenden Tabelle beschrieben:
Eigenschaft | Wert |
---|---|
Datenquellenname |
Ein Datenquellenname für das Filtern der Treiber aus dem Datenquellenpool. |
JDBC-Treiberklasse |
com.mysql.jdbc.Driver |
JDBC-Verbindungs-URI |
jdbc:mysql://[host]:[port]/[schema_name] |
Benutzername |
Ein Benutzername zur Authentifizierung und zum Durchführen von Aktionen auf Datenbanktabellen |
Kennwort |
Kennwort für den Benutzernamen |
Transaktions-Isolierung |
READ_COMMITTED |
Max. aktive Verbindungen |
1000 |
Max. inaktive Verbindungen |
100 |
Min. inaktive Verbindungen |
10 |
Anfangsgröße |
10 |
Max. Wartezeit |
100000 |
Test zu Leihung |
Aktiviert |
Test bei inaktiv |
Aktiviert |
Validierungsanfrage |
Beispielwerte sind SELECT 1 (mysql), select 1 von Dual (oracle), SELECT 1 (MS Sql Server) (validationQuery) |
Timeout für Validierungsanfrage |
10000 |
Führen Sie nach dem Konfigurieren von MYSQL als Datenquelle die folgenden Schritte aus, um ein Formulardatenmodell zu erstellen:
Navigieren Sie in der AEM-Autoreninstanz zu Formulare > Datenintegration.
Tippen Sie auf Erstellen > Formulardatenmodell.
Geben Sie im Assistenten Formulardatenmodell erstellen workflow_submit als Namen für das Formulardatenmodell ein. Tippen Sie auf Weiter.
Wählen Sie die MYSQL-Datenquelle aus, die Sie im vorherigen Abschnitt konfiguriert haben, und tippen Sie auf Erstellen.
Tippen Sie auf Bearbeiten und erweitern Sie die im linken Bereich aufgeführte Datenquelle, um die contactus-Tabelle und die Dienste get und insert auszuwählen, und wählen Sie Ausgewählte hinzufügen.
Wählen Sie das Datenmodellobjekt im rechten Bereich aus und tippen Sie auf Eigenschaften bearbeiten. Wählen Sie die Dienste get und insert aus den Dropdown-Listen Read-Dienst und Write-Dienst aus. Geben Sie die Argumente für den Read-Dienst an und tippen Sie auf Fertig.
Wählen Sie auf der Registerkarte Dienste den Dienst get und tippen Sie auf Eigenschaften bearbeiten. Wählen Sie das Ausgabemodellobjekt, deaktivieren Sie den Schalter Rückgabe-Array und tippen Sie auf Fertig.
Wählen Sie den Dienst insert und tippen Sie auf Eigenschaften bearbeiten. Wählen Sie das Eingabemodellobjekt und tippen Sie auf Fertig.
Tippen Sie auf Speichern, um das Formulardatenmodell zu speichern.
Sie können das Beispiel-Formulardatenmodell wie folgt herunterladen:
Verwenden Sie den Dienst für die automatische Formularkonvertierung zum Konvertieren des Kontaktformulars 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.
Wählen Sie das konvertierte Kontaktformular aus, das im Ordner Ausgabe unter Formulare und Dokumente verfügbar ist, und tippen Sie auf Bearbeiten. Tippen Sie auf Vorschau, geben Sie Werte in die Felder des adaptiven Formulars ein und tippen Sie auf Senden.
Melden Sie sich bei crx-repository an und navigieren Sie zu /content/forms/fp/admin/submit/data, um die übermittelten Werte im JSON-Format anzuzeigen. Im Folgenden werden die Beispieldaten im JSON-Format gezeigt, wenn Sie das konvertierte adaptive Kontaktformular senden:
{
"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"
}
}
}
Sie müssen jetzt ein Arbeitsablaufmodell erstellen, das diese Daten verarbeiten und über das in den vorherigen Abschnitten erstellte Formulardatenmodell an die MYSQL-Datenbank senden kann.
Führen Sie die folgenden Schritte aus, um ein Arbeitsablaufmodell zum Senden der adaptiven Formulardaten an die Datenbank zu erstellen:
Öffnen Sie die Konsole für Arbeitsablaufmodelle. Die Standardeinstellung ist https://server:port/libs/cq/workflow/admin/console/content/models.html/etc/workflow/models
.
Wählen Sie dann Erstellen und dann Modell erstellen aus. Das Dialogfeld Arbeitsablaufmodell hinzufügen wird angezeigt.
Geben Sie den Titel und den Namen ein (optional). Zum Beispiel workflow_json_submit. Tippen Sie auf Fertig, um das Modell zu erstellen.
Wählen Sie das Arbeitsablaufmodell aus und tippen Sie auf Bearbeiten, um das Modell im Bearbeitungsmodus zu öffnen. Tippen Sie auf + und fügen Sie dem Arbeitsablaufmodell den Schritt Formulardatenmodelldienst aufrufen hinzu.
Tippen Sie auf den Schritt Formulardatenmodelldienst aufrufen and und anschließend auf .
Wählen Sie auf der Registerkarte ]Formulardatenmodell das Formulardatenmodell, das Sie im Feld Formulardatenmodellpfad angelegt haben, und wählen Sie insert aus der Dropdown-Liste [!UICONTROL Dienst.
Wählen Sie auf der Registerkarte Eingabe für Dienst die Option Eingabedaten mithilfe von Literal- , Variablen- oder Arbeitsablauf-Metadaten und einer JSON-Datei bereitstellen aus der Dropdown-Liste, aktivieren Sie das Kontrollkästchen Eingabefelder aus Eingabe-JSON zuordnen und aktivieren Sie Relativ zur Nutzlast und geben Sie data.xml als Wert für das Feld JSON-Eingabedokument auswählen mit an.
Geben Sie im Abschnitt Dienstargumente die folgenden Werte für die Formulardatenmodellargumente ein:
Beachten Sie, dass die Formulardatenmodellfelder, z. B. contactus Punkt Name dem afData.afBoundData.data.name1 zugeordnet werden, das auf die JSON-Schemabindungen für das gesendete adaptive Formular verweist.
Führen Sie die folgenden Schritte aus, um das adaptive Formular an das Arbeitsablaufmodell zu senden, das Sie im vorherigen Abschnitt erstellt haben:
Wählen Sie das konvertierte Kontaktformular aus, das im Ordner Ausgabe unter Formulare und Dokumente verfügbar ist, und tippen Sie auf Bearbeiten.
Öffnen Sie die Eigenschaften des adaptiven Formulars, indem Sie auf Formularcontainer und anschließend auf tippen.
Wählen Sie im Abschnitt Übermittlung die Option AEM-Arbeitsablauf aufrufen aus der Dropdown-Liste Übermittlungsaktion, wählen Sie das Arbeitsablaufmodell, das Sie im vorherigen Abschnitt erstellt haben, und geben Sie data.xml im Feld Datendateipfad an.
Tippen Sie auf , um die Eigenschaften zu speichern.
Tippen Sie auf Vorschau, geben Sie Werte in die Felder des adaptiven Formulars ein und tippen Sie auf Senden. Die übermittelten Werte werden jetzt in der MYSQL-Datenbanktabelle anstelle von crx-repository angezeigt.
Führen Sie die folgenden Schritte aus, um das adaptive Formular so zu konfigurieren, dass Werte aus der MYSQL-Datenbank basierend auf dem in der Tabelle definierten Primärschlüssel (in diesem Fall E-Mail) vorab ausgefüllt werden:
Tippen Sie im adaptiven Formular auf das Feld E-Mail und anschließend auf .
Tippen Sie auf Erstellen und wählen Sie Wird geändert aus der Dropdown-Liste Status auswählen im Abschnitt Wenn.
Wählen Sie im Abschnitt Dann die Option Dienst aufrufen und get als Dienst für das Formulardatenmodell, das Sie in einem vorherigen Abschnitt dieses Artikels erstellt haben.
Wählen Sie E-Mail im Abschnitt Eingabe und die anderen drei Felder des Formulardatenmodells: Name, Telefonnummer und Problembeschreibung im Abschnitt Ausgabe. Tippen Sie auf Fertig, um die Einstellungen zu speichern.
Basierend auf vorhandenen E-Mail-Einträgen in der MYSQL-Datenbank können Sie daher die Werte für die restlichen drei Felder im Modus Vorschau des adaptiven Formulars im Voraus ausfüllen lassen. Wenn Sie beispielsweise aya.tan@xyz.com im Feld E-Mail angeben (basierend auf den vorhandenen Daten gemäß Abschnitt Formulardatenmodell vorbereiten dieses Artikels) und das Feld mit der Tabulatortaste verlassen, werden die restlichen drei Felder, Name, Telefonnummer und Problembeschreibung automatisch im adaptiven Formular angezeigt.
Sie können das konvertierte adaptive Formular herunterladen mit: