Arbeiten mit einem Formulardatenmodell work-with-form-data-model

Version
Artikel-Link
AEM as a Cloud Service
Hier klicken
AEM 6.5
Dieser Artikel

data-integration

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 Services 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 kein Formulardatenmodell erstellt haben, lesen Sie folgende Themen:

Erfahren Sie weitere Details zu verschiedenen Aufgaben und Konfigurationen, die Sie mit dem Formulardatenmodell-Editor durchführen können.

NOTE
Sie müssen Mitglied der beiden Gruppen fdm-author und forms-user sein, um Formulardatenmodelle erstellen und verwenden zu können. Wenden Sie sich an Ihre AEM-Admins, um Mitglied der Gruppe zu werden.

Hinzufügen von Datenmodellobjekten und Services add-data-model-objects-and-services

Nachdem Sie ein Formulardatenmodell mit Datenquellen erstellt haben, können Sie mit dem Formulardatenmodell-Editor Datenmodellobjekte und -Services hinzufügen, ihre Eigenschaften konfigurieren, Verknüpfungen zwischen Datenmodellobjekten erstellen sowie das Formulardatenmodell und die Services testen.

Sie können Datenmodellobjekte und Services aus verfügbaren Datenquellen zum Formulardatenmodell hinzufügen. Dabei werden hinzugefügte Datenmodellobjekte auf der Registerkarte „Modell“ und hinzugefügte Services auf der Registerkarte „Services“ angezeigt.

Hinzufügen von Datenmodellobjekten und Services:

  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 Services anzuzeigen.

  3. Wählen Sie Datenmodellobjekte und Dienste aus, die Sie dem Formulardatenmodell hinzufügen möchten, und wählen Sie Ausgewählte hinzufügen.

    selected-objects

    Ausgewählte Datenmodellobjekte und Services

    note note
    NOTE
    Wenn Ihr Datenmodell in Forms ein Objekt enthält, das ein reserviertes Keyword für Ihre relationale Datenbank ist, kann dies zu Problemen beim Hinzufügen, Aktualisieren oder Abrufen von Daten führen. Vermeiden Sie daher die Verwendung solcher Objekte in Ihrem Formulardatenmodell.

    Auf der Registerkarte Modell wird eine grafische Darstellung aller Datenmodellobjekte und ihrer Eigenschaften angezeigt, die zum Formulardatenmodell hinzugefügt wurden. Jedes Datenmodellobjekt wird durch ein Feld im Formulardatenmodell dargestellt.

    model-tab

    Registerkarte Modell mit hinzugefügten Datenmodellobjekten

    note note
    NOTE
    Sie können die Datenmodellobjektfelder durch Ziehen im Inhaltsbereich anordnen. Alle im Formulardatenmodell hinzugefügten Datenmodellobjekte werden im Bereich „Datenquellen“ ausgegraut.

    Auf der Registerkarte Services wird eine Liste der hinzugefügten Services angezeigt.

    services-tab

    Registerkarte Services mit Datenmodell-Services

    note note
    NOTE
    Das OData-Service-Metadatendokument enthält außer den Datenmodellobjekten und Services Navigationseigenschaften, die die Verknüpfung zwischen zwei Datenmodellobjekten definieren. Weitere Informationen finden Sie unter Arbeiten mit Navigationseigenschaften von OData-Services.
  4. Wählen Sie Speichern aus, um das Formularmodellobjekt zu speichern.

    note note
    NOTE
    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 im Thema zum Aufrufen von Diensten und Festlegen von Werten für Regeln im Regeleditor.

Datenmodellobjekte und untergeordnete Eigenschaften erstellen create-data-model-objects-and-child-properties

Erstellen von Datenmodellobjekten create-data-model-objects

Sie können zwar Datenmodellobjekte aus konfigurierten Datenquellen hinzufügen, aber auch Datenmodellobjekte oder Entitäten ohne Datenquellen erstellen. Dies ist insbesondere dann hilfreich, wenn Sie im Formulardatenmodell keine Datenquellen konfiguriert haben.

