Utöka standardmetamodellen extend-the-default-meta-model

Tjänsten Automated forms conversion (AFCS) identifierar och extraherar formulärobjekt från källformulär. Semantisk mappning hjälper tjänsten att bestämma hur de extraherade objekten ska visas i en adaptiv form. Ett källformulär kan t.ex. ha många olika typer av representationer av ett datum. Med semantisk mappning kan du mappa alla representationer av formulärobjekt för datum i källformuläret med datumkomponenten i de adaptiva formulären. Med semantisk mappning kan tjänsten förkonfigurera och tillämpa valideringar, regler, datamönster, hjälptext och hjälpmedelsegenskaper på adaptiva formulärkomponenter under konverteringen.

Metamodellen är ett JSON-schema. Innan du börjar med metamodellen måste du se till att du är väl insatt i JSON. Du måste ha erfarenhet av att skapa, redigera och läsa data som sparats i JSON-format.

Standardmetamodell default-meta-model

Tjänsten Automated forms conversion (AFCS) har en standardmetamodell. Det är ett JSON-schema och finns i Adobe Cloud tillsammans med andra komponenter i tjänsten Automated forms conversion (AFCS). Du kan hitta en kopia av metamodellen på den lokala AEM på: http://<server>:<port>/aem/forms.html/content/dam/formsanddocuments/metamodel/global.schema.json. Du kan också klicka här för att komma åt eller hämta det engelska språkschemat. Metamodellen för franska, tyska spanska, italienska och portugisiska är också tillgänglig för hämtning.

Schemat för metamodellen härleds från schemaentiteter på https://schema.org/docs/schemas.html. Den har Person, PostalAddress, LocalBusiness och fler entiteter enligt definitionen på https://schema.org. Alla entiteter i metamodellen följer JSON-schemaobjekttypen. Följande kod representerar en exempelmetamodellstruktur:

   "Entity": {
      "id": "Entity",
      "properties": {
        "name": {
          "type": "string"
        },

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

Hämta standardmetamodellen download-the-default-meta-model

Följ de här stegen för att hämta standardmetamodellen till det lokala filsystemet:

  1. Logga in på din AEM Forms-instans.
  2. Navigera till mappen Forms > Forms & Documents > Meta Model.
  3. Markera filen global.schema.json och tryck på Download. En dialogruta för hämtning visas. Välj alternativet Download asset(s) as binary files. Tryck på Download. Ett arkiv laddas ned.

Metamodellen understanding-the-meta-model

En metamodell refererar till en JSON-schemafil som innehåller entiteter. Alla entiteter i JSON-schemafilen innehåller ett namn och ett ID. Varje entitet kan innehålla flera egenskaper. Enheterna och dess egenskaper kan variera beroende på domän. Du kan utöka en schemafil med nyckelord och fältkonfigurationer för att mappa schemaegenskaper till adaptiva formulärkomponenter.

"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."
            }
          }
        }
      ]
    }

I det här exemplet representerar Event namnet på en entitet med ett värde för id som EventID. Händelseentiteten innehåller flera egenskaper:

  • startDate
  • endDate
  • plats

Konstruktorn allOf i metamodellen möjliggör arv mellan entiteter.

Varje egenskap kan dessutom innehålla:

Metamodellegenskaper

Baserat på nyckelorden som refereras med aem:affKeyword, utför konverteringstjänsten en sökåtgärd på källformulärfälten. Konverteringstjänsten använder JSON-schemaegenskaperna och ytterligare egenskaper för de fält som uppfyller sökvillkoren.

I det här exemplet söker konverteringstjänsten efter nyckelorden telefon, telefon, mobiltelefon, arbetstelefon, hemtelefon, telefonnummer, telefonnummer och telefonnummer i källformuläret. Baserat på de fält som innehåller dessa nyckelord använder konverteringstjänsten typ, mönster och aem:afProperties på de adaptiva formulärfälten efter konverteringen.

JSON-schemaegenskaper för genererade adaptiva formulärfält jsonschemaproperties

Metamodellen stöder följande gemensamma egenskaper för JSON-schema för adaptiva formulärfält som genereras med tjänsten Automated forms conversion (AFCS):

