Show Menu
THEMEN×

Arbeiten mit einem Formulardatenmodell

Der Formulardatenmodell-Editor bietet eine intuitive Benutzeroberfläche und Werkzeuge zum Bearbeiten und Konfigurieren eines Formulardatenmodells. Mithilfe des Editors können Sie Datenmodellobjekte, Eigenschaften und Dienste aus verknüpften Datenquellen im Formulardatenmodell hinzufügen und konfigurieren. Darüber hinaus können Sie Datenmodellobjekte und -eigenschaften ohne Datenquellen erstellen und später mit den entsprechenden Datenmodellobjekten und -eigenschaften verknüpfen. Sie können auch Beispieldaten für Datenmodellobjekteigenschaften generieren und bearbeiten, die Sie zum Vorbefüllen von adaptiven Formularen und interaktiver Kommunikation während der Vorschau verwenden können. Sie können Datenmodellobjekte und -dienste testen, die in einem Formulardatenmodell konfiguriert sind, um sicherzustellen, dass sie ordnungsgemäß in Datenquellen integriert sind.
Wenn Sie mit der Forms-Datenintegration noch nicht vertraut sind und keine Datenquelle konfiguriert oder ein Formulardatenmodell erstellt haben, lesen Sie die folgenden Themen:
Erfahren Sie weitere Details zu verschiedenen Aufgaben und Konfigurationen, die Sie mit dem Formulardatenmodell-Editor durchführen können.
You must be a member of both fdm-author and forms-user groups to be able to create and work with form data model. Wenden Sie sich an Ihren AEM-Administrator, um Mitglied der Gruppe zu werden.

Datenmodellobjekte und Dienste hinzufügen

Wenn Sie ein Formulardatenmodell mit Datenquellen erstellt haben, können Sie den Formulardatenmodelleditor verwenden, um Datenmodellobjekte und -dienste hinzuzufügen, deren Eigenschaften zu konfigurieren, Verknüpfungen zwischen Datenmodellobjekten zu erstellen und das Formulardatenmodell und die Formulardienste zu testen.
Sie können Datenmodellobjekte und Dienste aus verfügbaren Datenquellen im Formulardatenmodell hinzufügen. Dabei werden hinzugefügte Datenmodellobjekte auf der Registerkarte „Modell“ und hinzugefügte Dienste auf der Registerkarte „Dienste“ angezeigt.
So fügen Sie Datenmodellobjekte und -dienste hinzu:
  1. Melden Sie sich bei der AEM-Autorinstanz an, navigieren Sie zu Formulare > Datenintegrationen und öffnen Sie das Formulardatenmodell, in dem Sie Datenmodellobjekte hinzufügen möchten.
  2. Erweitern Sie im Bereich Data Sources die Datenquellen, um verfügbare Datenmodellobjekte und -dienste Ansicht.
  3. Wählen Sie Datenmodellobjekte und Dienste aus, die Sie dem Formulardatenmodell hinzufügen möchten, und tippen Sie auf Ausgewählte hinzufügen .
    Ausgewählte Datenmodellobjekte und Dienste
    Auf der Registerkarte „Modell“ wird eine grafische Darstellung aller Datenmodellobjekte und ihrer Eigenschaften angezeigt, die dem Formulardatenmodell hinzugefügt wurden. Jedes Datenmodellobjekt wird durch eine Box im Formulardatenmodell dargestellt.
    Registerkarte „Modell“ mit hinzugefügten Datenmodellobjekten
    Sie können die Datenmodellobjekt-Boxen durch Ziehen im Inhaltsbereich anordnen. Alle im Formulardatenmodell hinzugefügten Datenmodellobjekte werden im Bereich „Datenquellen“ ausgegraut.
    Auf der Registerkarte „Dienste“ wird eine Liste der hinzugefügten Dienste angezeigt.
    Registerkarte „Dienste“ mit Datenmodelldiensten
    Das OData-Dienst-Metadatendokument enthält außer den Datenmodellobjekten und Diensten Navigationseigenschaften, die die Verknüpfung zwischen zwei Datenmodellobjekten definieren. Weitere Informationen finden Sie unter Arbeiten mit Navigationseigenschaften von OData-Diensten .
  4. Tippen Sie auf Speichern , um das Formularmodellobjekt zu speichern.
    Sie können die auf der Registerkarte „Dienste“ eines Formulardatenmodells konfigurierten Dienste mithilfe von Regeln für adaptive Formulare aufrufen. Die konfigurierten Dienste sind in der Aktion zum Aufrufen von Diensten im Regeleditor verfügbar. Weitere Informationen zum Verwenden dieser Dienste in Regeln für adaptive Formulare finden Sie unter „Aufrufen von Diensten und Festlegen von Werten für Regeln“ unter Regeleditor .