So erstellen Sie ein Datenmodellobjekt ohne Datenquellen:

  1. Melden Sie sich bei der AEM-Autorinstanz an, navigieren Sie zu Formulare > Datenintegrationen und öffnen Sie das Formulardatenmodell, zu dem Sie ein Datenmodellobjekt oder eine Entität hinzufügen möchten.

  2. Wählen Sie Entität erstellen aus.

  3. Geben Sie im Dialogfeld „Datenmodell erstellen“ einen Namen für das Datenmodellobjekt ein und wählen Sie Hinzufügen aus. Ein Datenmodellobjekt wird dem Formulardatenmodell hinzugefügt. Das neu hinzugefügte Datenmodellobjekt ist nicht an eine Datenquelle gebunden und weist keine Eigenschaften auf, wie in folgender Abbildung dargestellt.

    new-entity

Als Nächstes können Sie untergeordnete Eigenschaften zu ungebundenen Datenmodellobjekten hinzufügen.

Hinzufügen von untergeordneten Eigenschaften child-properties

Mit dem Formulardatenmodelleditor können Sie untergeordnete Eigenschaften in einem Datenmodellobjekt erstellen. Die Eigenschaft ist bei der Erstellung an keine Eigenschaft in einer Datenquelle gebunden. Sie können die untergeordnete Eigenschaft später mit einer anderen Eigenschaft im enthaltenen Datenmodellobjekt verknüpfen.

Erstellen einer untergeordneten Eigenschaft:

  1. Wählen Sie in einem Formulardatenmodell ein Datenmodellobjekt und dann Untergeordnete Eigenschaft erstellen aus.

  2. Geben Sie im Dialogfeld Untergeordnete Eigenschaft erstellen unter Name und Typ einen Namen bzw. einen Datentyp für die Eigenschaft an. Sie können optional einen Titel und eine Beschreibung für die Eigenschaft angeben.

  3. Aktivieren Sie die Option „Berechnet“, wenn die Eigenschaft eine berechnete Eigenschaft ist. Der Wert einer berechneten Eigenschaft wird anhand einer Regel oder eines Ausdrucks ausgewertet. Weitere Informationen finden Sie unter Bearbeiten von Eigenschaften.

  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, wählen Sie das Symbol zum Durchsuchen neben dem Feld Bindungsverweis aus. Im Dialogfeld Objekt auswählen sind alle Eigenschaften des übergeordneten Datenmodellobjekts aufgeführt. Wählen Sie eine Eigenschaft aus, mit der Sie eine Verknüpfung erstellen möchten, und wählen Sie das Häkchensymbol aus. Beachten Sie, dass Sie nur eine Eigenschaft mit demselben Datentyp wie die untergeordnete Eigenschaft auswählen können.

  5. Wählen Sie Fertig aus, um die untergeordnete Eigenschaft zu speichern, und wählen Sie dann Speichern aus, um das Formulardatenmodell zu speichern. Die untergeordnete Eigenschaft wird jetzt zum Datenmodellobjekt hinzugefügt.

Nachdem Sie Datenmodellobjekte und -eigenschaften erstellt haben, können Sie weitere adaptive Formulare auf Grundlage des Formulardatenmodells erstellen. Wenn später Datenquellen verfügbar und konfiguriert sind, können Sie das Formulardatenmodell an Datenquellen binden. Die Bindung wird automatisch in zugeordneten adaptiven Formularen und interaktiver Kommunikation aktualisiert. Weitere Informationen zum Erstellen adaptiver Formulare und interaktiver Kommunikationen mithilfe des Formulardatenmodells finden Sie unter Verwenden des Formulardatenmodells.

Binden von Datenmodellobjekten und -eigenschaften bind-data-model-objects-and-properties