Egenskapsnamn
Beskrivning
title
Texten som omnämns i egenskapen title i en metamodell fungerar som ett söknyckelord för att utföra åtgärder i de genererade adaptiva formulärfälten. Du kan till exempel ändra etiketten för ett adaptivt formulärfält. Mer information finns i Ändra etiketten för ett formulärfält i Exempel på anpassade metamodeller.
description
Egenskapen description anger hjälptexten för det genererade adaptiva formulärfältet. Mer information finns i Lägga till hjälptext i ett formulärfält i Exempel på anpassade metamodeller.
type

Egenskapen type definierar datatypen för det genererade adaptiva formulärfältet. Möjliga värden för egenskapen title är:

  • string: Skapar ett adaptivt formulärfält av textdatatyp.
  • number: Skapar ett adaptivt formulärfält av numerisk datatyp.
  • heltal: Skapar ett adaptivt formulärfält av numerisk datatyp med subtype inställd på heltal.
  • booleskt: Skapar en adaptiv formulärkomponent för switch.

Mer information om hur du använder type-egenskapen i en metamodell finns i Ändra typ av formulärfält i Exempel på anpassade metamodeller.

mönster
Egenskapen pattern begränsar värdet för det genererade adaptiva formulärfältet baserat på ett reguljärt uttryck. Följande kod i metamodellen begränsar till exempel värdet för det genererade adaptiva formulärfältet till tio siffror:
"pattern": "/\\d{10}/"
På samma sätt begränsar följande kod i metamodellen värdet för ett fält till ett visst datumformat.
"pattern": "date{DD MMMM, YYYY}",
format

Formategenskapen begränsar värdet för det genererade adaptiva formulärfältet baserat på ett namngivet mönster i stället för ett reguljärt uttryck. Möjliga värden för formategenskapen är:

  • e-post: Skapar en formulärkomponent för e-postanpassning.
  • värdnamn: Skapar en adaptiv formulärkomponent för textrutor.

Mer information om hur du använder formategenskapen i en metamodell finns i Ändra formatet för ett formulärfält i Exempel på anpassade metamodeller.

enum och enumNames
Egenskaperna enum och enumNames begränsar värdena för fälten för nedrullningsbara menyer, kryssrutor och alternativknappar till en fast uppsättning. Värden som anges i enumNames visas i användargränssnittet. Värdena som anges med enum-egenskapen används för beräkning.
Mer information finns i Konvertera ett formulärfält till kryssrutor med flera val i det adaptiva formuläret, Konvertera ett textfält till nedrullningsbar lista i det adaptiva formuläret och Lägg till ytterligare alternativ i listrutan i Exempel på anpassade metamodeller.

Nyckelordsbaserad sökning som använder egenskaper för genererade adaptiva formulärfält keywordsearch

Tjänsten Automated forms conversion (AFCS) utför en nyckelordssökning i källformuläret under konverteringen. När fälten som uppfyller sökvillkoren har filtrerats används egenskaperna som definierats för fälten i metamodellen av konverteringstjänsten för de anpassade formulärfälten som genererats.

Nyckelord refereras med egenskapen aem:affKeyword .

{
  "numberfields": {
      "type": "number",
      "aem:affKeyword": ["Bank account number"]
 }
}

I det här exemplet använder konverteringstjänsten texten inom aem:affKeyword som söknyckelord. När texten Bankkontonummer har hämtats i formuläret konverteras fältet till en number-typ med hjälp av egenskapen type.

Ytterligare egenskaper för genererade adaptiva formulärfält additionalproperties

Du kan använda egenskapen aem:afProperties i metamodellen för att definiera följande ytterligare egenskaper för adaptiva formulärfält som genererats med tjänsten Automated forms conversion (AFCS):

