Show Menu
THEMEN×

Erweitern des Standardmetamodells

Der Dienst zur automatischen Formularkonvertierung identifiziert und extrahiert Formularobjekte aus Quellformularen. Semantic Mapper hilft dem Dienst zu entscheiden, wie die extrahierten Objekte in einem adaptiven Formular dargestellt werden. Beispielsweise kann ein Quellformular viele verschiedene Arten von Darstellungen eines Datums enthalten. Der Semantic Mapper hilft dabei, alle Darstellungen von Datumsformularobjekten des Quellformulars der Datumskomponente der adaptiven Formulare zuzuordnen. Mit Semantic Mapper kann der Dienst auch Validierungen, Regeln, Datenmuster, Hilfetexte und Eingabehilfeeigenschaften während der Konvertierung vorkonfigurieren und auf adaptive Formularkomponenten anwenden.
Das Metamodell ist ein JSON-Schema. Bevor Sie mit dem Metamodell beginnen, stellen Sie sicher, dass Sie mit JSON vertraut sind. Sie müssen Erfahrung im Erstellen, Bearbeiten und Lesen von Daten haben, die im JSON-Format gespeichert sind.

Standardmetamodell

Im Dienst für die automatische Formularkonvertierung ist ein Standardmetamodell verfügbar. Dies ist ein JSON-Schema und befindet sich zusammen mit anderen Komponenten des Dienstes für die automatische Formularkonvertierung in Adobe Cloud. Eine Kopie des Metamodells finden Sie auf Ihrem lokalen AEM-Server unter: http://<server>:<port>/aem/forms.html/content/dam/formsanddocuments/metamodel/global.schema.json. Sie können auch hier klicken , um auf das Standard-Schema zuzugreifen oder es herunterzuladen.
Das Schema des Metamodells wird von Schemaentitäten unter https://schema.org/docs/schemas.html abgeleitet. Es enthält Person, PostalAddress, LocalBusiness und weitere Entitäten, wie auf https://schema.org definiert. Jede Entität des Metamodells entspricht dem JSON-Schemaobjekttyp. Der folgende Code zeigt eine Beispiel-Metamodellstruktur:
   "Entity": {
      "id": "Entity",
      "properties": {
        "name": {
          "type": "string"
        },

        "description": {
          "type": "string",
          "description": "Description of the item"
        }
      }
    }

Herunterladen des Standardmetamodells

Führen Sie die folgenden Schritte aus, um das Standardmetamodell in das lokale Dateisystem herunterzuladen:
  1. Melden Sie sich bei Ihrer AEM Forms-Instanz an.
  2. Navigieren Sie zum Ordner Formulare > Formulare und Dokumente > Metamodel .
  3. Wählen Sie die Datei global.schema.json aus und tippen Sie auf Herunterladen . Das Dialogfeld zum Herunterladen wird angezeigt. Wählen Sie die Option Asset(s) als Binärdateien herunterladen . Tippen Sie auf Herunterladen . Ein Archiv wird heruntergeladen.

Grundlagen des Metamodells

Ein Metamodell bezieht sich auf eine JSON-Schemadatei, die Entitäten enthält. Alle Entitäten in der JSON-Schemadatei enthalten einen Namen und eine ID. Jede Entität kann mehrere Eigenschaften enthalten. Die Entitäten und ihre Eigenschaften können je nach Domäne variieren. Sie können eine Schemadatei mit Schlüsselwörtern und Feldkonfigurationen erweitern, um Schemaeigenschaften adaptiven Formularkomponenten zuzuordnen.
"Event": {
      "id": "Eventid",
      "allOf": [
        {
          "$ref": "#Entity"
        },
        {
          "properties": {
            "startDate": {
              "type": "string",
              "format": "date",
              "description": "Specify the start date and time of the event in ISO 8601 date format."
            },
            "endDate": {
              "type": "string",
              "format": "date",
              "description": "Specify the end date and time of the event in ISO 8601 date format."
            },
            "location": {
              "$ref": "#PostalAddress",
              "description": "Specify the location of the event."
            }
          }
        }
      ]
    }