Wenn die Datenquellen, die Sie in das Formulardatenmodell integrieren möchten, verfügbar sind, können Sie sie dem Formulardatenmodell hinzufügen, wie in Aktualisieren von Datenquellen beschrieben. Gehen Sie dann wie folgt vor, um die ungebundenen Datenmodellobjekte und -eigenschaften zu binden:

  1. Wählen Sie im Formulardatenmodell die ungebundene Datenquelle aus, die Sie an eine Datenquelle binden möchten.

  2. Wählen Sie Eigenschaften bearbeiten aus.

  3. Wählen Sie im Bedienfeld Eigenschaften bearbeiten das Symbol zum Durchsuchen neben dem Feld Bindung aus. Er öffnet sich das Dialogfeld Objekt auswählen mit den Datenquellen, die zum Formulardatenmodell hinzugefügt wurden.

    select-object

  4. Erweitern Sie die Datenquellenstruktur, wählen Sie ein Datenmodellobjekt aus, an das Sie eine Bindung herstellen möchten, und wählen Sie das Häkchensymbol aus.

  5. Wählen Sie Fertig aus, um die Eigenschaften zu speichern, und wählen Sie dann Speichern aus, um das Formulardatenmodell zu speichern. Das Datenmodellobjekt ist jetzt an eine Datenquelle gebunden. Beachten Sie, dass das Datenmodellobjekt nicht mehr als ungebunden markiert ist.

    bound-model-object

Konfigurieren von Services configure-services

Um Daten für ein Datenmodellobjekt zu lesen und zu schreiben, gehen Sie folgendermaßen vor, um Lese- und Schreib-Services zu konfigurieren:

  1. Wählen Sie das Kontrollkästchen am oberen Rand des Datenmodellobjekts und dann Eigenschaften bearbeiten aus.

    edit-properties

    Bearbeiten von Eigenschaften, um Lese- und Schreib-Services für Datenmodellobjekte zu konfigurieren

    Der Dialog Eigenschaften bearbeiten wird geöffnet.

    edit-properties-2

    Dialog „Eigenschaften bearbeiten“

    note note
    NOTE
    Das OData-Service-Metadatendokument enthält außer den Datenmodellobjekten und Services Navigationseigenschaften, die die Verknüpfung zwischen zwei Datenmodellobjekten definieren. Wenn Sie eine OData-Service-Datenquelle zu einem Formulardatenmodell hinzufügen, steht im Formulardatenmodell ein Dienst für alle Navigationseigenschaften in einem Datenmodellobjekt zur Verfügung. Mithilfe dieses Service können Sie die Navigationseigenschaften des entsprechenden Datenmodellobjekts lesen.
    Weitere Informationen zur Verwendung des Service finden Sie unter Arbeiten mit Navigationseigenschaften von OData-Services.
  2. Wechseln Sie zu Objekt auf oberster Ebene, um anzugeben, ob das Datenmodellobjekt ein Modellobjekt der obersten Ebene ist.

    Datenmodellobjekte, die in einem Formulardatenmodell konfiguriert sind, stehen auf der Registerkarte „Datenmodellobjekte“ im Inhalts-Browser 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 für Autorinnen und Autoren von Formularen verwirrend sein kann. Damit das zugeordnete Datenmodellobjekt nur in der verschachtelten Hierarchie angezeigt wird, deaktivieren Sie die Eigenschaft „Top Level Object“.

  3. Wählen Sie Lese- und Schreib-Services für die ausgewählten Datenmodellobjekte aus. Die Argumente für die Services werden angezeigt.

    read-write-services

    Für die Mitarbeiterdatenquelle konfigurierte Lese- und Schreib-Services

  4. Wählen Sie aem_6_3_edit für das Argument des Lesedienstes aus, um dieses an ein Benutzerprofilattribut, ein Anforderungsattribut oder einen Literalwert zu binden, und geben Sie den Bindungswert an.

  5. Wählen Sie Fertig aus, um das Argument zu speichern. Wählen Sie dann erneut Fertig aus, um die Eigenschaften zu speichern, und wählen Sie schließlich Speichern aus, um das Formulardatenmodell zu speichern.