Egenskapsnamn
Beskrivning
multiLine
Egenskapen multiLine konverterar ett källformulärfält till ett fält med flera rader i det adaptiva formuläret efter konverteringen. Mer information finns i Konvertera ett strängfält till ett flerradigt fält i Exempel på anpassade metamodeller.
obligatoriskt
Den obligatoriska egenskapen anger indata för ett adaptivt formulärfält efter konvertering som obligatoriskt.
Mer information finns i Lägga till valideringar i adaptiva formulärfält i Exempel på anpassade metamodeller.
jcr:title
Egenskapen jcr:title, med JSON-schemaegenskapen title, gör att du kan ändra etiketten för ett adaptivt formulärfält efter konverteringen.
Mer information finns i Ändra etiketten för ett formulärfält i Exempel på anpassade metamodeller.
Se Skapa adaptiva formulär med JSON-schema för mer information om fler egenskaper som du kan tillämpa på adaptiva formulärfält med JSON-schema.
sling:resourceType och guideNodeClass
sling:resourceType- och guideNodeClass-egenskaper gör att du kan mappa ett formulärfält till en motsvarande adaptiv formulärkomponent.
Mer information finns i Konvertera ett formulärfält till kryssrutor med flera val i det adaptiva formuläret och Konvertera ett textfält till nedrullningsbar lista i det adaptiva formuläret i Exempel på anpassade metamodeller.
validatePictureClause

Egenskapen validatePictureClause anger en validering av det format som tillåts i det adaptiva formulärfältet efter konvertering.
Mer information finns i Lägga till valideringar i adaptiva formulärfält i Exempel på anpassade metamodeller.

Skapa en anpassad metamodell på ditt eget språk language-specific-meta-model

Du kan skapa en språkspecifik metamodell. En sådan metamodell hjälper dig att skapa mappningsregler på valfritt språk. Med tjänsten Automated forms conversion (AFCS) kan du skapa metamodeller på följande språk:

  • Engelska (en)
  • French(fr)
  • German(de)
  • Spanska
  • Italian(it)
  • Portugisiska (pt-br)

Lägg till metataggen aem:Language i den översta metamodellen för att ange dess språk. Exempel:

"metaTags": {
        "aem:Language": "fr"
    }

Om inget språk anges anser tjänsten att metamodellen är på engelska.

Att tänka på när du skapar en språkspecifik metamodell

  • Kontrollera att namnet på alla nycklar är på engelska. Till exempel emailAddress.

  • Kontrollera att alla enhetsreferenser och fördefinierade värden för alla id-nycklar bara innehåller ASCII-tecken. Exempel: "id": "ContactPoint" / "$ref": "#ContactPoint".

  • Se till att alla värden som motsvarar följande nycklar är på det angivna metamodellspråket:

    • aem:affKeyword
    • title
    • description
    • enumNames
    • shortDescription
    • validatePictureClauseMessage

    Om t.ex. metamodellens språk är franska ("aem:Language": "fr") kontrollerar du att alla beskrivningar och meddelanden är på franska.

  • Se till att alla JSON-schemaegenskaper bara använder värden som stöds. Egenskapen type kan till exempel bara omfatta de markerade värdena String, Number, Integer och Boolean.

I följande bild visas exempel på metamodell för engelska och motsvarande metamodell för franska språket:

Ändra anpassade formulärfält med anpassad metamodell modify-adaptive-form-fields-using-custom-meta-model

Din organisation kan ha mönster och valideringar utöver de som anges i standardmetamodellen. Du kan utöka standardmetamodellen för att lägga till mönster, valideringar och entiteter som är specifika för din organisation. Tjänsten Automated forms conversion (AFCS) tillämpar den anpassade metamodellen på formulärfälten under konverteringen. Du kan fortsätta uppdatera metamodellen när nya mönster, valideringar och enheter som är specifika för din organisation identifieras.

I tjänsten Automated forms conversion (AFCS) används en standardmetamodell som sparas på följande plats för att mappa källformulärfält till anpassade formulärfält under konverteringen:

http://<server>:<port>/aem/forms.html/content/dam/formsanddocuments/metamodel/global.schema.json

Du kan dock spara en anpassad metamodell i en mapp och ändra egenskaperna för konverteringstjänsten så att den anpassade metamodellen används vid konverteringen.

Använd anpassad metamodell vid konvertering use-custom-meta-model-during-conversion

Utför följande steg om du vill använda en anpassad metamodell under konverteringen:

  1. Skapa en mapp i Forms > Forms & Documents och överför den anpassade JSON-schemafilen för metamodell till mappen.

  2. Öppna egenskaperna för konverteringstjänsten med:

    Tools > Cloud Services > Automated Forms Conversion Configuration > <Egenskaper för markerad konfiguration>

  3. Ange platsen för den anpassade metamodellen i fältet Custom Meta-model på fliken Basic och tryck sedan på Save & Close.

  4. Kör konverteringen för att använda den anpassade metamodellen i konverteringsprocessen.