Erstellen von Datenmodellobjekten und untergeordneten Eigenschaften

Erstellen von Datenmodellobjekten

Während Sie Datenmodellobjekte aus konfigurierten Datenquellen hinzufügen können, können Sie auch Datenmodellobjekte oder -entitäten ohne Datenquellen erstellen. Dies ist besonders hilfreich, wenn Sie keine Datenquellen im Formulardatenmodell konfiguriert haben.
Erstellen eines Datenmodellobjekts ohne Datenquellen:
  1. Melden Sie sich bei der AEM-Autorinstanz an, navigieren Sie zu Formulare > Datenintegrationen und öffnen Sie das Formulardatenmodell, in dem Sie ein Datenmodellobjekt oder eine Entität hinzufügen möchten.
  2. Tippen Sie auf Entität erstellen .
  3. Geben Sie im Dialogfeld „Datenmodell erstellen“ einen Namen für das Datenmodell ein und tippen Sie auf Hinzufügen . Ein Datenmodellobjekt wird dem Formulardatenmodell hinzugefügt. Beachten Sie, dass das neu hinzugefügte Datenmodellobjekt nicht an eine Datenquelle gebunden ist und keine Eigenschaften aufweist, wie in der folgenden Abbildung dargestellt.
Als Nächstes können Sie untergeordnete Objekte in nicht gebundenen Datenmodellobjekten hinzufügen.

Hinzufügen von untergeordneten Eigenschaften

Mit dem Formulardatenmodell-Editor können Sie untergeordnete Eigenschaften in einem Datenmodellobjekt erstellen. Die Eigenschaft ist beim Erstellen nicht an eine Eigenschaft in einer Datenquelle gebunden. Sie können die untergeordnete Eigenschaft später mit einer anderen Eigenschaft im enthaltenden Datenmodellobjekt verknüpfen.
Erstellen einer untergeordneten Eigenschaft:
  1. Wählen Sie in einem Formulardatenmodell ein Datenmodellobjekt aus, und tippen Sie auf Untergeordnete Eigenschaft erstellen .
  2. Geben Sie im Dialogfeld Untergeordnete Eigenschaft erstellen einen Namen und einen Datentyp für die Eigenschaft in den Feldern Name und Typ ein. Sie können optional einen Titel und eine Beschreibung für die Eigenschaft angeben.
  3. Aktivieren Sie „Berechnet“, wenn die Eigenschaft eine berechnete Eigenschaft ist. Der Wert einer berechneten Eigenschaft wird basierend auf einer Regel oder einem Ausdruck ausgewertet. Weitere Informationen finden Sie unter Eigenschaften bearbeiten .
  4. Wenn das Datenmodellobjekt an eine Datenquelle gebunden ist, wird die hinzugefügte untergeordnete Eigenschaft automatisch an die Eigenschaft des übergeordneten Datenmodellobjekts mit demselben Namen und Datentyp gebunden.
    Um eine untergeordnete Eigenschaft manuell mit einer Datenmodellobjekteigenschaft zu verknüpfen, tippen Sie auf das Symbol zum Durchsuchen neben dem Feld Bindungsverweis . Im Dialogfeld Objekt auswählen werden alle Eigenschaften des übergeordneten Datenmodellobjekts aufgelistet. Wählen Sie eine Eigenschaft zum Binden aus und tippen Sie auf das Häkchensymbol. Beachten Sie, dass Sie nur eine Eigenschaft des gleichen Datentyps wie die untergeordnete Eigenschaft auswählen können.
  5. Tippen Sie auf Fertig , um die Verknüpfung zu speichern, und dann auf Speichern , um das Formulardatenmodell zu speichern. Die untergeordnete Eigenschaft wird jetzt zum Datenmodellobjekt hinzugefügt.
Nachdem Sie Datenmodellobjekte und -eigenschaften erstellt haben, können Sie weiterhin basierend auf dem Formulardatenmodell adaptive Formulare und interaktive Kommunikationen erstellen. Später, wenn Datenquellen verfügbar und konfiguriert sind, können Sie das Formulardatenmodell mit Datenquellen verknüpfen. Die Bindung wird automatisch in zugeordneten adaptiven Formularen und interaktiver Kommunikation aktualisiert. For more information about creating adaptive forms and interactive communications using form data model, see Use form data model .

Datenmodellobjekte und -eigenschaften binden