In diesem Beispiel repräsentiert Ereignis den Namen einer Entität mit einem Wert für id als Eventid . Die Ereignisentität enthält mehrere Eigenschaften:
  • startDate
  • endDate
  • location
Das Konstrukt allOf im Metamodell ermöglicht die Vererbung zwischen Entitäten.
Jede Eigenschaft kann ferner Folgendes umfassen:
Basierend auf den Schlüsselwörtern, auf die mit aem:affKeyword verwiesen wird, führt der Konvertierungsdienst eine Suchoperation für die Quellformularfelder durch. Der Konvertierungsdienst wendet die Eigenschaften des JSON-Schemas und zusätzliche Eigenschaften auf die Felder an, die die Suchkriterien erfüllen.
In diesem Beispiel sucht der Konvertierungsdienst im Quellformular nach den Schlüsselwörtern Tel., Telefon geschäftlich, Telefon privat, Mobiltelefon, Telefon, Handy, Telefonnr., Nummer und Telefonnummer. Basierend auf den Feldern, die diese Schlüsselwörter enthalten, wendet der Konvertierungsdienst nach der Konvertierung den Typ, das Muster und aem:afProperties auf die Felder des adaptiven Formulars an.

JSON-Schemaeigenschaften für generierte adaptive Formularfelder

Das Metamodell unterstützt die folgenden allgemeinen Eigenschaften des JSON-Schemas für Felder in adaptiven Formularen, die mit dem Dienst für die automatische Formularkonvertierung generiert wurden:
Eigenschaftsname Beschreibung
Titel
Der in der Titeleigenschaft in einem Metamodell erwähnte Text dient als Suchschlüsselwort, um Aktionen für die Felder des generierten adaptiven Formulars auszuführen. Beispiel: Ändern der Beschriftung eines Feldes in einem adaptiven Formular. Weitere Informationen finden Sie unter Ändern der Beschriftung eines Formularfelds in Beispiele für benutzerdefinierte Metamodelle.
Beschreibung
Die Eigenschaft „description“ legt den Hilfetext für das Feld im generierten adaptiven Formular fest. Weitere Informationen finden Sie unter Hilfetext zu einem Formularfeld hinzufügen unter Beispiele für benutzerdefinierte Metamodelle.
type
Die Eigenschaft „type“ definiert den Datentyp für das Feld im generierten adaptiven Formular. Die möglichen Werte für die Eigenschaft „title“ umfassen:
  • string: Erzeugt ein Feld mit dem Datentyp „text“ im adaptiven Formular.
  • number: Erzeugt ein Feld des numerischen Datentyps im adaptiven Formular.
  • integer: Erzeugt ein Feld vom numerischen Datentyp mit dem Untertyp „integer“ im adaptiven Formular.
  • Boolescher Wert: adaptive Formularkomponente des Typs „Switch“
Weitere Informationen zur Verwendung der type-Eigenschaft in einem Metamodell finden Sie unter Ändern des Typs eines Formularfelds in Beispiele für benutzerdefinierte Metamodelle.
pattern
Die pattern-Eigenschaft beschränkt den Wert für das Feld im generierten adaptiven Formular basierend auf einem regulären Ausdruck. Beispielsweise beschränkt der folgende Code im Metamodell den Wert für das Feld im generierten adaptiven Formular auf zehn Stellen: "pattern": "/\\d{10}/" Ebenso beschränkt der folgende Code im Metamodell den Wert eines Feldes auf ein bestimmtes Datumsformat. "pattern": "Datum {TT MMMM, JJJJ}",
format
Die Formateigenschaft beschränkt den Wert für das Feld im generierten adaptiven Formular basierend auf einem benannten Muster anstelle eines regulären Ausdrucks. Die möglichen Werte für die Eigenschaft „format“ umfassen:
  • email: Erzeugt eine adaptive Formularkomponente für E-Mail-Adressen.
  • hostname: Erzeugt eine adaptive Formularkomponente für ein Textfeld.
