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://<serveur>:<port>/aem/forms.html/content/dam/formsanddocuments/metamodel/global.schema.json
. Vous pouvez également cliquer ici pour accéder au schéma de langue anglaise et le télécharger. Les métamodèles pour le français, l’allemand, l’espagnol, l’italien et le portugais peuvent également être téléchargés.
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 :
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, Événement représente le nom d’une entité dont la valeur id est Eventid. L’entité É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 Numéro de compte bancaire dans le formulaire, le service de conversion convertit le champ en un type 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. |
Vous pouvez créer un métamodèle spécifique à la langue. Ce métamodèle permet de créer des règles de mappage dans la langue de votre choix. Le service Conversion de formulaires automatisée vous permet de créer des métamodèles dans les langues suivantes :
Ajoutez la balise de métadonnées aem:Language en haut d’un métamodèle pour spécifier sa langue. Par exemple :
"metaTags": {
"aem:Language": "fr"
}
Lorsqu’aucune langue n’est spécifiée, le service considère que le métamodèle est en anglais.
Assurez-vous que le nom de chaque clé est en anglais. Par exemple, emailAddress.
Assurez-vous que toutes les références d’entité et les valeurs prédéfinies de toutes les clés id sont constituées uniquement de caractères ASCII. Par exemple, "id": "ContactPoint" / "$ref": "#ContactPoint".
Assurez-vous que toutes les valeurs correspondant aux clés suivantes se trouvent dans la langue de métamodèle spécifiée :
Par exemple, lorsque la langue du métamodèle est le français ("aem:Language": "fr"), assurez-vous que toutes les descriptions et tous les messages sont en français.
Assurez-vous que toutes les propriétés de schéma JSON utilisent uniquement les valeurs prises en charge. Par exemple, la propriété type ne peut couvrir que les valeurs sélectionnées de type Chaîne, Nombre, Entier et Booléen.
L’image suivante présente des exemples de métamodèle de langue anglaise et la correspondance du métamodèle de langue française :
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 Formulaires > 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 :
Outils > Services cloud > Configuration de la conversion automatisée de formulaires > <Propriétés de la configuration sélectionnée>
Dans l’onglet De base, spécifiez l’emplacement du métamodèle personnalisé dans le champ Métamodèle personnalisé et appuyez sur 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 Numéro de compte bancaire dans le formulaire, le service de conversion remplace le texte par la chaîne 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 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 Numéro de compte bancaire dans le formulaire, le service de conversion convertit le champ en un type nombre à l’aide de la propriété type.
{
"numberfields": {
"type": "number",
"aem:affKeyword": ["Bank account number"]
}
}
Exemple : ajouter du texte d’aide au champ 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 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 Pays de type 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 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 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 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 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 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 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 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 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 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 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 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 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 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"
}
}
}