When the data sources you want to integrate with the form data model are available, you can add them to the form data model as described in Update data sources . Führen Sie anschließend folgende Schritte durch, um die ungebundenen Datenmodellobjekte und -eigenschaften zu binden:
  1. Wählen Sie im Formulardatenmodell die ungebundene Datenquelle aus, die Sie mit einer Datenquelle binden möchten.
  2. Tippen Sie auf Eigenschaften bearbeiten .
  3. Tippen Sie im Bereich Eigenschaften bearbeiten auf das Suchsymbol neben dem Feld Bindung . Es öffnet sich das Dialogfeld Objekt auswählen , in dem Datenquellen aufgelistet sind, die im Formulardatenmodell hinzugefügt wurden.
  4. Erweitern Sie den Datenquellenbaum, und wählen Sie ein Datenmodellobjekt aus, mit dem eine Bindung hergestellt werden soll, und tippen Sie auf das Häkchensymbol.
  5. Tippen Sie auf Fertig , um die Eigenschaften zu speichern, und dann auf Speichern , um das Formulardatenmodell zu speichern. Das Datenmodellobjekt ist jetzt an eine Datenquelle gebunden. Beachten Sie, dass das Datenmodellobjekt nicht mehr als ungebunden markiert ist.

Dienste konfigurieren

Um Daten für ein Datenmodellobjekt zu lesen und zu schreiben, gehen Sie folgendermaßen vor, um Lese- und Schreibdienste zu konfigurieren:
  1. Aktivieren Sie das Kontrollkästchen am oberen Rand eines Datenmodellobjekts, um es auszuwählen, und tippen Sie auf Eigenschaften bearbeiten .
    Eigenschaften bearbeiten, um Lese- und Schreibdienste für Datenmodellobjekte zu konfigurieren
    Das Dialogfeld „Eigenschaften bearbeiten“ wird geöffnet.
    Dialogfeld „Eigenschaften bearbeiten“
    Das OData-Dienst-Metadatendokument enthält außer den Datenmodellobjekten und Diensten Navigationseigenschaften, die die Verknüpfung zwischen zwei Datenmodellobjekten definieren. Wenn Sie eine OData-Dienst-Datenquelle zu einem Formulardatenmodell hinzufügen, steht im Formulardatenmodell ein Dienst für alle Navigationseigenschaften in einem Datenmodellobjekt zur Verfügung. Mithilfe dieses Dienstes können Sie die Navigationseigenschaften des entsprechenden Datenmodellobjekts lesen.
    Weitere Informationen zur Verwendung des Dienstes finden Sie unter Arbeiten mit Navigationseigenschaften von OData-Diensten.
  2. Durch Aktivieren oder Deaktivieren von Top Level Object legen Sie fest, ob das Datenmodellobjekt ein Modellobjekt der obersten Ebene ist.
    Datenmodellobjekte, die in einem Formulardatenmodell konfiguriert sind, stehen auf der Registerkarte „Datenmodellobjekte“ im Inhaltsbrowser adaptiver Formulare zur Verfügung, die auf dem Formulardatenmodell basieren. Wenn Sie eine Verknüpfung zwischen zwei Datenmodellobjekten hinzufügen, wird das Ziel-Datenmodellobjekt auf der Registerkarte Datenmodellobjekte unter dem Ausgangs-Datenmodellobjekt geschachtelt. Wenn das verschachtelte Datenmodell ein Objekt der obersten Ebene ist, wird es auch separat auf der Registerkarte „Datenmodellobjekte“ angezeigt. Daher werden zwei Einträge angezeigt, einer innerhalb und einer außerhalb der geschachtelten Hierarchie, was die Formularautoren verwirren könnte. Damit das zugeordnete Datenmodellobjekt nur in der verschachtelten Hierarchie angezeigt wird, deaktivieren Sie die Eigenschaft „Top Level Object“.
  3. Wählen Sie Lese- und Schreibdienste für die ausgewählten Datenmodellobjekte aus. Die Argumente für die Dienste werden angezeigt.
    Für die Mitarbeiterdatenquelle konfigurierte Lese- und Schreibdienste
  4. Tap for the read service argument to bind the argument to a User Profile Attribute, Request Attribute, or Literal value and specify the binding value.
  5. Tippen Sie auf Fertig , um das Argument zu speichern, dann auf Fertig , um die Eigenschaften zu speichern, und schließlich auf Speichern , um das Formulardatenmodell zu speichern.

Argumente des Bind Read-Dienstes