Weitere Informationen zur Verwendung der format-Eigenschaft in einem Metamodell finden Sie unter Ändern des Formats eines Formularfelds in Beispiele für benutzerdefinierte Metamodelle.
enum und enumNames
Die Eigenschaften „enum“ und „enumNames“ beschränken die Werte von Dropdown-, Kontrollkästchen- oder Optionsfeldfeldern auf einen festen Satz. In „enumNames“ aufgelistete Werte werden in der Benutzeroberfläche angezeigt. Die mit der Eigenschaft „enum“ aufgelisteten Werte werden zur Berechnung verwendet. Weitere Informationen finden Sie unter Konvertieren eines Formularfelds in Multiple-Choice-Kontrollkästchen im adaptiven Formular , Konvertieren eines Textfelds in eine Dropdown-Liste im adaptiven Formular und Hinzufügen zusätzlicher Optionen zur Dropdown-Liste in Beispiele für benutzerdefinierte Metamodelle.

Schlüsselwortbasierte Suche zum Anwenden von Eigenschaften auf Felder im generierten adaptiven Formular

Der Dienst zur automatischen Formularkonvertierung führt während der Konvertierung eine Schlüsselwortsuche im Quellformular durch. Nach dem Filtern der Felder, die die Suchkriterien erfüllen, wendet der Konvertierungsdienst die für diese Felder im Metamodell definierten Eigenschaften auf die Felder im generierten adaptiven Formular an.
Auf Schlüsselwörter wird mit der Eigenschaft aem:affKeyword verwiesen.
{
  "numberfields": {
      "type": "number",
      "aem:affKeyword": ["Bank account number"]
 }
}

In diesem Beispiel verwendet der Konvertierungsdienst den Text in aem:affKeyword als Suchschlüsselwort. Nach dem Abrufen des Textes Bankkontonummer im Formular konvertiert der Konvertierungsdienst das Feld mithilfe der Eigenschaft type in den Typ number .

Zusätzliche Eigenschaften für Felder im generierten adaptiven Formular

Mit der Eigenschaft aem:afProperties im Metamodell können Sie die folgenden zusätzlichen Eigenschaften für adaptive Formularfelder definieren, die mit dem Dienst für die automatische Formularkonvertierung generiert wurden:
Eigenschaftsname Beschreibung
multiLine
Die Eigenschaft „multiLine“ konvertiert ein Quellformularfeld nach der Konvertierung in ein mehrzeiliges Feld im adaptiven Formular. Weitere Informationen finden Sie unter Konvertieren eines Zeichenfolgenfelds in ein mehrzeiliges Feld in Beispiele für benutzerdefinierte Metamodelle.
mandatory
Die Eigenschaft „mandatory“ legt die Eingabe für ein adaptives Formularfeld nach der Konvertierung als obligatorisch fest. Weitere Informationen finden Sie unter Hinzufügen von Validierungen zu adaptiven Formularfeldern in Metamodelle.
jcr:title
Mit der Eigenschaft „jcr:title“ mit der Eigenschaft JSON-Schemaeigenschaft „title“ können Sie die Bezeichnung eines adaptiven Formularfelds nach der Konvertierung ändern. Weitere Informationen finden Sie unter Ändern der Beschriftung eines Formularfelds in Beispiele für benutzerdefinierte Metamodelle. Informationen zu weiteren Eigenschaften, die Sie mithilfe des JSON-Schemas auf adaptive Formularfelder anwenden können, finden Sie unter Erstellen adaptiver Formulare mit dem JSON-Schema .
sling: resourceType und guideNodeClass
Mit den Eigenschaften „sling:resourceType“ and „guideNodeClass“ können Sie ein Formularfeld einer entsprechenden adaptiven Formularkomponente zuordnen. Weitere Informationen finden Sie unter Konvertieren eines Formularfelds in Multiple-Choice-Kontrollkästchen im adaptiven Formular und Konvertieren eines Textfelds in eine Dropdown-Liste im adaptiven Formular in Beispiele für benutzerdefinierte Metamodelle.
validatePictureClause
Die Eigenschaft „validatePictureClause“ legt eine Überprüfung des Formats fest, das nach der Konvertierung für das Feld im adaptiven Formular zulässig ist. Weitere Informationen finden Sie unter Hinzufügen von Validierungen zu adaptiven Formularfeldern in Metamodelle.
#custommetamodelexamples