Exempel på anpassade metamodeller custommetamodelexamples

Några vanliga exempel på hur du använder en anpassad metamodell för att ändra egenskaper för anpassningsbara formulärfält är:

  • Ändra etiketten för ett formulärfält
  • Ändra typ av formulärfält
  • Lägga till hjälptext i ett formulärfält
  • Konvertera ett formulärfält till alternativknappar med flera val i det adaptiva formuläret
  • Ändra format för ett formulärfält
  • Lägga till valideringar i anpassade formulärfält
  • Konvertera ett formulärfält till listrutealternativ i det adaptiva formuläret
  • Lägg till ytterligare alternativ i listrutan
  • Konvertera ett strängfält till ett flerradigt fält

Ändra etiketten för ett formulärfält modify-the-label-of-a-form-field

Exempel: Ändra etiketten för bankkontonummer i formuläret till Anpassat kontonummer i det adaptiva formuläret efter konvertering.

I den här anpassade metamodellen använder konverteringstjänsten egenskapen title som söknyckelord. När texten Bankkontonummer har hämtats i formuläret ersätter konverteringstjänsten texten med strängen Kundkontonummer som anges med egenskapen jcr:title i avsnittet aem:afProperties .

{
  "numberfields": {
      "type": "number",
   "title": "Bank account number",
   "aem:afProperties" : {
    "jcr:title" : "Customer account number"
   }
   }
}

Ändra typ av formulärfält modify-the-type-of-a-form-field

Exempel: Ändra fältet Bankkontonummer för texttypen i formuläret före konvertering till ett nummertypfält i det adaptiva formuläret efter konvertering.

I den här anpassade metamodellen använder konverteringstjänsten texten inom aem:affKeyword som söknyckelord. När texten Bankkontonummer har hämtats i formuläret konverteras fältet till en nummertyp med hjälp av egenskapen type.

{
  "numberfields": {
      "type": "number",
      "aem:affKeyword": ["Bank account number"]
 }
}

Lägga till hjälptext i ett formulärfält add-help-text-to-a-form-field

Exempel: Lägg till hjälptext i fältet Bankkontonummer i anpassat format.

I den här anpassade metamodellen använder konverteringstjänsten texten inom aem:affKeyword som söknyckelord. När texten Bankkontonummer har hämtats i formuläret lägger konverteringstjänsten till hjälptexten i det adaptiva formulärfältet med egenskapen description .

{
  "numberfields": {
      "type": "number",
      "aem:affKeyword": ["Bank account number"],
   "description": "Specify your bank account number."
 }
}

Konvertera ett formulärfält till kryssrutor med flera val i det adaptiva formuläret convert-a-form-field-to-multiple-choice-check-boxes-in-the-adaptive-form

Exempel: Konvertera fältet Land av strängtyp i formuläret före konvertering till kryssrutor i det adaptiva formuläret efter konvertering.

I den här anpassade metamodellen använder konverteringstjänsten text inom aem:affKeyword som söknyckelord. När du har hämtat texten Country i formuläret konverterar konverteringstjänsten fältet till följande kryssrutor med egenskapen enum :

  • Indien
  • England
  • Australien
  • Nya Zeeland

Egenskaperna sling:resourceType och guideNodeClass mappar ett formulärfält till kryssrutans adaptiva formulärkomponent.

{
"title": {
    "aem:affKeyword": [
      "country"
    ],
    "type" : "string",
    "enum": [
      "India",
      "England",
      "Australia",
      "New Zealand"
    ],
    "aem:afProperties": {
      "sling:resourceType": "fd/af/components/guidecheckbox",
      "guideNodeClass": "guidecheckbox"
    }
  }
}

Ändra format för ett formulärfält modify-the-format-of-a-form-field

Exempel: Ändra formatet för fältet E-postadress till ett e-postformat.

I den här anpassade metamodellen använder konverteringstjänsten text inom aem:affKeyword som söknyckelord. När du har hämtat texten E-postadress i formuläret konverteras fältet till ett e-postformat med hjälp av egenskapen format.

{
   "additionalDetails" : {
      "aem:affKeyword": ["E-mail Address"],
       "type" : "string",
       "format" : "email"
  }
}