Bind Read-Dienstargument an ein User Profil-Attribut, ein Request-Attribut oder einen Literalwert basierend auf einem Bindungswert. Der Wert wird als Argument an den Dienst übergeben, um Details abzurufen, die mit dem angegebenen Wert aus der Datenquelle verknüpft sind.

Literalwert

Wählen Sie Literal aus dem Dropdownmenü Bindung an und geben Sie einen Wert in das Feld Bindungswert ein. Die mit dem Wert verknüpften Details werden aus der Datenquelle abgerufen. Verwenden Sie diese Option, um Details abzurufen, die mit einem statischen Wert verknüpft sind.
In diesem Beispiel werden die mit 4367655678 als Wert für das mobilenum Argument verknüpften Details aus der Datenquelle abgerufen. Die zugehörigen Details, wenn Sie den Wert für ein Mobiltelefonargument übergeben, können Eigenschaften wie Kundenname, Kundenadresse und Ort enthalten.

Benutzerprofilattribut

Wählen Sie User Profil Attribute aus dem Dropdownmenü Bindung an und geben Sie den Attributnamen in das Feld Bindungswert ein. Die Details des Benutzers, der bei der AEM-Instanz angemeldet ist, werden anhand des Attributnamens aus der Datenquelle abgerufen.
Der im Feld Bindungswert angegebene Attributname muss den vollständigen Bindungspfad bis zum Attributnamen des Benutzers enthalten. Öffnen Sie die folgende URL, um auf die Benutzerdetails in CRXDE zuzugreifen:
https://<Servername>: /crx/de/index.jsp#/home/users/
Geben Sie in diesem Beispiel profile.empid im Feld Bindungswert für den grios Benutzer an.
The id argument takes the value of the empid attribute of the user profile and pass it as an argument to the Read service. Es liest und gibt Werte der zugehörigen Eigenschaften aus dem Datenmodellobjekt des Mitarbeiters für den mit dem angemeldeten Benutzer empid verknüpften Benutzer zurück.

Anfrage-Attribut

Verwenden Sie das Anforderungsattribut, um die zugehörigen Eigenschaften aus der Datenquelle abzurufen.
  1. Wählen Sie im Dropdown-Menü " Bindung an "die Option "Attribut ​anfordern"und geben Sie den Attributnamen in das Feld " Bindungswert "ein.
  2. Öffnen Sie head.jsp, um die Attributdetails in CRXDE zu definieren: https://<server-name>:<port number>/crx/de/index.jsp#/libs/fd/af/components/page2/afStaticTemplatePage/head.jsp
  3. Fügen Sie den folgenden Text in die Datei head.jsp ein:
    <%Map paraMap = new HashMap();
     paraMap.put("<request_attribute>",request.getParameter("<request_attribute>"));
     request.setAttribute("paramMap",paraMap);%>
    
    
Die Details werden basierend auf dem in der Anforderung angegebenen Attributnamen aus der Datenquelle abgerufen.
Wenn Sie beispielsweise Attribut wie petid=100 in der Anforderung angeben, werden Eigenschaften abgerufen, die mit dem Attributwert aus der Datenquelle verknüpft sind.

Verknüpfungen hinzufügen