Binden von Argumenten des Lese-Service bindargument

Binden Sie das Argument des Lese-Service an ein Benutzerprofilattribut, ein Anforderungsattribut oder einen Literalwert, basierend auf einem Bindungswert. Der Wert wird als Argument an den Service übergeben, um Details abzurufen, die mit dem angegebenen Wert aus der Datenquelle verknüpft sind.

Literalwert literal-value

Wählen Sie Literal aus dem Dropdownmenü Bindung an aus 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 verknüpften Details können beim Übergeben des Werts für ein Mobilnummerargument Eigenschaften wie Kundennamen, Kundenadresse und Ort enthalten.

Literalwert

Benutzerprofilattribut user-profile-attribute

Wählen Sie Benutzerprofilattribut aus dem Dropdownmenü Bindung an aus und geben Sie den Attributnamen in das Feld Bindungswert ein. Die Details des Benutzers, der bei der AEM-Instanz angemeldet ist, werden auf Grundlage des Attributnamens aus der Datenquelle abgerufen.

Der im Feld Bindungswert angegebene Attributname muss den vollständigen Bindungspfad bis zum Attributnamen für die Benutzerin bzw. den Benutzer enthalten. Öffnen Sie die folgende URL, um auf die Benutzerdetails in CRXDE zuzugreifen:

https://[server-name]:[port]/crx/de/index.jsp#/home/users/

Benutzerprofil

Geben Sie in diesem Beispiel profile.empid im Feld Bindungswert für den grios-Benutzer an.

Bearbeiten eines Arguments

In diesem Beispiel nimmt das Argument id den Wert des Attributs empid des Benutzerprofils und übergibt ihn als Argument an den Lese-Service. Dieser liest es und gibt Werte der zugehörigen Eigenschaften aus dem Mitarbeiter-Datenmodellobjekt für empid zurück, das mit dem angemeldeten Benutzer verknüpft ist.

Anforderungsattribut request-attribute

Verwenden Sie das Anforderungsattribut, um die verknüpften Eigenschaften aus der Datenquelle abzurufen.

  1. Wählen Sie Anforderungsattribut aus dem Dropdownmenü Bindung an aus und geben Sie den Attributnamen in das Feld Bindungswert ein.

  2. Erstellen Sie eine Überlagerung für head.jsp. Um die Überlagerung zu erstellen, öffnen Sie CRX DE und kopieren Sie die Datei https://<server-name>:<port number>/crx/de/index.jsp#/libs/fd/af/components/page2/afStaticTemplatePage/head.jsp nach https://<server-name>:<port number>/crx/de/index.jsp#/apps/fd/af/components/page2/afStaticTemplatePage/head.jsp.

    note note
    NOTE
    • Wenn Sie eine statische Vorlage verwenden, überlagern Sie head.jsp unter:
      /libs/fd/af/components/page2/afStaticTemplatePage/head.jsp
    • Wenn Sie eine bearbeitbare Vorlage verwenden, überlagern Sie die Datei aftemplatedpage.jsp unter:
      /libs/fd/af/components/page2/aftemplatedpage/aftemplatedpage.jsp
  3. Legen Sie paramMap für das Anforderungsattribut fest. Fügen Sie beispielsweise folgenden Code in die JSP-Datei im Ordner „Apps“ ein:

    code language-javascript
    <%Map paraMap = new HashMap();
     paraMap.put("<request_attribute>",request.getParameter("<request_attribute>"));
     request.setAttribute("paramMap",paraMap);
    

    Verwenden Sie zum Beispiel folgenden Code, um den Wert von „petid“ aus der Datenquelle abzurufen:

    code language-javascript
    <%Map paraMap = new HashMap();
    paraMap.put("petId",request.getParameter("petId"));
    request.setAttribute("paramMap",paraMap);%>
    

