Schulung: Formulardatenmodell erstellen

04-create-form-data-model-main

Diese Schulung ist ein Schritt in der Serie Erstellen Sie Ihr erstes adaptives Formular. Es wird empfohlen, der Serie in chronologischer Reihenfolge zu folgen, um den vollständigen Anwendungsfall zu verstehen, auszuführen und zu demonstrieren.

Über die Schulung

AEM Forms-Datenintegrationsmodul ermöglicht Ihnen die Erstellung eines Formulardatenmodells aus unterschiedlichen Back-End-Datenquellen wie AEM User Profil, RESTful-Webservices, SOAP-basierten Webdiensten, OData-Diensten und relationalen Datenbanken. Sie können Datenmodellobjekte und -Dienste in einem Formulardatenmodell konfigurieren und einem adaptiven Formular zuordnen. Adaptive Formularfelder sind an Datenmodellobjekteigenschaften 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.

Diese Schulung führt Sie durch die Schritte zum Vorbereiten, Erstellen, Konfigurieren und Zuordnen eines Formulardatenmodells mit einem adaptiven Formular. Am Ende dieser Schulung können Sie Folgendes:

Das Formulardatenmodell sieht etwa wie folgt aus:

form-data-model_l

A. Konfigurierte Datenquellen B. Datenquellen-Schema C. Verfügbare Dienste D. Datenmodellobjekte E. Konfigurierte Dienste

Voraussetzungen

Bevor Sie beginnen, stellen Sie Folgendes sicher:

Schritt 1: Konfigurieren der MySQL-Datenbank als Datenquelle

Sie können verschiedene Arten von Datenquellen konfigurieren, um ein Formulardatenmodell zu erstellen. Für diese Schulung werden wir die MySQL-Datenbank, die Sie konfiguriert und mit Beispieldaten befüllt haben, konfigurieren. Informationen zu anderen unterstützten Datenquellen und deren Konfiguration finden Sie unter AEM Forms-Datenintegration.

Führen Sie die folgenden Schritte aus, um die MySQL-Datenbank zu konfigurieren:

  1. Installieren Sie den JDBC-Treiber für die MySQL-Datenbank als OSGi-Bundle:

    1. Melden Sie sich bei AEM Forms Autoreninstanz als Administrator an und gehen Sie zu AEM Webkonsole-Bundles. Die Standard-URL lautet https://localhost:4502/system/console/bundles.

    2. Tippen Sie auf Installieren/Aktualisieren. Ein Dialogfeld Pakete hochladen/installieren wird angezeigt.

    3. Tippen Sie auf Datei wählen, um das Bundle MySQL JDBC-Treiber OSGi zu suchen und auszuwählen. Wählen Sie Beginn-Bundle und Pakete aktualisieren und tippen Sie auf Installieren oder Aktualisieren. Stellen Sie sicher, dass der Oracle Corporation’s JDBC-Treiber für MySQL aktiv ist. Der Treiber wird installiert.

  2. MySQL-Datenbank als Datenquelle konfigurieren:

    1. Wechseln Sie zu AEM Webkonsole unter https://localhost:4502/system/console/configMgr.

    2. Suchen Sie die Konfiguration Apache Sling Connection Pooled DataSource. Tippen Sie, um die Konfiguration im Bearbeitungsmodus zu öffnen.

    3. Geben Sie im Konfigurationsdialog die folgenden Details an:

      • Datenquellenname: Sie können einen beliebigen Namen angeben, beispielsweise WeRetailMySQL.

      • Name der DataSource-Diensteigenschaft: Geben Sie den Namen der Diensteigenschaft an, die den DataSource-Namen enthält. Er wird beim Registrieren der Datenquelleninstanz als OSGi-Dienst angegeben. Zum Beispiel: datasource.name.

      • JDBC-Treiberklasse: Geben Sie den Java-Klassennamen des JDBC-Treibers an. Geben Sie für die Datenbank MySQL com.mysql.jdbc.Driver an.

      • JDBC-Verbindungs-URI: Geben Sie die Verbindungs-URL der Datenbank an. Bei einer MySQL-Datenbank, die auf Port 3306 und Schema-Datenbank ausgeführt wird, lautet die URL: jdbc:mysql://'server':3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8

      • Benutzername: Benutzername der Datenbank. Es ist erforderlich, den JDBC-Treiber zu aktivieren, um eine Verbindung mit der Datenbank herzustellen.

      • Kennwort: Kennwort für die Datenbank. Es ist erforderlich, den JDBC-Treiber zu aktivieren, um eine Verbindung mit der Datenbank herzustellen.

      • Test on Borrow: Aktivieren Sie die Option Test on Borrowoption.

      • Test on Return: Aktivieren Sie die Option Test on Return.

      • Validation Query: Geben Sie eine SQL SELECT-Abfrage ein, damit Verbindungen aus dem Pool validiert werden. Die Abfrage muss mindestens eine Zeile zurückgeben. Beispiel: Wählen Sie * aus Kundendaten.

      • Transaktions-Isolierung: Setzen Sie den Wert auf READ_COMMITTED.

        Belassen Sie andere Eigenschaften mit den Standardwerten und tippen Sie auf Speichern.

        Eine Konfiguration ähnlich der folgenden wird erstellt.

        relational-database-data-source-configuration