In der Regel werden Verknüpfungen zwischen Datenmodellobjekten in einer Datenquelle erstellt. Dies können Eins-zu-Eins- oder Eins-zu-Viele-Verknüpfungen sein. So könnten mehrere Angehörige mit einem Mitarbeiter verknüpft sein. Dies wird als Eins-zu-Viele-Verknüpfung bezeichnet und in der Form 1:n auf der Linie dargestellt, die die zugeordneten Datenmodellobjekte verbindet. Wenn jedoch eine Verknüpfung einen eindeutigen Mitarbeiternamen für eine gegebene Mitarbeiter-ID zurückgibt, wird dies als Eins-zu-Eins-Verknüpfung bezeichnet.
Wenn Sie verknüpfte Datenmodellobjekte in einer Datenquelle zu einem Formulardatenmodell hinzufügen, werden deren Verknüpfungen beibehalten und als durch Pfeilzeilen verbundene Elemente angezeigt. Sie können in einem Formulardatenmodell Verknüpfungen zwischen Datenmodellobjekten über unterschiedliche Datenquellen hinweg hinzufügen.
Vordefinierte Verknüpfungen in einer JDBC-Datenquelle werden nicht im Formulardatenmodell beibehalten. Sie müssen sie manuell erstellen.
So fügen Sie eine Verknüpfung hinzu:
  1. Aktivieren Sie das Kontrollkästchen oben in einem Datenmodellobjekt, um dieses auszuwählen, und tippen Sie auf Verknüpfung hinzufügen . Das Dialogfeld „Verknüpfung hinzufügen“ wird geöffnet.
    Das OData-Dienst-Metadatendokument enthält außer den Datenmodellobjekten und Diensten Navigationseigenschaften, die die Verknüpfung zwischen zwei Datenmodellobjekten definieren. Sie können diese Navigationsfunktionen verwenden, wenn Sie Verknüpfungen im Formulardatenmodell hinzufügen. Weitere Informationen finden Sie unter Arbeiten mit Navigationseigenschaften von OData-Diensten .
    Das Dialogfeld „Verknüpfung hinzufügen“ wird geöffnet.
    Dialogfeld „Verknüpfung hinzufügen“
  2. Im Bereich „Verknüpfung hinzufügen“:
    • Geben Sie einen Titel für die Verknüpfung an.
    • Wählen Sie den Assoziierungstyp aus — Ein zu eins oder eins zu viele.
    • Wählen Sie das Datenmodellobjekt aus, zu dem Sie die Verknüpfung erstellen möchten.
    • Wählen Sie den Lesedienst, der die Daten aus dem ausgewählten Modellobjekt lesen soll. Das Argument für den Lesedienst wird angezeigt. Bearbeiten Sie das Argument gegebenenfalls mit den nötigen Änderungen, und binden Sie es an die Eigenschaft des zu verknüpfenden Datenmodellobjekts.
    Im folgenden Beispiel ist dependentid das Standardargument für den Lesedienst des Datenmodellobjekts „Angehörige“.
    Standardargument für den Lesedienst für „Angehörige“ ist „dependentid“
    Das Argument muss allerdings eine mit dem verknüpfenden Datenmodellobjekt gemeinsame Eigenschaft sein, in diesem Beispiel Employeeid . Therefore, the Employeeid argument must be bound to the id property of the Employee data model object to fetch the associated dependents details from the Dependents data model object.
    Aktualisiertes Argument und Bindung
    Tippen Sie auf Fertig , um das Argument zu speichern.
  3. Tippen Sie auf Fertig , um die Verknüpfung zu speichern, und dann auf Speichern , um das Formulardatenmodell zu speichern.
  4. Wiederholen Sie diese Schritte, um nach Bedarf weitere Verknüpfungen zu erstellen.
Die hinzugefügte Verknüpfung wird der Box für das Datenmodellobjekt mit dem angegebenen Titel und einer Linie angezeigt, die die verknüpften Datenmodellobjekte verbindet.
You can edit an association by selecting the checkbox against it and tap Edit Association .

Eigenschaften bearbeiten

Sie können Eigenschaften von Datenmodellobjekten, Eigenschaften sowie m Formulardatenmodell hinzugefügte Dienste bearbeiten.
Eigenschaften bearbeiten
  1. Aktivieren Sie im Formulardatenmodell das Kontrollkästchen neben einem Datenmodellobjekt, einer Eigenschaft oder einem Dienst.
  2. Tippen Sie auf Eigenschaften bearbeiten . Der Bereich Eigenschaften bearbeiten für das ausgewählte Modellobjekt, die Eigenschaft oder den Dienst wird geöffnet.
    • Datenmodellobjekt : Geben Sie die Lese- und Schreibdienste an und bearbeiten Sie Argumente.
    • Eigenschaft : Geben Sie den Typ, den Untertyp und das Format für die Eigenschaft an. Sie können außerdem angeben, ob die ausgewählte Eigenschaft der Primärschlüssel für das Datenmodellobjekt ist.
    • Dienst : Geben Sie das Eingabemodellobjekt, den Ausgabetyp und Argumente für den Dienst an. Bei einem Get-Dienst können Sie angeben, ob ein Array als Rückgabe erwartet wird.
    Dialogfeld „Eigenschaften bearbeiten“ für einen Get-Dienst
  3. Tippen Sie auf Fertig , um die Eigenschaften zu speichern, und dann auf Speichern , um das Formulardatenmodell zu speichern.

Berechnete Eigenschaften erstellen