Die Details werden auf Grundlage des in der Anforderung angegebenen Attributnamens aus der Datenquelle abgerufen.

Wenn Sie beispielsweise das Attribut petid=100 in der Anforderung angeben, werden Eigenschaften abgerufen, die mit dem Attributwert aus der Datenquelle verknüpft sind.

Hinzufügen von Verknüpfungen add-associations

In der Regel werden die Datenmodellobjekten in einer Datenquelle mit einander verknüpft. Die Zuordnung kann 1:1 oder 1:n sein. Beispielsweise können einem Mitarbeitenden mehrere abhängige Elemente zugeordnet 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 einem Formulardatenmodell hinzufügen, werden ihre Verknüpfungen beibehalten und mit Pfeillinien verbunden angezeigt. In einem Formulardatenmodell können Sie Verknüpfungen zwischen Datenmodellobjekten über unterschiedliche Datenquellen hinweg hinzufügen.

NOTE
Vordefinierte Verknüpfungen in einer JDBC-Datenquelle werden im Formulardatenmodell nicht beibehalten. Erstellen Sie sie manuell.

So fügen Sie eine Verknüpfung hinzu:

  1. Wählen Sie das Kontrollkästchen am oberen Rand des Datenmodellobjekts und dann  Verknüpfung hinzufügen aus. Das Dialogfeld „Verknüpfung hinzufügen“ wird geöffnet.

    add-associated

    note note
    NOTE
    Das OData-Service-Metadatendokument enthält außer den Datenmodellobjekten und Services Navigationseigenschaften, die die Verknüpfung zwischen zwei Datenmodellobjekten definieren. Sie können diese Navigationseigenschaften verwenden, um Verknüpfungen im Formulardatenmodell hinzuzufügen. Weitere Informationen finden Sie unter Arbeiten mit Navigationseigenschaften von OData-Services.

    Das Dialogfeld „Verknüpfung hinzufügen“ wird geöffnet.

    add-associated-2

    Dialogfeld „Verknüpfung hinzufügen“

  2. Tun Sie Folgendes im Bereich „Verknüpfung hinzufügen“:

    • Geben Sie einen Titel für die Verknüpfung ein.
    • Wählen Sie den Verknüpfungstyp: Eins-zu-Eins oder Eins-zu-Viele.
    • Wählen Sie das Datenmodellobjekt aus, mit dem verknüpft werden soll.
    • Wählen Sie den Lese-Service, der die Daten aus dem ausgewählten Modellobjekt lesen soll. Das Argument des Lese-Service wird angezeigt. Bearbeiten und ändern Sie das Argument bei Bedarf und binden Sie es an die Eigenschaft des gewünschten Datenmodellobjekts.

    Im folgenden Beispiel ist dependentid das Standardargument für den Lese-Service des Datenmodellobjekts „Angehörige“.

    add-associated-example

    Standardargument für den Lese-Service für „Angehörige“ ist „dependentid“

    Das Argument muss allerdings eine mit dem verknüpfenden Datenmodellobjekt gemeinsame Eigenschaft sein, in diesem Beispiel Employeeid. Daher muss das Argument Employeeid an die Eigenschaft id des Mitarbeiter-Datenmodellobjekts gebunden sein, damit die verknüpften Informationen zu Angehörigen aus dem Datenmodellobjekt für Angehörige abgerufen werden können.

    add-associated-example-2

    Aktualisiertes Argument und Bindung

    Wählen Sie Fertig aus, um das Argument zu speichern.

  3. Wählen Sie Fertig, um die Verknüpfung zu speichern, und wählen Sie dann Speichern aus, um das Formulardatenmodell zu speichern.

  4. Wiederholen Sie die Schritte, um nach Bedarf weitere Verknüpfungen zu erstellen.

NOTE
Die hinzugefügte Verknüpfung wird im Feld „Datenmodellobjekt“ mit dem angegebenen Titel und einer Zeile angezeigt, die die verknüpften Datenmodellobjekte miteinander verbindet.
Sie können eine Verknüpfung bearbeiten, indem Sie das Kontrollkästchen neben der Verknüpfung und dann Verknüpfung bearbeiten auswählen.

