Dieses Tutorial ist ein Teil der Serie Erstellen Ihres ersten adaptives Formulars. Adobe empfiehlt, dass Sie der Reihe in chronologischer Abfolge folgen, um den vollständigen Anwendungsfall des Tutorials zu verstehen, auszuführen und zu demonstrieren.
AEM Forms Mit dem Datenintegrationsmodul können Sie ein Formulardatenmodell aus unterschiedlichen Backend-Datenquellen erstellen, z. B. AEM Benutzerprofil, RESTful-Webdienste, SOAP-basierte Webdienste, OData-Dienste und relationale Datenbanken. Sie können Datenmodellobjekte und -dienste in einem Formulardatenmodell konfigurieren und einem adaptiven Formular zuordnen. Adaptive Formularfelder sind an Datenmodellobjekt-Eigenschaften gebunden. Mit den Diensten können Sie das adaptive Formular vorab befüllen und gesendete Formulardaten zurück an das Datenmodellobjekt schreiben.
Weitere Informationen zum Formulardatenmodell und zur Formulardatenintegration finden Sie unter Datenintegration für AEM Forms.
Dieses Tutorial führt Sie durch die Schritte zum Vorbereiten, Erstellen, Konfigurieren und Verknüpfen eines Formulardatenmodells mit einem adaptiven Formular. Am Ende dieses Tutorials können Sie Folgendes:
Das Formulardatenmodell sieht etwa wie folgt aus:
A. Konfigurierte Datenquellen B. Datenquellenschemata C. Verfügbare Services D. Datenmodellobjekte E. Konfigurierte Services
Bevor Sie beginnen, stellen Sie Folgendes sicher:
Sie können verschiedene Arten von Datenquellen konfigurieren, um ein Formulardatenmodell zu erstellen. Für dieses Tutorial konfigurieren Sie die MySQL-Datenbank, die Sie konfiguriert und mit Beispieldaten gefüllt haben. Informationen zu anderen unterstützten Datenquellen und deren Konfiguration finden Sie unter AEM Forms-Datenintegration.
Gehen Sie folgendermaßen vor, um Ihre MySQL-Datenbank zu konfigurieren:
Installieren Sie den JDBC-Treiber für die MySQL-Datenbank als OSGi-Bundle:
Laden Sie das MySQL JDBC-Treiber-OSGi-Bundle von http://www.java2s.com/ref/jar/download-orgosgiservicejdbc100jar-file.html
herunter.
Melden Sie sich bei der AEM Forms-Autoreninstanz als Administrator an und wechseln Sie zu den AEM-Web-Konsole-Bundles. Die Standard-URL lautet http://localhost:4502/system/console/bundles.
Wählen Sie Installieren/Aktualisieren. Ein Dialogfeld Pakete hochladen/installieren wird angezeigt.
Auswählen Datei auswählen , um die MySQL OSGi-Paket des JDBC-Treibers. Auswählen Paket starten und Aktualisieren von Paketen und wählen Sie Installieren oder Aktualisieren. Stellen Sie sicher, dass der JDBC-Treiber der Oracle Corporation’s für MySQL aktiv ist. Der Treiber wird installiert.
Konfigurieren Sie die MySQL-Datenbank als Datenquelle:
Wechseln Sie zu AEM-Web-Konsole unter http://localhost:4502/system/console/configMgr.
Suchen Sie die Konfiguration Apache Sling Connection Pooled DataSource. Wählen Sie diese Option aus, um die Konfiguration im Bearbeitungsmodus zu öffnen.
Geben Sie im Konfigurationsdialog die folgenden Details an:
weretail
lautet die URL: jdbc:mysql://'server':3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
Wenn sich die MySQL-Datenbank hinter einer Firewall befindet, ist der Datenbank-Host-Name kein öffentliches DNS. Die IP-Adresse der Datenbank muss in der Datei /etc/hosts des AEM Host Computers hinzugefügt werden.
AEM Forms unterstützt keine NT-Authentifizierung für MySQL. Rufen Sie AEM Webkonsole auf unter https://localhost:4502/system/console/configMgr und suchen Sie nach "Apache Sling Connection Pooled Data Source". Legen Sie für die Eigenschaft "JDBC connection URI"den Wert von "integratedSecurity"auf False fest und verwenden Sie den erstellten Benutzernamen und das Kennwort für die Verbindung mit MySQL Datenbank.
Test on Borrow: Aktivieren Sie die Option Test on Borrow.
Test on Return: Aktivieren Sie die Option Test on Return.
Validierungsabfrage: Geben Sie eine SQL SELECT-Abfrage an, damit Verbindungen aus dem Pool validiert werden. Die Abfrage muss mindestens eine Zeile zurückgeben. Zum Beispiel select * from customerdetails.
Transaktions-Isolierung: Setzen Sie den Wert auf READ_COMMITTED.
Belassen Sie die Standardwerte(https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html) bei den anderen Eigenschaften und [wählen Sie Speichern ]aus.
Eine Konfiguration ähnlich der folgenden wird erstellt.
AEM Forms bietet eine intuitive Benutzeroberfläche zum Erstellen eines Formulardatenmodells aus konfigurierten Datenquellen. Sie können mehrere Datenquellen in einem Formulardatenmodell verwenden. Für diesen Anwendungsfall können Sie die konfigurierte MySQL Datenquelle.
Gehen Sie folgendermaßen vor, um ein Formulardatenmodell zu erstellen:
Navigieren Sie in der AEM-Autoreninstanz zu Formulare > Datenintegration.
Auswählen Erstellen > Formulardatenmodell.
Geben Sie im Dialogfeld „Formulardatenmodell erstellen“ einen Namen für das Formulardatenmodell ein. Zum Beispiel customer-shipping-billing-details. Wählen Sie Weiter aus.
Im Bildschirm „Datenquelle auswählen“ werden alle konfigurierten Datenquellen angezeigt. Wählen Sie WeRetailMySQL-Datenquelle und dann Erstellen aus.
Das Formulardatenmodell customer-shipping-billing-details wird erstellt.
Das Konfigurieren des Formulardatenmodells umfasst Folgendes:
Gehen Sie wie folgt vor, um das Formulardatenmodell zu konfigurieren:
Navigieren Sie in der AEM-Autoreninstanz zu Formulare > Datenintegrationen. Die Standard-URL lautet https://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm.
Das Formulardatenmodell customer-shipping-billing-details, dass Sie zuvor erstellt haben, ist hier aufgeführt. Öffnen Sie es im Bearbeitungsmodus.
Die ausgewählte Datenquelle WeRetailMySQL wird im Formulardatenmodell konfiguriert.
Erweitern Sie den WeRailMySQL-Datenquellenbaum. Wählen Sie die folgenden Datenmodellobjekte und Dienste aus weretail > customerdetails -Schema, damit Sie ein Datenmodell erstellen können:
Datenmodellobjekte:
Dienste:
Auswählen Auswahl hinzufügen , um ausgewählte Datenmodellobjekte und Dienste zum Formulardatenmodell hinzuzufügen.
Die Standard-Services zum Abrufen, Aktualisieren und Einfügen von JDBC-Datenquellen werden standardmäßig mit dem Formulardatenmodell bereitgestellt.
Konfigurieren Sie die Lese- und Schreibdienste für das Datenmodellobjekt.
Wählen Sie das Datenmodellobjekt "customerdetails " und danach " Bearbeiten Eigenschaften".
Wählen Sie aus dem Dropdown-Menü „Lesedienst“ get. Das Argument id, das der Primärschlüssel im Datenmodellobjekt des „customerdetails“ ist, wird automatisch hinzugefügt. Auswählen und konfigurieren Sie das -Argument wie folgt.
Wählen Sie auf ähnliche Weise Aktualisieren als Schreibdienst. Das Objekt customerdetails wird automatisch als Argument hinzugefügt. Das Argument wird wie folgt konfiguriert.
Fügen Sie das Argument id hinzu und konfigurieren Sie es wie folgt.
Auswählen Fertig , um die Eigenschaften des Datenmodellobjekts zu speichern. Wählen Sie dann Speichern aus, um das Formulardatenmodell zu speichern.
Die Dienste get und update werden als Standarddienste für das Datenmodellobjekt hinzugefügt.
Wechseln Sie zur Registerkarte Dienste und konfigurieren Sie die Dienste get und update.
Wählen Sie die get Dienst und wählen Sie Eigenschaften bearbeiten. Das Dialogfeld „Eigenschaften“ wird geöffnet.
Geben Sie im Dialogfeld „Eigenschaften bearbeiten“ Folgendes an:
Titel: Geben Sie den Titel des Dienstes an. Zum Beispiel: Versandadresse abrufen.
Beschreibung: Geben Sie eine Beschreibung an, die eine detaillierte Funktionsweise des Dienstes enthält. Beispiel:
Dieser Dienst ruft die Lieferadresse und andere Kundendetails aus dem MySQL Datenbank
Ausgabemodellobjekt: Wählen Sie ein Schema mit Kundendaten. Beispiel:
customerdetail schema
Array zurückgeben: Deaktivieren Sie die Option Array zurückgeben.
Argumente: Wählen Sie das Argument mit dem Namen ID aus.
Auswählen Fertig. Der Dienst zum Abrufen von Kundendaten aus der MySQL-Datenbank ist konfiguriert.
Wählen Sie die update Dienst und wählen Sie Eigenschaften bearbeiten. Das Dialogfeld „Eigenschaften“ wird geöffnet.
Geben Sie im Dialogfeld Eigenschaften bearbeiten Folgendes an:
Titel: Geben Sie den Titel des Dienstes an. Beispiel: Versandadresse aktualisieren.
Beschreibung: Geben Sie eine Beschreibung an, die eine detaillierte Funktionsweise des Dienstes enthält. Beispiel:
Dieser Service aktualisiert die Lieferadresse und die zugehörigen Felder in der MySQL-Datenbank
Eingabemodellobjekt: Wählen Sie ein Schema mit Kundendaten. Beispiel:
customerdetail schema
Ausgabetyp: Wählen Sie BOOLEAN.
Argumente: Wählen Sie den Argumentnamen ID und customerdetails.
Auswählen Fertig. Der Service update zur Aktualisierung der Kundendaten in der MySQL-Datenbank ist konfiguriert.
Das Datenmodellobjekt und die Dienste im Formulardatenmodell sind konfiguriert. Sie können das Formulardatenmodell jetzt testen.
Sie können das Datenmodellobjekt und die Services testen, um zu überprüfen, ob das Formulardatenmodell ordnungsgemäß konfiguriert ist.
Führen Sie folgende Schritte aus, um den Test durchzuführen:
Navigieren Sie zu Modell auswählen, wählen Sie die customerdetails Datenmodellobjekt auswählen Testmodell-Objekt.
Wählen Sie im Fenster Modell/Dienst testen Modellobjekt lesen aus der Dropdown-Liste Modell/Dienst auswählen auswählen.
Im customerdetails einen Wert für id -Argument, das in der konfigurierten MySQL Datenbank und wählen Sie Test.
Die Kundendetails, die der angegebenen ID zugeordnet sind, werden abgerufen und im Abschnitt Ausgabe angezeigt, wie unten gezeigt.
Auf ähnliche Weise können Sie das Schreib-Modellobjekt und die Dienste testen.
Im folgenden Beispiel ändert der Aktualisierungsdienst erfolgreich die Adressdetails für die ID 7102715 in der Datenbank.
Wenn Sie den Lesemodell-Dienst jetzt erneut für die ID 7107215 testen, ruft er die aktualisierten Kundendetails ab und zeigt sie an, wie unten dargestellt.