Eine berechnete Eigenschaft ist diejenige, deren Wert basierend auf einer Regel oder einem Ausdruck berechnet wird. Mithilfe einer Regel können Sie den Wert einer berechneten Eigenschaft auf eine Literalzeichenfolge, eine Zahl, das Ergebnis eines mathematischen Ausdrucks oder den Wert einer anderen Eigenschaft im Formulardatenmodell festlegen.
Beispielsweise können Sie eine berechnete Eigenschaft FullName erstellen, deren Wert ein Ergebnis der Verkettung der vorhandenen Eigenschaften FirstName und LastName ist. Gehen Sie dazu wie folgt vor:
  1. Create a new property with the name FullName whose data type is String.
  2. Aktivieren Sie Berechnet und tippen Sie auf Fertig , um die Eigenschaft zu erstellen.
    Die berechnete FullName-Eigenschaft wird erstellt. Beachten Sie das Symbol neben der Eigenschaft, um eine berechnete Eigenschaft darzustellen.
  3. Wählen Sie die FullName-Eigenschaft und tippen Sie auf Regel bearbeiten . Das Fenster „Regeleditor“ wird geöffnet.
  4. Im Fenster des Regeleditors tippen Sie auf Erstellen . Ein Regelfenster Wert festlegen wird geöffnet.
    Wählen Sie in der Dropdown-Liste die Mathematischer Ausdruck . Weitere verfügbare Optionen sind Formulardatenmodellobjekt und Zeichenfolge .
  5. Wählen Sie im mathematischen Ausdruck FirstName und LastName im ersten bzw. zweiten Objekt aus. Wählen Sie plus als Bediener.
    Tap Done and then tap Close to close the rule editor window. Die Regel sieht ähnlich der Folgenden aus:
  6. Tippen Sie im Formulardatenmodell auf Speichern . Die berechnete Eigenschaft ist konfiguriert.

Arbeiten mit Navigationseigenschaften von OData-Diensten

In OData-Diensten werden Navigationseigenschaften verwendet, um Zuordnungen zwischen zwei Datenmodellobjekten zu definieren. Diese Eigenschaften werden für einen Entitätstyp oder einen komplexen Typ definiert. For example, in the following extract from the metadata file of the sample TripPin OData sample services, the person entity contains three navigation properties - Friends, BestFriend, and Trips.
Weitere Informationen finden Sie in der OData-Dokumentation .
<edmx:Edmx xmlns:edmx="https://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
<script/>
<edmx:DataServices>
<Schema xmlns="https://docs.oasis-open.org/odata/ns/edm" Namespace="Microsoft.OData.Service.Sample.TrippinInMemory.Models">
<EntityType Name="Person">
<Key>
<PropertyRef Name="UserName"/>
</Key>
<Property Name="UserName" Type="Edm.String" Nullable="false"/>
<Property Name="FirstName" Type="Edm.String" Nullable="false"/>
<Property Name="LastName" Type="Edm.String"/>
<Property Name="MiddleName" Type="Edm.String"/>
<Property Name="Gender" Type="Microsoft.OData.Service.Sample.TrippinInMemory.Models.PersonGender" Nullable="false"/>
<Property Name="Age" Type="Edm.Int64"/>
<Property Name="Emails" Type="Collection(Edm.String)"/>
<Property Name="AddressInfo" Type="Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Location)"/>
<Property Name="HomeAddress" Type="Microsoft.OData.Service.Sample.TrippinInMemory.Models.Location"/>
<Property Name="FavoriteFeature" Type="Microsoft.OData.Service.Sample.TrippinInMemory.Models.Feature" Nullable="false"/>
<Property Name="Features" Type="Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Feature)" Nullable="false"/>
<NavigationProperty Name="Friends" Type="Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person)"/>
<NavigationProperty Name="BestFriend" Type="Microsoft.OData.Service.Sample.TrippinInMemory.Models.Person"/>
<NavigationProperty Name="Trips" Type="Collection(Microsoft.OData.Service.Sample.TrippinInMemory.Models.Trip)"/>
</EntityType>

Wenn Sie einen OData-Dienst in einem Formulardatenmodell konfigurieren, werden alle Navigationseigenschaften in einem Entitätencontainer über einen Dienst im Formulardatenmodell bereitgestellt. In this example of TripPin OData service, the three navigation properties in the Person entity container can be read using one GET LINK service in the Form Data Model.
The following highlights the GET LINK of Person /People service in the Form Data Model, which is a combined service for the three navigation properties in the Person entity of the TripPin OData service.
Sobald Sie den GET LINK -Dienst auf der Registerkarte „Dienste“ im Formulardatenmodell hinzufügen, können Sie die Eigenschaften bearbeiten, um das Modellobjekt für die Ausgabe und die im Dienst zu verwendende Navigationseigenschaft zu wählen. For example, the following GET LINK of Person /People service in the following example uses Trip as the output model object and the navigation property as Trips.
The values available in the Default Value field of the NavigationPropertyName argument depend on the state of the Return array? ab. Wenn diese Funktion aktiviert ist, zeigt sie Navigationsfunktionen des Typs Sammlung an.
In this example, you can also choose the output model object as Person and navigation property argument as Friends or BestFriend (depending on whether Return array?  aktiviert oder deaktiviert ist).
Darüber hinaus können Sie beim Hinzufügen von Verknüpfungen im Formulardatenmodell einen GET LINK -Dienst wählen und seine Navigationseigenschaften konfigurieren. Damit eine Navigationseigenschaft gewählt werden kann, müssen Sie jedoch darauf achten, dass im Feld ​Bindung an der Wert Literal eingestellt ist.