added-association

Bearbeiten von Eigenschaften properties

Sie können Eigenschaften von Datenmodellobjekten, Eigenschaften sowie m Formulardatenmodell hinzugefügte Services bearbeiten.

So bearbeiten Sie Eigenschaften:

  1. Aktivieren Sie im Formulardatenmodell das Kontrollkästchen neben einem Datenmodellobjekt, einer Eigenschaft oder einem Service.

  2. Wählen Sie Eigenschaften bearbeiten aus. Der Bereich Eigenschaften bearbeiten für das Modellobjekt, die Eigenschaft oder den Service in der Auswahl wird geöffnet.

    • Datenmodellobjekt: Geben Sie die Lese- und Schreib-Services an und bearbeiten Sie Argumente.
    • Eigenschaft: Geben Sie den Typ, den Untertyp und das Format der Eigenschaft an. Sie können auch angeben, ob die ausgewählte Eigenschaft der Primärschlüssel für das Datenmodellobjekt ist.
    • Service: Geben Sie das Eingabemodellobjekt, den Ausgabetyp und Argumente für den Service an. Bei einem Get-Service können Sie angeben, ob ein Array als Rückgabe erwartet wird.

    edit-properties-service

    Dialog „Eigenschaften bearbeiten“ für einen Get-Service

  3. Wählen Sie Fertig aus, um die Eigenschaften zu speichern, und wählen Sie dann Speichern aus, um das Formulardatenmodell zu speichern.

Erstellen berechneter Eigenschaften computed

Eine berechnete Eigenschaft ist diejenige, deren Wert anhand einer Regel oder eines Ausdrucks berechnet wird. Mithilfe einer Regel können Sie den Wert einer berechneten Eigenschaft auf ein Zeichenfolgenliteral, 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. Erstellen Sie eine Eigenschaft mit dem Namen FullName, deren Datentyp „Zeichenfolge“ ist.

  2. Aktivieren Sie Berechnet und wählen Sie dann Fertig aus, um die Eigenschaft zu erstellen.

    computed

    Die berechnete FullName-Eigenschaft wird erstellt. Beachten Sie, dass das Symbol neben der Eigenschaft darstellt, dass es sich um eine berechnete Eigenschaft handelt.

    calculate-prop

  3. Wählen Sie die FullName-Eigenschaft und dann Regel bearbeiten aus. Ein Regeleditor-Fenster wird geöffnet.

  4. Wählen Sie im Fenster des Regeleditors Erstellen aus. Ein Regelfenster Wert festlegen wird geöffnet.

    Wählen Sie in der Dropdownliste Mathematischer Ausdruck. Weitere verfügbare Optionen sind Formulardatenmodellobjekt und Zeichenfolge.

  5. Wählen Sie im mathematischen Ausdruck FirstName und LastName als erstes bzw. zweites Objekt aus. Wählen Sie plus als Operator.

    Wählen Sie Fertig und dann Schließen aus, um das Regeleditorfenster zu schließen. Die Regel sieht ähnlich der Folgenden aus:

    rule

  6. Wählen Sie im Formulardatenmodell Speichern aus. Die berechnete Eigenschaft wird konfiguriert.

Arbeiten mit Navigationseigenschaften von OData-Services work-with-navigation-properties-of-odata-services

In OData-Services werden Navigationseigenschaften verwendet, um Zuordnungen zwischen zwei Datenmodellobjekten zu definieren. Diese Eigenschaften werden für einen Entitätstyp oder einen komplexen Typ definiert. So enthält beispielsweise im folgenden Extract aus der Metadatendatei der TripPin-OData-Beispiel-Services die Entität „Person“ drei Navigationseigenschaften: „Friends“, „BestFriend“ und „Trips“.