Ändern von Feldern in adaptiven Formularen mit benutzerdefiniertem Metamodell

Ihre Organisation kann Muster und Überprüfungen zusätzlich zu den im Standardmetamodell aufgeführten aufweisen. Sie können das Standardmetamodell erweitern, um Muster, Validierungen und Entitäten hinzuzufügen, die für Ihre Organisation spezifisch sind. Der Dienst für die automatische Formularkonvertierung wendet das benutzerdefinierte Metamodell während der Konvertierung auf die Formularfelder an. Sie können das Metamodell ständig aktualisieren, wenn neue Muster, Validierungen und Entitäten entdeckt werden, die für Ihre Organisation spezifisch sind.
Der Dienst für die automatische Formularkonvertierung verwendet ein Standardmetamodell, um während der Konvertierung die Felder des Quellformulars Feldern des adaptiven Formulars zuzuordnen. Das Standardmetamodell befindet sich unter dem folgenden Speicherort:
http://<server>:<port>/aem/forms.html/content/dam/formsanddocuments/metamodel/global.schema.json
Sie können jedoch ein benutzerdefiniertes Metamodell in einem Ordner speichern und die Eigenschaften des Konvertierungsdienstes ändern, sodass das benutzerdefinierte Metamodell während der Konvertierung verwendet wird.

Verwenden eines benutzerdefinierten Metamodells während der Konvertierung

Führen Sie die folgenden Schritte aus, um während der Konvertierung ein benutzerdefiniertes Metamodell zu verwenden:
  1. Erstellen Sie einen Ordner in Formulare > Formulare und Dokumente und laden Sie die benutzerdefinierte JSON-Schemadatei für das Metamodell in den Ordner hoch.
  2. Öffnen Sie die Eigenschaften des Konvertierungsdienstes mit:
    Tools > Cloud-Dienste > Konfiguration der automatischen Formularkonvertierung > < Eigenschaften der ausgewählten Konfiguration >
  3. Geben Sie auf der Registerkarte Standard den Speicherort des benutzerdefinierten Metamodells im Feld Benutzerdefiniertes Metamodell an und tippen Sie auf Speichern und Schließen .
  4. Führen Sie die Konvertierung aus , um das benutzerdefinierte Metamodell auf den Konvertierungsprozess anzuwenden.

Benutzerdefinierte Metamodellbeispiele

Einige gängige Beispiele für die Verwendung eines benutzerdefinierten Metamodells zum Ändern der Eigenschaften von adaptiven Formularfeldern sind:
  • Ändern der Beschriftung eines Formularfelds
  • Ändern des Typs eines Formularfelds
  • Hinzufügen von Hilfetext zu einem Formularfeld
  • Konvertieren eines Formularfelds in Multiple-Choice-Optionsfelder im adaptiven Formular
  • Ändern des Formats eines Formularfelds
  • Hinzufügen von Validierungen zu adaptiven Formularfeldern
  • Konvertieren eines Formularfelds in Dropdown-Listen-Optionen im adaptiven Formular
  • Hinzufügen zusätzlicher Optionen zur Dropdown-Liste
  • Konvertieren eines Zeichenfolgenfelds in ein mehrzeiliges Feld

Ändern der Beschriftung eines Formularfelds

Beispiel: Ändern der Bezeichnung der Bankkontonummer im Formular in „Benutzerdefinierte Kontonummer“ im adaptiven Formular nach der Konvertierung.
In diesem benutzerdefinierten Metamodell verwendet der Konvertierungsdienst die Eigenschaft title als Suchschlüsselwort. Nach dem Abrufen des Texts Bankkontonummer im Formular ersetzt der Konvertierungsdienst den Text durch die erwähnte Zeichenfolge Benutzerdefinierte Kontonummer mit der Eigenschaft jcr:title im Abschnitt aem:afProperties .
{
  "numberfields": {
      "type": "number",
   "title": "Bank account number",
   "aem:afProperties" : {
    "jcr:title" : "Customer account number"
   }
   }
}