Generieren und Bearbeiten von Beispieldaten

Mit dem Formulardatenmodell-Editor können Sie Beispieldaten für alle Datenmodellobjekteigenschaften, einschließlich berechneter Eigenschaften, in einem Formulardatenmodell generieren. Es ist eine Gruppe von zufälligen Werten, die dem für jede Eigenschaft konfigurierten Datentyp entsprechen. Sie können auch Daten bearbeiten und speichern, die auch dann beibehalten werden, wenn Sie die Beispieldaten neu generieren.
Gehen Sie folgendermaßen vor, um Beispieldaten zu generieren und zu bearbeiten:
  1. Öffnen Sie ein Formulardatenmodell und tippen Sie auf Beispieldaten bearbeiten . Es werden Beispieldaten im Fenster „Beispieldaten bearbeiten“ generiert und angezeigt.
  2. Bearbeiten Sie im Fenster Beispieldaten bearbeiten Daten je nach Bedarf und tippen Sie auf Speichern .
Als Nächstes können Sie die Beispieldaten verwenden, um interaktive Kommunikation basierend auf dem Formulardatenmodell vorabzufüllen und zu testen. Weitere Informationen finden Sie unter Verwenden eines Formulardatenmodells .

Datenmodellobjekte und Dienste testen

Ihr Formulardatenmodell ist konfiguriert. Bevor Sie es verwenden, sollten Sie jedoch testen, ob die konfigurierten Datenmodellobjekte und Dienste erwartungsgemäß funktionieren. Datenmodellobjekte und Dienste testen
  1. Wählen Sie ein Datenmodellobjekt oder einen Dienst im Formulardatenmodell aus und tippen Sie auf Testmodell-Objekt bzw. Test-Dienst .
    Das Fenster „Formulardatenmodell testen“ wird geöffnet.
  2. Wählen Sie im Fenster „Formulardatenmodell testen“ unter „Eingabe“ das zu testende Datenmodellobjekt bzw. den Dienst.
  3. Geben Sie den Wert des Arguments in den Testcode ein und tippen Sie auf Testen . Ist der Test erfolgreich, wird die Ausgabe im Bereich „Ausgabe“ angezeigt.
Auf ähnliche Weise können Sie andere Datenmodellobjekte und Dienste im Formulardatenmodell testen.

Automatisierte Validierung von Eingabedaten

Das Formulardatenmodell validiert Daten, die beim Aufrufen der DermisBridge-API als Eingabe empfangen wurden (basierend auf den im Formulardatenmodell verfügbaren Validierungskriterien). Die Überprüfung basiert auf dem ValidationOptions Flag im Abfrage-Objekt, das zum Aufrufen der API verwendet wird.
Das Flag kann auf einen der folgenden Werte eingestellt werden:
  • VOLLSTÄNDIG : FDM führt die Überprüfung anhand aller Einschränkungen durch
  • AUS : Keine Überprüfung
  • GRUNDLAGE : FDM führt die Validierung anhand der Beschränkungen "Erforderlich"und "Nullbar"durch
Wenn für das ValidationOptions Flag kein Wert festgelegt ist, wird die BASIC -Überprüfung der Eingabedaten durchgeführt.
Im Folgenden finden Sie ein Beispiel für die Einstellung des Überprüfungszeichens auf FULL :
operationOptions.setValidationOptions(ValidationOptions.FULL);