Schritt 2: Erstellen eines Formulardatenmodells

AEM Forms bietet eine intuitive Benutzeroberfläche zum Erstellen eines Formulardatenmodells](data-integration.md) aus konfigurierten Datenquellen. [ Sie können mehrere Datenquellen in einem Formulardatenmodell verwenden. Für unseren Verwendungsfall verwenden wir die konfigurierte MySQL Datenquelle.

Gehen Sie folgendermaßen vor, um ein Formulardatenmodell zu erstellen:

  1. Navigieren Sie in der AEM-Autoreninstanz zu FormulareDatenintegration.

  2. Tippen Sie auf ErstellenFormulardatenmodell.

  3. Geben Sie im Dialogfeld „Formulardatenmodell erstellen“ einen Namen für das Formulardatenmodell ein. Zum Beispiel customer-shipping-billing-details. Tippen Sie auf Weiter.

  4. Im Bildschirm „Datenquelle auswählen“ werden alle konfigurierten Datenquellen angezeigt. Wählen Sie WeRetailMySQL-Datenquelle und tippen Sie auf Erstellen.

    data-source-selection

Das Formulardatenmodell customer-shipping-billing-details wird erstellt.

Schritt 3: Konfigurieren eines Formulardatenmodells

Zum Konfigurieren eines Formulardatenmodells gehört Folgendes:

  • Hinzufügen von Datenmodellobjekten und Diensten
  • Konfigurieren von Lese- und Schreibdiensten für Datenmodellobjekte

Gehen Sie folgendermaßen vor, um das Formulardatenmodell zu konfigurieren:

  1. Navigieren Sie AEM Autoreninstanz zu Forms > Datenintegrationen. Die Standard-URL lautet https://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm.

  2. Das zuvor erstellte Formulardatenmodell customer-shipping-billing-details ist hier aufgeführt. Öffnen Sie es im Bearbeitungsmodus.

    Die ausgewählte Datenquelle WeRetailMySQL wird im Formulardatenmodell konfiguriert.

    default-fdm

  3. Erweitern Sie den WeRailMySQL-Datenquellenbaum. Wählen Sie die folgenden Datenmodellobjekte und -dienste aus dem Schema weretail > customerdetails zum Formulardatenmodell aus:

    • Datenmodellobjekte:

      • id
      • name
      • shippingAddress
      • city
      • state
      • zipcode
    • Dienste:

      • get
      • Aktualisieren

    Tippen Sie auf Ausgewählte hinzufügen, um dem Formulardatenmodell ausgewählte Datenmodellobjekte und Dienste hinzuzufügen.

    WeRetail-Schema

    HINWEIS

    Die standardmäßigen get-, update- und insert-Dienste für JDBC-Datenquellen werden standardmäßig mit dem Formulardatenmodell bereitgestellt.

  4. Konfigurieren Sie Lese- und Schreibdienste für Datenmodellobjekte.

    1. Wählen Sie das Datenmodellobjekt customerdetails und tippen Sie auf Eigenschaften bearbeiten.

    2. 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. Tippen Sie auf aem_6_3_edit und konfigurieren Sie das Argument wie folgt.

      read-default

    3. Wählen Sie ebenfalls update als Schreibdienst. Das Objekt customerdetails wird automatisch als Argument hinzugefügt. Das Argument ist wie folgt konfiguriert.

      write-default

      Fügen Sie das Argument id hinzu und konfigurieren Sie es wie folgt.

      id-arg

    4. Tippen Sie auf Fertig, um die Eigenschaften des Datenmodellobjekts zu speichern. Tippen Sie dann auf Speichern, um das Formulardatenmodell zu speichern.

      Die Dienste get und update werden als Standarddienste für das Datenmodellobjekt hinzugefügt.

      data-model-object

  5. Wechseln Sie zur Registerkarte Dienste und konfigurieren Sie die Dienste get und update.

    1. Wählen Sie den Dienst get und tippen Sie auf Eigenschaften bearbeiten. Das Dialogfeld „Eigenschaften“ wird geöffnet.

    2. Geben Sie im Dialogfeld „Eigenschaften bearbeiten“ Folgendes an:

      • Titel: Geben Sie den Titel des Dienstes an. Beispiel: Lieferadresse abrufen.

      • Beschreibung: Geben Sie eine Beschreibung an, die das detaillierte Funktionieren des Dienstes enthält. Beispiel:

        Dieser Dienst ruft Versandadresse und andere Kundendetails aus der MySQL-Datenbank ab

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

      Tippen Sie auf Fertig. Der Dienst zum Abrufen von Kundendaten aus der MySQL-Datenbank ist konfiguriert.

      shiiping-address-retrieve

    3. Wählen Sie den Dienst update und tippen Sie auf Eigenschaften bearbeiten. Das Dialogfeld „Eigenschaften“ wird geöffnet.

    4. Geben Sie im Dialogfeld Eigenschaften bearbeiten Folgendes an:

      • Titel: Geben Sie den Titel des Dienstes an. Beispiel: Lieferadresse aktualisieren.

      • Beschreibung: Geben Sie eine Beschreibung an, die das detaillierte Funktionieren des Dienstes enthält. Beispiel:

        Dieser Dienst 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 das Argument mit dem Namen ID und customerdetails.

      Tippen Sie auf Fertig. Der Dienst update zum Aktualisieren der Kundendetails in der MySQL-Datenbank ist konfiguriert.

      shiiping-address-update

Das Datenmodellobjekt und die Dienste im Formulardatenmodell sind konfiguriert. Sie können nun das Formulardatenmodell testen.

Schritt 4: Testen eines Formulardatenmodells

Sie können das Datenmodellobjekt und die Datendienste testen, um sicherzustellen, dass das Formulardatenmodell ordnungsgemäß konfiguriert ist.

Führen Sie folgende Schritte aus, um den Test durchzuführen:

  1. Wechseln Sie auf die Registerkarte Modell, wählen Sie das Datenmodellobjekt customerdetails und tippen Sie auf Modellobjekt testen.

  2. Wählen Sie im Fenster Modell/Dienst testen Modellobjekt lesen aus der Dropdown-Liste Modell/Dienst auswählen auswählen.

  3. Geben Sie im Abschnitt customerdetails einen Wert für das id-Argument ein, das in der konfigurierten MySQL-Datenbank vorhanden ist, und tippen Sie auf Test.

    Die Kundendetails, die der angegebenen ID zugeordnet sind, werden abgerufen und im Abschnitt Ausgabe angezeigt, wie unten gezeigt.

    test-read-model

  4. In ähnlicher Weise können Sie das Schreibmodellobjekt und die Dienste testen.

    Im folgenden Beispiel aktualisiert der Aktualisierungsdienst die Adressdetails für die ID 7102715 in der Datenbank erfolgreich.

    test-write-model

    Wenn Sie nun den Lesemodelldienst für die ID 7107215 erneut testen, werden die aktualisierten Kundendetails abgerufen und angezeigt (siehe unten).

    read-updated

Auf dieser Seite