Ändern des Typs eines Formularfelds

Beispiel : Ändern Sie das Feld Bankkontonummer , das vor der Konvertierung ein Textfeld im Formular ist, in ein Feld vom Typ „number“ im adaptiven Formular nach der Konvertierung.
In diesem benutzerdefinierten Metamodell verwendet der Konvertierungsdienst den Text in aem:affKeyword als Suchschlüsselwort. Nach dem Abrufen des Textes Bankkontonummer im Formular konvertiert der Konvertierungsdienst das Feld mithilfe der Eigenschaft type in den Typ „number“.
{
  "numberfields": {
      "type": "number",
      "aem:affKeyword": ["Bank account number"]
 }
}

Hinzufügen von Hilfetext zu einem Formularfeld

Beispiel : Fügen Sie dem Feld Bankkontonummer des adaptiven Formulars Hilfetext hinzu.
In diesem benutzerdefinierten Metamodell verwendet der Konvertierungsdienst den Text in aem:affKeyword als Suchschlüsselwort. Nach dem Abrufen des Textes Bankkontonummer im Formular fügt der Konvertierungsdienst den Hilfetext mithilfe der Eigenschaft description zum Feld des adaptiven Formulars hinzu.
{
  "numberfields": {
      "type": "number",
      "aem:affKeyword": ["Bank account number"],
   "description": "Specify your bank account number."
 }
}

Konvertieren eines Formularfelds in Multiple-Choice-Kontrollkästchen im adaptiven Formular

Beispiel : Konvertieren Sie das Feld Land , das vor der Konvertierung ein Zeichenfolgenfeld ist, in Kontrollkästchen im adaptiven Formular nach der Konvertierung.
In diesem benutzerdefinierten Metamodell verwendet der Konvertierungsdienst den Text in aem:affKeyword als Suchschlüsselwort. Nach Abrufen des Textes Land im Formular wandelt der Konvertierungsdienst das Feld mithilfe der Eigenschaft Enum in folgende Kontrollkästchen um:
  • India
  • England
  • Australia
  • New Zealand
Die Eigenschaften sling:resourceType und guideNodeClass ordnen ein Formularfeld der Kontrollkästchen-Komponente des adaptiven Formulars zu.
{
"title": {
    "aem:affKeyword": [
      "country"
    ],
    "type" : "string",
    "enum": [
      "India",
      "England",
      "Australia",
      "New Zealand"
    ],
    "aem:afProperties": {
      "sling:resourceType": "fd/af/components/guidecheckbox",
      "guideNodeClass": "guidecheckbox"
    }
  }
}

Ändern des Formats eines Formularfelds

Beispiel : Ändern Sie das Format des Felds E-Mail-Adresse in ein E-Mail-Format.
In diesem benutzerdefinierten Metamodell verwendet der Konvertierungsdienst den Text in aem:affKeyword als Suchschlüsselwort. Nach Abrufen des Textes E-Mail-Adresse im Formular konvertiert der Konvertierungsdienst das Feld mithilfe der Eigenschaft format in das E-Mail-Format.
{
   "additionalDetails" : {
      "aem:affKeyword": ["E-mail Address"],
       "type" : "string",
       "format" : "email"
  } 
}

Hinzufügen von Validierungen zu adaptiven Formularfeldern

Beispiel 1: Fügen Sie dem Feld Postleitzahl des adaptiven Formulars eine Validierung hinzu.
In diesem benutzerdefinierten Metamodell verwendet der Konvertierungsdienst den Text in aem:affKeyword als Suchschlüsselwort. Nach Abruf des Textes Postleitzahl im Formular fügt der Konvertierungsdienst dem Feld mithilfe der Eigenschaft validatePictureClause , definiert im Abschnitt aem:afProperties , eine Validierung hinzu. Gemäß dieser Validierung muss die Eingabe, die Sie nach der Konvertierung für das Feld Postleitzahl im adaptiven Formular angeben, sechs Zeichen lang sein.
{
   "postalCode" : {
      "aem:affKeyword": ["Postal Code"],
      "type" : "string",
      "aem:afProperties" : {
        "validatePictureClause" : "\\d{6}"
      } 
   }
}