Weitere Informationen zu Navigationseigenschaften 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-Service in einem Formulardatenmodell konfigurieren, werden alle Navigationseigenschaften in einem Entitäten-Container über einen Service im Formulardatenmodell bereitgestellt. In diesem Beispiel können im OData-Service „TripPin“ die drei Navigationseigenschaften des Entitäten-Containers Person über ein und denselben GET LINK-Service im Formulardatenmodell gelesen werden.

Im Folgenden wird der Service GET LINK of Person /People im Formulardatenmodell hervorgehoben. Dies ist ein kombinierter Service für die drei Navigationseigenschaften in der Entität Person des OData-Service „TripPin“.

nav-prop-service

Sobald Sie den GET LINK-Service auf der Registerkarte „Services“ im Formulardatenmodell hinzufügen, können Sie die Eigenschaften bearbeiten, um das Modellobjekt für die Ausgabe und die im Service zu verwendende Navigationseigenschaft zu wählen. Im folgenden Beispiel nutzt der Service GET LINK of Person /People die Angabe „Trip“ als Ausgabemodellobjekt und die Navigationseigenschaft als „Trips“.

edit-prop-nav-prop

NOTE
Die im Feld Standardwert des Arguments NavigationPropertyName verfügbaren Werte hängen vom Status des Schalters Rückgabe-Array? ab. Wenn er aktiviert ist, werden die Navigationseigenschaften des Sammlungstyps angezeigt.

In diesem Beispiel können Sie auch „Person“ als Ausgabemodellobjekt und als Argument für die Navigationseigenschaft „Friends“ oder „BestFriend“ wählen (abhängig davon, ob Rückgabe-Array? aktiviert oder deaktiviert ist).

edit-prop-nav-prop2

Darüber hinaus können Sie beim Hinzufügen von Verknüpfungen im Formulardatenmodell einen GET LINK-Service auswählen und die entsprechenden Navigationseigenschaften konfigurieren. Damit eine Navigationseigenschaft ausgewählt werden kann, müssen Sie jedoch darauf achten, dass im Feld Bindung an der Wert Literal eingestellt ist.

add-associated-nav-prop

Beispieldaten generieren und bearbeiten sample

Mit dem Formulardatenmodell-Editor können Sie Beispieldaten für alle Datenmodellobjekteigenschaften, einschließlich berechneter Eigenschaften, in einem Formulardatenmodell generieren. Es handelt sich um einen Satz zufälliger Werte, 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 wie folgt vor, um Beispieldaten zu generieren und zu bearbeiten:

  1. Öffnen Sie ein Formulardatenmodell und wählen Sie  Beispieldaten bearbeiten aus. Es werden Beispieldaten im Fenster „Beispieldaten bearbeiten“ generiert und angezeigt.

    Generieren von Musterdaten

  2. Bearbeiten Sie im Fenster Beispieldaten bearbeiten Daten je nach Bedarf und wählen Sie dann Speichern aus.

Nun können Sie die Beispieldaten verwenden, um interaktive Kommunikationen anhand des Formulardatenmodells vorab auszufüllen und zu testen. Weitere Informationen finden Sie unter Verwenden eines Formulardatenmodells.

Testen von Datenmodellobjekten und Services test-data-model-objects-and-services

Ihr Formulardatenmodell ist zwar konfiguriert, doch bevor Sie es verwenden, sollten Sie testen, ob die konfigurierten Datenmodellobjekte und Dienste erwartungsgemäß funktionieren. Testen von Datenmodellobjekten und Services

  1. Wählen Sie ein Datenmodellobjekt oder einen Service im Formulardatenmodell und dann Modellobjekt testen bzw. Service testen aus.

    Das Fenster „Formulardatenmodell testen“ wird geöffnet.

    test-data-model

  2. Wählen Sie im Fenster Formulardatenmodell testen unter „Eingabe“ das zu testende Datenmodellobjekt bzw. den Service.

  3. Geben Sie einen Argumentwert im Test-Code an und wählen Sie Testen aus. Ist der Test erfolgreich, wird die Ausgabe im Bereich „Ausgabe“ angezeigt.

    Testergebnisse