Lägga till valideringar i anpassade formulärfält add-validations-to-adaptive-form-fields

Exempel 1: Lägg till en validering i fältet Postnummer i det adaptiva formuläret.

I den här anpassade metamodellen använder konverteringstjänsten text inom aem:affKeyword som söknyckelord. När texten Postnummer har hämtats i formuläret lägger konverteringstjänsten till en validering i fältet med egenskapen validatePictureClause som definieras i avsnittet aem:afProperties . Baserat på valideringen måste de indata som du anger för fältet Postnummer i det adaptiva formuläret efter konverteringen innehålla sex tecken.

{
   "postalCode" : {
      "aem:affKeyword": ["Postal Code"],
      "type" : "string",
      "aem:afProperties" : {
        "validatePictureClause" : "\\d{6}"
      }
   }
}

Exempel 2: Lägg till en validering i fältet Bankkontonummer i det adaptiva formuläret.

I den här anpassade metamodellen använder konverteringstjänsten text inom aem:affKeyword som söknyckelord. När texten Bankkontonummer har hämtats i formuläret lägger konverteringstjänsten till en validering i fältet med egenskapen mandatory som definieras i avsnittet aem:afProperties . Baserat på valideringen måste du ange ett värde för fältet Bankkontonummer innan du skickar formuläret efter konverteringen.

{
  "numberfields": {
      "type": "number",
      "aem:affKeyword": ["Bank account number"],
   "aem:afProperties" : {
        "mandatory": "true"
      }
   }
}

Konvertera ett textfält till listruta i det adaptiva formuläret convert-a-text-field-to-drop-down-list-in-the-adaptive-form

Exempel: Konvertera fältet Land med strängtyp i formuläret före konvertering till listrutealternativ i det adaptiva formuläret efter konvertering.

I den här anpassade metamodellen använder konverteringstjänsten text inom aem:affKeyword som söknyckelord. När du har hämtat texten Country i formuläret konverterar konverteringstjänsten fältet till följande alternativ i listrutan med hjälp av egenskapen enum:

  • Indien
  • England
  • Australien
  • Nya Zeeland

Egenskaperna sling:resourceType och guideNodeClass mappar ett formulärfält till den adaptiva formulärkomponenten i listrutan.

{
"title": {
    "aem:affKeyword": [
      "country"
    ],
    "type" : "string",
    "enum": [
      "India",
      "England",
      "Australia",
      "New Zealand"
    ],
    "aem:afProperties": {
      "sling:resourceType": "fd/af/components/guidedropdownlist",
      "guideNodeClass": "guideDropDownlist"
    }
  }
}

Lägg till ytterligare alternativ i listrutan add-additional-options-to-the-drop-down-list

Exempel: Lägg till Sri Lanka som ett extra alternativ i en befintlig nedrullningsbar lista med en anpassad metamodell.

Om du vill lägga till ett extra alternativ uppdaterar du egenskapen enum med det nya alternativet. I det här exemplet uppdaterar du egenskapen enum med Sri Lanka som ett extra alternativ. Värden som visas i egenskapen enum visas i listrutan.

{
"title": {
    "aem:affKeyword": [
      "country"
    ],
    "type" : "string",
    "enum": [
      "India",
      "England",
      "Australia",
      "New Zealand",
   "Sri Lanka"
    ],
    "aem:afProperties": {
      "sling:resourceType": "fd/af/components/guidecheckbox",
      "guideNodeClass": "guidecheckbox"
    }
  }
}

Konvertera ett strängfält till ett flerradigt fält convert-a-string-field-to-a-multi-line-field

Exempel: Konvertera fältet Adress av strängtyp till ett flerradigt fält i formuläret efter konvertering.

I den här anpassade metamodellen använder konverteringstjänsten text inom aem:affKeyword som söknyckelord. När du har hämtat texten Address i formuläret konverterar tjänsten textfältet till ett flerradigt fält med hjälp av egenskapen multiLine som definieras i avsnittet aem:afProperties .

{
 "multiLine" : {
   "aem:affKeyword": [
      "Address"
    ],
    "type" : "string",
    "aem:afProperties": {
      "multiLine": "true"
    }
  }
}
recommendation-more-help
c40c2ccf-3d1b-4b47-b158-c4646051b46c