Beispiel 2: Fügen Sie dem Feld Bankkontonummer des adaptiven Formulars eine Validierung hinzu.
In diesem benutzerdefinierten Metamodell verwendet der Konvertierungsdienst den Text in aem:affKeyword als Suchschlüsselwort. Nach Abruf des Textes Bankkontonummer im Formular fügt der Konvertierungsdienst dem Feld mithilfe der Eigenschaft mandatory , definiert im Abschnitt aem:afProperties , eine Validierung hinzu. Gemäß dieser Validierung müssen Sie nach der Konvertierung einen Wert für das Feld Bankkontonummer angeben, bevor Sie das Formular senden.
{
  "numberfields": {
      "type": "number",
      "aem:affKeyword": ["Bank account number"],
   "aem:afProperties" : {
        "mandatory": "true"
      }   
   }
}

Konvertieren eines Testfelds in eine Dropdown-Liste im adaptiven Formular

Beispiel : Konvertieren Sie das Feld Land , das vor der Konvertierung ein Zeichenfolgenfolgenfeld im Formular ist, in Dropdown-Optionen im adaptiven Formular nach der Konvertierung.
In diesem benutzerdefinierten Metamodell verwendet der Konvertierungsdienst den Text in aem:affKeyword als Suchschlüsselwort. Nach Abrufen des Textes Land im Formular wandelt der Konvertierungsdienst das Feld in die folgenden Dropdown-Listen-Optionen mit der Eigenschaft enum um:
  • India
  • England
  • Australia
  • New Zealand
Die Eigenschaften sling:resourceType und guideNodeClass ordnen ein Formularfeld der Dropdown-Komponente des adaptiven Formulars zu.
{
"title": {
    "aem:affKeyword": [
      "country"
    ],
    "type" : "string",
    "enum": [
      "India",
      "England",
      "Australia",
      "New Zealand"
    ],
    "aem:afProperties": {
      "sling:resourceType": "fd/af/components/guidedropdownlist",
      "guideNodeClass": "guideDropDownlist"
    }
  }
}

Hinzufügen zusätzlicher Optionen zur Dropdown-Liste

Beispiel: Fügen Sie Sri Lanka als zusätzliche Option zu einer vorhandenen Dropdown-Liste hinzu, indem Sie ein benutzerdefiniertes Metamodell verwenden.
Um eine zusätzliche Option hinzuzufügen, aktualisieren Sie die Eigenschaft enum mit der neuen Option. Aktualisieren Sie in diesem Beispiel die Eigenschaft enum mit Sri Lanka als zusätzliche Option. Die in der Eigenschaft enum aufgeführten Werte werden in der Dropdown-Liste angezeigt.
{
"title": {
    "aem:affKeyword": [
      "country"
    ],
    "type" : "string",
    "enum": [
      "India",
      "England",
      "Australia",
      "New Zealand",
   "Sri Lanka"
    ],
    "aem:afProperties": {
      "sling:resourceType": "fd/af/components/guidecheckbox",
      "guideNodeClass": "guidecheckbox"
    }
  }
}

Konvertieren eines Zeichenfolgenfelds in ein mehrzeiliges Feld

Beispiel: Konvertieren Sie das Feld Adresse vom Typ „string“ nach der Konvertierung in ein mehrzeiliges Feld im Formular.
In diesem benutzerdefinierten Metamodell verwendet der Konvertierungsdienst den Text in aem:affKeyword als Suchschlüsselwort. Nach dem Abrufen des Textes Adresse im Formular wandelt der Dienst das Textfeld mithilfe der Eigenschaft multiline , die im Abschnitt aem:afProperties definiert ist, in ein mehrzeiliges Feld um.
{
 "multiLine" : {
   "aem:affKeyword": [
      "Address"
    ],
    "type" : "string",
    "aem:afProperties": {
      "multiLine": "true"
    }
  }
}