Auf ähnliche Weise können Sie andere Datenmodellobjekte und Service im Formulardatenmodell testen.

Automatisiertes Validieren von Eingabedaten automated-validation-of-input-data

Das Formulardatenmodell validiert Daten, die als Eingabe beim Aufruf der DermisBridge-API empfangen werden (auf Grundlage der im Formulardatenmodell verfügbaren Validierungskriterien). Die Validierung basiert auf dem Flag-Satz ValidationOptions im Abfrageobjekt, das zum Aufrufen der API verwendet wird.

Das Flag kann auf einen der folgenden Werte eingestellt werden:

  • VOLLSTÄNDIG: FDM führt die Validierung anhand aller Begrenzungen durch
  • OFF: Keine Validierung
  • EINFACH: FDM führt die Validierung anhand der Begrenzungen „erforderlich“ und „löschbar“ durch

Wenn für das ValidationOptions-Flag kein Wert festgelegt ist, wird für die Eingabedaten eine EINFACH-Validierung durchgeführt.

Folgendes Beispiel zeigt, was passiert, wenn Sie für das Validierungs-Flag VOLLSTÄNDIG einstellen:

operationOptions.setValidationOptions(ValidationOptions.FULL);
NOTE
Der Wert, den Sie für ein Attribut in den Eingabedaten angeben, muss mit dem Datentyp übereinstimmen, der für das Attribut im Metadatendokument definiert ist.
Wenn der Wert nicht mit dem für das Attribut definierten Datentyp übereinstimmt, zeigt die DermisBridge-API eine Ausnahme an, unabhängig vom Wert des ValidationOptions-Flags. Wenn als Protokollebene „Debuggen“ festgelegt ist, wird ein Fehler in der Datei error.log protokolliert.

Das Formulardatenmodell validiert Eingabedaten auf Grundlage einer Liste von Datentypbegrenzungen. Die Liste von Begrenzungen für Eingabedaten kann je nach Datenquelle variieren.

In folgender Tabelle sind die Begrenzungen für Eingabedaten auf Grundlage der Datenquelle aufgeführt:

Begrenzungen
Beschreibung
Eingabedatenquelle
required
Bei Wert „true“ muss der Parameter in die Eingabedaten aufgenommen werden.
Swagger, WSDL und Datenbank
nullable
Bei Wert „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 Untergrenze für numerische Werte an. Der als Untergrenze angegebene Wert 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 Untergrenze für numerische Werte an. Der als Untergrenze angegebene Mindestwert darf nicht dem Parameter in den Eingabedaten zugewiesen werden.
Swagger und WSDL
minLength
Gibt die Untergrenze für die Anzahl der Zeichen in einer Zeichenfolge an. Der als Untergrenze angegebene Wert kann auch dem Parameter in den Eingabedaten zugewiesen werden.
Swagger und WSDL
maxLength
Gibt die Obergrenze für die Anzahl der Zeichen in einer Zeichenfolge an. Der als Obergrenze angegebene Wert kann auch dem Parameter in den Eingabedaten zugewiesen werden.
Swagger, WSDL, OData und Datenbank
pattern
Gibt eine feste Sequenz an Zeichen 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 Wert 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
Bei Wert „true“ müssen alle Elemente des Arrays in den Eingabedaten eindeutig sein.
Swagger
enum (string)
Beschränkt den Wert eines Parameters in den Eingabedaten auf einen festen Satz von Zeichenfolgewerten. 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 Begrenzungen „maximum“, „minimum“ und „required“ validiert. Die Eingabedaten erfüllen die Validierungskriterien nur, wenn eine 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 Validierungskriterien nicht erfüllen. Wenn als Protokollebene Debuggen festgelegt ist, wird ein Fehler in 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 next-steps

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

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2