Der Wert, den Sie für ein Attribut in den Eingabedaten angeben, muss mit dem Datentyp übereinstimmen, der für das Attribut im Metadaten-Dokument definiert wurde. Wenn der Wert nicht mit dem für das Attribut definierten Datentyp übereinstimmt, zeigt die DermisBridge-API unabhängig vom Wert des ValidationOptions Flag eine Ausnahme an. Wenn die Protokollebene auf "Debug"festgelegt ist, wird ein Fehler bei der Datei " error.log "protokolliert.
Das Formulardatenmodell validiert Eingabedaten auf der Grundlage einer Liste von Datentypbeschränkungen. Die Liste von Einschränkungen für Eingabedaten kann je nach Datenquelle variieren.
In der folgenden Tabelle werden die Einschränkungen für Eingabedaten basierend auf der Datenquelle Liste:
Einschränkungen Beschreibung Eingabedatenquelle
erforderlich Wenn "true", muss der Parameter in die Eingabedaten aufgenommen werden. Swagger, WSDL und Datenbank
nullable Wenn "true", kann der Wert für den Parameter in den Eingabedaten auf Null gesetzt werden. WSDL, Odata und Datenbank
maximum Gibt die Obergrenze für numerische Werte an. Der als Obergrenze angegebene Wert kann auch dem Parameter in den Eingabedaten zugewiesen werden. Swagger und WSDL
minimum Gibt die untere Grenze für numerische Werte an. Der als Untergrenze angegebene Mindestwert kann auch dem Parameter in den Eingabedaten zugewiesen werden. Swagger und WSDL
exclusiveMaximum Gibt die Obergrenze für numerische Werte an. Der als Obergrenze angegebene Wert darf nicht dem Parameter in den Eingabedaten zugewiesen werden. Swagger und WSDL
exclusiveMinimum Gibt die untere Grenze für numerische Werte an. Der als Untergrenze angegebene Mindestwert darf dem Parameter in den Eingabedaten nicht zugewiesen werden. Swagger und WSDL
minLength Gibt die untere Grenze für die Anzahl der Zeichen in einer Zeichenfolge an. Der als Untergrenze angegebene Mindestwert kann auch dem Parameter in den Eingabedaten zugewiesen werden. Swagger und WSDL
maxLength Gibt die Obergrenze für die Anzahl der Zeichen an, die in einer Zeichenfolge enthalten sind. Der als Obergrenze angegebene Wert kann auch dem Parameter in den Eingabedaten zugewiesen werden. Swagger, WSDL, Odata und Datenbank
pattern Gibt eine feste Zeichenfolge an. Die Eingabezeichenfolge wird nur dann erfolgreich validiert, wenn die Zeichen dem angegebenen Muster entsprechen. Swagger
minItems Gibt die Mindestanzahl von Elementen in einem Array an. Der als Untergrenze angegebene Mindestwert kann auch dem Parameter in den Eingabedaten zugewiesen werden. Swagger und WSDL
maxItems Gibt die maximale Anzahl von Elementen in einem Array an. Der als Obergrenze angegebene Wert kann auch dem Parameter in den Eingabedaten zugewiesen werden. Swagger und WSDL
uniqueItems Wenn "true", müssen alle Elemente des Arrays in den Eingabedaten eindeutig sein. Swagger
enum (Zeichenfolge) Beschränkt den Wert eines Parameters in den Eingabedaten auf einen festen Satz von Zeichenfolgenwerten. Es muss sich um ein Array mit mindestens einem Element handeln, wobei jedes Element eindeutig ist. Swagger, WSDL und Odata
enum (number) Beschränkt den Wert eines Parameters in den Eingabedaten auf einen festen Satz numerischer Werte. Es muss sich um ein Array mit mindestens einem Element handeln, wobei jedes Element eindeutig ist. WSDL
In diesem Beispiel werden die Eingabedaten anhand der in der Swagger-Datei definierten Beschränkungen "maximum", "minimum"und "required"validiert. Die Eingabedaten erfüllen die Validierungskriterien nur, wenn die Bestell-ID vorhanden ist und ihr Wert zwischen 1 und 10 liegt.
parameters: [
{
name: "orderId",
in: "path",
description: "ID of pet that needs to be fetched",
required: true,
type: "integer",
maximum: 10,
minimum: 1,
format: "int64"
}
]

Eine Ausnahme wird angezeigt, wenn die Eingabedaten die Überprüfungskriterien nicht erfüllen. Wenn die Protokollebene auf " Debug "festgelegt ist, wird ein Fehler bei der Datei " error.log "protokolliert. Beispiel:
21.01.2019 17:26:37.411 *ERROR* com.adobe.aem.dermis.core.validation.JsonSchemaValidator {"errorCode":"AEM-FDM-001-044","errorMessage":"Input validations failed during operation execution.","violations":{"/orderId":["numeric instance is greater than the required maximum (maximum: 10, found: 16)"]}}

Nächste Schritte

Sie haben ein funktionierendes Formulardatenmodell, das jetzt für die Verwendung in adaptiven Formularen und interaktiven Kommunikationsworkflows bereit ist. Weitere Informationen finden Sie unter Verwenden eines Formulardatenmodells .