Le service de conversion automatisée de formulaires identifie et extrait les objets de formulaire des formulaires sources. Le mappeur sémantique aide le service à décider comment les objets extraits sont représentés dans un formulaire adaptatif. Par exemple, un formulaire source peut représenter une date de plusieurs façons différentes. Le mappeur sémantique permet de mapper toutes les représentations des dates du formulaire source avec les composants de date des formulaires adaptatifs. Le mappeur sémantique permet également au service de préconfigurer et d’appliquer des validations, des règles, des modèles de données, du texte d’aide et des propriétés d’accessibilité aux composants de formulaires adaptatifs pendant la conversion.
Le métamodèle est un schéma JSON. Avant de commencer, assurez-vous de bien maîtriser JSON. Vous devez avoir de l’expérience dans la création, l’édition et la lecture de données enregistrées au format JSON.
Le service de conversion automatisée de formulaires comprend un métamodèle par défaut. Il s’agit d’un schéma JSON qui se trouve sur Adobe Cloud avec d’autres composants du service de conversion automatisée de formulaires. Une copie du métamodèle est disponible sur votre serveur AEM local à l’adresse suivante : http://<server>:<port>/aem/forms.html/content/dam/formsanddocuments/metamodel/global.schema.json. Vous pouvez également cliquer ici pour accéder au schéma par défaut et le télécharger.
Le schéma du métamodèle dérive des entités de schéma figurant sur https://schema.org/docs/schemas.html. Il inclut notamment les entités Person, PostalAddress et LocalBusiness définies sur https://schema.org. Chaque entité du métamodèle correspond au type d’objet de schéma JSON. Le code suivant représente un exemple de structure de métamodèle :
"Entity": {
"id": "Entity",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string",
"description": "Description of the item"
}
}
}
Pour télécharger le métamodèle par défaut sur le système de fichiers local, procédez comme suit :
Connectez-vous à l’instance AEM Forms.
Accédez au dossier Forms (Formulaires) > Forms & Documents (Formulaires et documents) > Meta Model (Métamodèle).
Sélectionnez le fichier global.schema.json et appuyez sur Download (Télécharger). Une boîte de dialogue de téléchargement s’affiche. Sélectionnez l’option Download asset(s) as binary files (Télécharger le ou les actifs sous forme de fichiers binaires). Appuyez sur Download (Télécharger). Une archive est téléchargée.
Un métamodèle fait référence à un fichier de schéma JSON qui contient des entités. Toutes les entités du fichier de schéma JSON incluent un nom et un identifiant. Chaque entité peut comprendre plusieurs propriétés. Les entités et leurs propriétés peuvent varier en fonction du domaine. Vous pouvez étendre un fichier de schéma à l’aide de mots-clés et de configurations de champs pour mapper les propriétés de schéma aux composants de formulaires adaptatifs.
"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."
}
}
}
]
}
Dans cet exemple, Event (Événement) représente le nom d’une entité dont la valeur id est Eventid. L’entité Event (Événement) comprend plusieurs propriétés :
Le concept allOf dans le métamodèle permet l’héritage entre les entités.
Chaque propriété peut en outre inclure :
Sur la base des mots-clés référencés à l’aide de aem:affKeyword, le service de conversion effectue une opération de recherche sur les champs du formulaire source. Le service de conversion applique les propriétés du schéma JSON et les propriétés supplémentaires aux champs qui répondent aux critères de recherche.
Dans cet exemple, le service de conversion recherche les mots-clés suivants dans le fichier source : phone, telephone, mobile phone, work phone, home phone, telephone number, telephone no et phone number. Selon les champs dans lesquels figurent ces mots-clés, le service de conversion applique le type, le modèle et aem:afProperties aux champs du formulaire adaptatif après la conversion.
Le métamodèle prend en charge les propriétés communes du schéma JSON suivantes pour les champs de formulaires adaptatifs générés à l’aide du service de conversion automatisée de formulaires :
Nom de la propriété | Description |
---|---|
title |
Le texte mentionné dans la propriété title d’un métamodèle sert de mot-clé de recherche pour effectuer des actions sur les champs de formulaires adaptatifs générés (par exemple, la modification du libellé d’un champ de formulaire adaptatif). Pour en savoir plus, consultez la section Modifier le libellé d’un champ de formulaire dans Exemples de métamodèles personnalisés. |
description |
La propriété description définit le texte d’aide pour le champ de formulaire adaptatif généré. Pour en savoir plus, consultez la section Ajouter du texte d’aide à un champ de formulaire dans Exemples de métamodèles personnalisés. |
type |
La propriété type définit le type de données pour le champ de formulaire adaptatif généré. Les valeurs possibles pour la propriété type sont les suivantes :
Pour en savoir plus sur l’utilisation de la propriété type dans un métamodèle, consultez la section Modifier le type d’un champ de formulaire dans Exemples de métamodèles personnalisés. |
pattern |
La propriété pattern restreint la valeur du champ de formulaire adaptatif généré selon une expression régulière. Par exemple, le code suivant dans le métamodèle limite la valeur du champ de formulaire adaptatif généré à dix chiffres : |
format |
La propriété format restreint la valeur du champ de formulaire adaptatif généré selon un modèle nommé plutôt qu’une expression régulière. Les valeurs possibles pour la propriété format sont les suivantes :
|
enum et enumNames |
Les propriétés enum et enumNames limitent les valeurs des champs de liste déroulante, de case à cocher ou de bouton radio à un ensemble fixe. Les valeurs répertoriées dans enumNames sont affichées sur l’interface utilisateur. Les valeurs répertoriées à l’aide de la propriété enum sont utilisées pour le calcul. |
Le service de conversion automatisée de formulaires effectue une recherche par mot-clé sur le formulaire source pendant la conversion. Après avoir filtré les champs qui répondent aux critères de recherche, le service de conversion applique les propriétés définies pour ces champs dans le métamodèle aux champs de formulaires adaptatifs générés.
Les mots-clés sont référencés à l’aide de la propriété aem:affKeyword.
{
"numberfields": {
"type": "number",
"aem:affKeyword": ["Bank account number"]
}
}
Dans cet exemple, le service de conversion utilise le texte dans aem:affKeyword comme mot-clé de recherche. Après avoir récupéré le texte Bank account number (Numéro de compte bancaire) dans le formulaire, le service de conversion convertit le champ en un type number (nombre) à l’aide de la propriété type.
Vous pouvez utiliser la propriété aem:afProperties dans le métamodèle pour définir les propriétés supplémentaires suivantes pour les champs de formulaires adaptatifs générés à l’aide du service de conversion automatisée de formulaires :
Nom de la propriété | Description |
---|---|
multiLine |
La propriété multiLine convertit un champ de formulaire source en un champ multiligne dans le formulaire adaptatif après la conversion. Pour plus d’informations, voir Convertir un champ de chaîne en un champ multiligne dans Exemples de métamodèles personnalisés. |
mandatory |
La propriété mandatory définit l’entrée pour un champ de formulaire adaptatif après la conversion comme obligatoire. |
jcr:title |
La propriété jcr:title, conjointement à la propriété de schéma de titre JSON, vous permet de modifier le libellé d’un champ de formulaire adaptatif après la conversion. |
sling:resourceType et guideNodeClass |
Les propriétés sling:resourceType et guideNodeClass vous permettent de mapper un champ de formulaire à un composant de formulaire adaptatif correspondant. |
validatePictureClause |
La propriété validatePictureClause définit une validation sur le format autorisé dans le champ de formulaire adaptatif après la conversion. |
Votre entreprise peut avoir des modèles et des validations en plus de ceux répertoriés dans le métamodèle par défaut. Vous pouvez étendre le métamodèle par défaut pour ajouter un modèle, des validations et des entités spécifiques à votre entreprise. Le service de conversion automatisée de formulaires applique le métamodèle personnalisé aux champs du formulaire pendant la conversion. Vous pouvez continuer à mettre à jour le métamodèle à mesure que de nouveaux modèles, validations et entités spécifiques à votre organisation sont découverts.
Le service de conversion automatisée de formulaires utilise un métamodèle par défaut enregistré à l’emplacement suivant pour mapper les champs de formulaire source aux champs de formulaire adaptatif pendant la conversion :
http://<server>:<port>/aem/forms.html/content/dam/formsanddocuments/metamodel/global.schema.json
Cependant, vous pouvez enregistrer un métamodèle personnalisé dans un dossier et modifier les propriétés du service de conversion pour utiliser le métamodèle personnalisé pendant la conversion.
Pour utiliser un métamodèle personnalisé lors de la conversion, procédez comme suit :
Créez un dossier dans Forms (Formulaires) > Forms & Documents (Formulaires et documents) et téléchargez le fichier de schéma JSON de métamodèle personnalisé dans le dossier.
Ouvrez les propriétés du service de conversion à l’aide de :
Tools (Outils) > Cloud Services (Services cloud) > Automated Forms Conversion Configuration (Configuration de la conversion automatisée de formulaires) > < Properties of selected configuration (Propriétés de la configuration sélectionnée) >
Dans l’onglet Basic (De base), spécifiez l’emplacement du métamodèle personnalisé dans le champ Custom Meta-model (Métamodèle personnalisé) et appuyez sur Save & Close (Enregistrer et fermer).
Exécutez la conversion pour appliquer le métamodèle personnalisé au processus de conversion.
Voici quelques exemples courants d’utilisation d’un métamodèle personnalisé pour modifier les propriétés d’un champ de formulaire adaptatif :
Exemple : remplacez le libellé du numéro de compte bancaire dans le formulaire par Numéro de compte personnalisé dans le formulaire adaptatif après la conversion.
Dans ce métamodèle personnalisé, le service de conversion utilise la propriété title comme mot-clé de recherche. Après avoir récupéré le texte Bank account number (Numéro de compte bancaire) dans le formulaire, le service de conversion remplace le texte par la chaîne Customer account number (numéro de compte client) mentionnée avec la propriété jcr:title dans la section aem:afProperties.
{
"numberfields": {
"type": "number",
"title": "Bank account number",
"aem:afProperties" : {
"jcr:title" : "Customer account number"
}
}
}
Exemple : remplacez le champ Bank account number (Numéro de compte bancaire) de type texte dans le formulaire avant la conversion par un champ de type number dans le formulaire adaptatif après la conversion.
Dans ce métamodèle personnalisé, le service de conversion utilise le texte dans aem:affKeyword comme mot-clé de recherche. Après avoir récupéré le texte Bank account number (Numéro de compte bancaire) dans le formulaire, le service de conversion convertit le champ en un type number (nombre) à l’aide de la propriété type.
{
"numberfields": {
"type": "number",
"aem:affKeyword": ["Bank account number"]
}
}
Exemple : ajouter du texte d’aide au champ Bank account number (Numéro de compte bancaire) du formulaire adaptatif.
Dans ce métamodèle personnalisé, le service de conversion utilise le texte dans aem:affKeyword comme mot-clé de recherche. Après avoir récupéré le texte Bank account number (Numéro de compte bancaire) dans le formulaire, le service de conversion ajoute le texte d’aide au formulaire adaptatif à l’aide de la propriété description.
{
"numberfields": {
"type": "number",
"aem:affKeyword": ["Bank account number"],
"description": "Specify your bank account number."
}
}
**Exemple **: remplacez le champ Country (Pays) de type string (chaîne) dans le formulaire avant la conversion par des cases à cocher dans le formulaire adaptatif après la conversion.
Dans ce métamodèle personnalisé, le service de conversion utilise le texte dans aem:affKeyword comme mot-clé de recherche. Après avoir récupéré le texte Country (Pays) dans le formulaire, le service de conversion remplace le champ par les cases à cocher suivantes à l’aide de la propriété enum :
Les propriétés sling:resourceType et guideNodeClass mappent un champ de formulaire à un composant de formulaire adaptatif de case à cocher.
{
"title": {
"aem:affKeyword": [
"country"
],
"type" : "string",
"enum": [
"India",
"England",
"Australia",
"New Zealand"
],
"aem:afProperties": {
"sling:resourceType": "fd/af/components/guidecheckbox",
"guideNodeClass": "guidecheckbox"
}
}
}
Exemple : remplacez le format du champ Email Address (Adresse électronique) par un format d’adresse électronique.
Dans ce métamodèle personnalisé, le service de conversion utilise le texte dans aem:affKeyword comme mot-clé de recherche. Après avoir récupéré le texte Email Address (Adresse électronique) dans le formulaire, le service de conversion remplace le champ par un format d’adresse électronique à l’aide de la propriété format.
{
"additionalDetails" : {
"aem:affKeyword": ["E-mail Address"],
"type" : "string",
"format" : "email"
}
}
Exemple 1 : ajoutez une validation au champ Postal Code (Code postal) du formulaire adaptatif.
Dans ce métamodèle personnalisé, le service de conversion utilise le texte dans aem:affKeyword comme mot-clé de recherche. Après avoir récupéré le texte Postal Code (Code postal) dans le formulaire, le service de conversion ajoute une validation au champ à l’aide de la propriété validatePictureClause définie dans la section aem:afProperties. Selon la validation, l’entrée que vous spécifiez pour le champ Postal Code (Code postal) dans le formulaire adaptatif après la conversion doit comprendre six caractères.
{
"postalCode" : {
"aem:affKeyword": ["Postal Code"],
"type" : "string",
"aem:afProperties" : {
"validatePictureClause" : "\\d{6}"
}
}
}
Exemple 2 : ajoutez une validation au champ Bank account number (Numéro de compte bancaire) du formulaire adaptatif.
Dans ce métamodèle personnalisé, le service de conversion utilise le texte dans aem:affKeyword comme mot-clé de recherche. Après avoir récupéré le texte Bank account number (Numéro de compte bancaire) dans le formulaire, le service de conversion ajoute une validation au champ à l’aide de la propriété mandatory définie dans la section aem:afProperties. Selon la validation, vous devez spécifier une valeur pour le champ Bank account number (Numéro de compte bancaire) avant d’envoyer le formulaire après la conversion.
{
"numberfields": {
"type": "number",
"aem:affKeyword": ["Bank account number"],
"aem:afProperties" : {
"mandatory": "true"
}
}
}
Exemple : remplacez le champ Country (Pays) de type string dans le formulaire avant la conversion par des options de liste déroulante dans le formulaire adaptatif après la conversion.
Dans ce métamodèle personnalisé, le service de conversion utilise le texte dans aem:affKeyword comme mot-clé de recherche. Après avoir récupéré le texte Country (Pays) dans le formulaire, le service de conversion remplace le champ par les options de liste déroulante suivantes à l’aide de la propriété enum :
Les propriétés sling:resourceType et guideNodeClass mappent un champ de formulaire à un composant de formulaire adaptatif de liste déroulante.
{
"title": {
"aem:affKeyword": [
"country"
],
"type" : "string",
"enum": [
"India",
"England",
"Australia",
"New Zealand"
],
"aem:afProperties": {
"sling:resourceType": "fd/af/components/guidedropdownlist",
"guideNodeClass": "guideDropDownlist"
}
}
}
Exemple : ajoutez Sri Lanka comme option supplémentaire à une liste déroulante existante à l’aide d’un métamodèle personnalisé.
Pour ajouter une option supplémentaire, mettez à jour la propriété enum avec la nouvelle option. Dans cet exemple, mettez à jour la propriété enum avec Sri Lanka comme option supplémentaire. Les valeurs répertoriées dans la propriété enum s’affichent dans la liste déroulante.
{
"title": {
"aem:affKeyword": [
"country"
],
"type" : "string",
"enum": [
"India",
"England",
"Australia",
"New Zealand",
"Sri Lanka"
],
"aem:afProperties": {
"sling:resourceType": "fd/af/components/guidecheckbox",
"guideNodeClass": "guidecheckbox"
}
}
}
Exemple : remplacez le champ Address (Adresse) de type string par un champ multiligne dans le formulaire après la conversion.
Dans ce métamodèle personnalisé, le service de conversion utilise le texte dans aem:affKeyword comme mot-clé de recherche. Après avoir récupéré le texte Address (Adresse) dans le formulaire, le service remplace le champ de texte par un champ multiligne à l’aide de la propriété multiLine définie dans la section aem:afProperties.
{
"multiLine" : {
"aem:affKeyword": [
"Address"
],
"type" : "string",
"aem:afProperties": {
"multiLine": "true"
}
}
}