[AEM_Forms]{class="badge positive" title="S’applique à AEM Forms)."}
Utiliser le modèle de données de formulaire (FDM) work-with-form-data-model
L’éditeur Modèle de données de formulaire (FDM) fournit une interface utilisateur intuitive et des outils intégrés pour créer, modifier et configurer un modèle de données de formulaire (FDM) dans Adobe Experience Manager (AEM) Forms. L’éditeur vous permet d’ajouter et de configurer des objets de modèle de données, propriétés et services à partir des sources de données associées directement dans le modèle de données de formulaire (FDM).
Fonctionnalités de l’éditeur de modèle de données de formulaire
L’éditeur de modèle de données de formulaire prend en charge les tâches clés suivantes :
- Ajoutez et configurez des objets, des propriétés et des services de modèle de données à partir des sources de données associées dans FDM.
- Créer des objets et des propriétés de modèle de données sans sources de données. Vous pouvez d’abord définir ces objets et les lier ensuite aux objets et propriétés de modèle de données respectifs, ce qui découple la conception de la configuration source.
- Générez et modifiez des exemples de données pour les propriétés d’objet de modèle de données. Ces exemples de données préremplissent le Forms adaptatif lors de la prévisualisation, de sorte que les auteurs et les testeurs valident le comportement du formulaire avec des valeurs réalistes avant le déploiement.
- Testez les objets et services de modèle de données configurés dans FDM pour vérifier qu’ils sont correctement intégrés aux sources de données sous-jacentes.
Conditions préalables
Si vous découvrez l’intégration de données Forms et n’avez pas configuré de source de données ou créé de modèle de données de formulaire (FDM), consultez les rubriques suivantes :
Lisez la suite pour plus d’informations sur les différentes tâches et configurations que vous pouvez effectuer à l’aide de l’éditeur de modèle de données de formulaire.
Ajout d’objets et de services de modèle de données add-data-model-objects-and-services
Si vous avez créé un modèle de données de formulaire (FDM) avec des sources de données, vous pouvez utiliser l’éditeur de modèle de données de formulaire pour ajouter des objets et des services de modèle de données, configurer leurs propriétés, créer des associations entre objets de modèle de données et tester le modèle de données de formulaire (FDM) et les services. Vous pouvez ainsi assembler un modèle de données fonctionnel complet directement à partir de vos sources de données connectées dans un seul environnement d’édition.
Vous pouvez ajouter des objets et des services de modèle de données à partir des sources de données disponibles dans le modèle de données de formulaire (FDM). Les objets de modèle de données que vous ajoutez apparaissent dans l’onglet Modèle, tandis que les services que vous ajoutez apparaissent dans l’onglet Services , en séparant clairement les deux types d’objets pour une configuration et un test plus faciles.
Pour ajouter des objets et services de modèle de données :
-
Connectez-vous à l’instance d’auteur Experience Manager, accédez à Forms > Intégrations de données, puis ouvrez le modèle de données de formulaire (FDM) dans lequel vous souhaitez ajouter des objets de modèle de données.
-
Dans le volet Sources de données, développez les sources de données pour afficher les objets et services de modèle de données disponibles.
-
Sélectionnez les objets et services de modèle de données que vous souhaitez ajouter au modèle de données de formulaire (FDM) et sélectionnez Ajouter la sélection. Les objets et services sélectionnés sont alors ajoutés au FDM afin que vous puissiez configurer leurs propriétés et créer des associations entre eux.
Objets et services de modèle de données sélectionnés
L’onglet Modèle affiche une représentation graphique de tous les objets de modèle de données et de leurs propriétés ajoutées au modèle de données de formulaire (FDM). Chaque objet de modèle de données est représenté par une zone dans le modèle de données de formulaire (FDM), ce qui facilite l’analyse visuelle de la structure de votre modèle.
L’onglet Modèle affiche les objets de modèle de données ajoutés
note NOTE Vous pouvez appuyer sur des zones d’objet de modèle de données et les faire glisser pour les organiser dans la zone de contenu. Tous les objets de modèle de données ajoutés dans le modèle de données de formulaire (FDM) sont grisés dans le volet Sources de données, ce qui indique qu’ils ont déjà été ajoutés et empêche les entrées en double. L’onglet Services répertorie les services ajoutés.
L’onglet Services affiche les services de modèle de données
note NOTE Outre les objets et services de modèle de données, le document de métadonnées de service OData (Open Data Protocol) inclut des propriétés de navigation, qui définissent l’association entre deux objets de modèle de données et permettent de parcourir les données associées. Pour plus d’informations, voir Utilisation des propriétés de navigation des services OData. -
Sélectionnez Enregistrer pour enregistrer l’objet de modèle de formulaire.
note NOTE Les services que vous configurez dans l’onglet Services d’un modèle de données de formulaire (FDM) peuvent être appelés directement à l’aide des règles de formulaire adaptatif, ce qui permet aux auteurs de formulaire de déclencher des opérations de données telles que la récupération ou l’écriture de données au moment de l’exécution. Les services configurés sont disponibles dans l’action Appeler les services de l’éditeur de règles. Pour plus d’informations sur l’utilisation de ces services dans les règles de formulaire adaptatif, voir Appeler des services et Définir la valeur des règles dans éditeur de règles.
Création des objets de modèle de données et des propriétés enfants create-data-model-objects-and-child-properties
Un modèle de données organise les informations en unités structurées réutilisables appelées objets, chacune d’elles pouvant contenir des propriétés enfants qui décrivent les attributs individuels de l’objet. La création d’objets bien définis et l’imbrication de propriétés enfant sous ceux-ci est une étape fondamentale dans la création de tout modèle de données, car elle établit une représentation hiérarchique claire des informations que votre application stockera, validera et échangera.
Que sont les objets de modèle de données et les propriétés enfant ?
- Un objet de modèle de données est un conteneur nommé qui regroupe les champs associés en une seule entité logique. Les objets représentent des éléments réels ou conceptuels, tels qu’un client, une commande ou un produit, et servent de structure de niveau supérieur à laquelle d’autres éléments se rattachent.
- Les propriétés enfants sont les champs individuels imbriqués dans un objet . Chaque propriété enfant définit un attribut de l’objet parent, ainsi que des caractéristiques telles que son nom, son type de données et si la valeur est requise. L’imbrication de propriétés sous un objet parent conserve les données associées regroupées, ce qui améliore la clarté et facilite la gestion du modèle.
C’est cette relation parent-enfant qui donne sa hiérarchie à un modèle de données. L’objet agit comme le parent et les propriétés enfant héritent de leur contexte, en s’assurant que chaque attribut est associé sans ambiguïté à l’entité qu’il décrit.
Création d’un objet de modèle de données
Pour définir un nouvel objet dans votre modèle de données, procédez comme suit :
- Nommez l’objet. Choisissez un nom clair et descriptif qui identifie l’entité que l’objet représente. L’attribution de noms cohérents facilite la lecture et la référence ultérieures du modèle.
- Définissez l’objet en tant que conteneur. Définissez l’objet en tant qu’élément de niveau supérieur qui contiendra ses propriétés enfants associées.
- Ajout de propriétés enfant. Joignez les champs individuels qui décrivent les attributs de l’objet, en définissant chacun à son tour.
- Attribuez un type de données à chaque propriété. Spécifiez le type de valeur que chaque propriété enfant accepte (texte, nombre ou valeur booléenne, par exemple) afin que les données puissent être validées correctement.
- Définir des règles d’exigence. Indiquez quelles propriétés enfants sont requises et lesquelles sont facultatives, en vous assurant que le modèle applique les contraintes dont dépend votre application.
Ajout de propriétés enfants
Lors de l’ajout de propriétés enfants à un objet , définissez chaque propriété avec les détails suivants :
- Nom de la propriété : libellé unique et descriptif pour l’attribut dans l’objet parent.
- Type de données — Type de valeur stockée par la propriété, qui régit la manière dont la valeur est validée et traitée.
- Statut obligatoire ou facultatif — si la propriété doit toujours avoir une valeur.
- Structure imbriquée (le cas échéant) — une propriété enfant peut elle-même être un objet ayant ses propres propriétés enfant, ce qui vous permet de modéliser des données complexes à plusieurs niveaux. C’est cette imbrication qui permet aux modèles de données de représenter des informations profondément structurées.
Applications pratiques et avantages
La structuration d’un modèle de données avec des objets et des propriétés enfant offre plusieurs avantages pratiques :
- Cohérence : le regroupement des champs associés sous un objet partagé garantit que les données sont stockées et interprétées de manière uniforme dans l’application.
- Réutilisation — Les objets bien définis peuvent être référencés à plusieurs endroits, ce qui réduit la duplication.
- Validation — L’attribution de types de données et de règles d’exigence aux propriétés enfant permet au système de capturer automatiquement les données non valides ou incomplètes.
- Évolutivité — étant donné que les objets prennent en charge les propriétés enfants imbriquées, le modèle peut se développer pour représenter des relations de plus en plus complexes sans devenir désorganisé.
Bonnes pratiques
- Utilisez des noms clairs et descriptifs pour les deux objets et leurs propriétés enfants afin que le modèle s’auto-documente.
- Regroupez les attributs liés sous le même objet parent plutôt que de les répartir sur des structures non liées.
- Définissez rapidement les types de données et les règles d’exigence, car cela permet d’établir une validation fiable dès le départ.
- Garder l’imbrication utile : imbriquez les propriétés enfant uniquement lorsque la hiérarchie supplémentaire reflète de manière significative la structure des données.
En définissant soigneusement les objets et leurs propriétés enfants, vous créez un modèle de données organisé, gérable et capable de représenter précisément les entités avec lesquelles votre application fonctionne.
Création des objets de modèle de données create-data-model-objects
Bien que vous puissiez ajouter des objets de modèle de données à partir de sources de données configurées, vous pouvez également créer des objets de modèle de données (également appelés entités) sans sources de données. Un objet de modèle de données est une entité structurée au sein du modèle de données de formulaire (FDM) qui représente un regroupement logique de propriétés, qui peuvent ensuite être liées à des champs de source de données ou utilisées indépendamment. Cette fonctionnalité est particulièrement utile lorsque vous n’avez pas encore configuré les sources de données dans le modèle de données de formulaire (FDM), car elle vous permet de commencer à concevoir votre structure de données avant qu’une intégration d’arrière-plan ne soit en place.
Étapes de création d’un objet de modèle de données sans sources de données
Pour créer un objet de modèle de données sans sources de données :
-
Connectez-vous à l’instance d’auteur Experience Manager, accédez à Forms > Intégrations de données, puis ouvrez le modèle de données de formulaire (FDM) dans lequel vous souhaitez créer un objet ou une entité de modèle de données.
-
Sélectionnez Créer une entité.
-
Dans la boîte de dialogue Créer un modèle de données, spécifiez un nom pour l’objet de modèle de données et sélectionnez Ajouter. Un objet de modèle de données est ajouté au modèle de données de formulaire (FDM). L’objet de modèle de données ajouté n’est pas lié à une source de données et n’a aucune propriété, comme illustré dans l’image suivante. Puisqu’il n’est pas lié, cet objet existe uniquement en tant qu’espace réservé structurel jusqu’à ce que vous définissiez ses propriétés ou que vous le connectiez à une source de données.
Étapes suivantes next-steps-data-model-object
Une fois l’objet de modèle de données non lié créé, ajoutez des propriétés enfants pour définir sa structure. Ces propriétés enfants vous permettent de spécifier les champs et attributs contenus dans l’objet. Ils peuvent ensuite être liés aux sources de données une fois vos intégrations de données configurées. Cela permet de s’assurer que l’objet de modèle de données devient entièrement fonctionnel et prêt à être utilisé dans les formulaires.
Ajout des propriétés enfant child-properties
L’éditeur de modèle de données de formulaire (FDM) vous permet de créer des propriétés enfant dans un objet de modèle de données. Par défaut, une propriété enfant nouvellement créée n’est liée à aucune propriété d’une source de données. Vous pouvez ensuite lier la propriété enfant à une autre propriété dans l’objet de modèle de données conteneur.
Pour créer une propriété enfant :
-
Dans un modèle de données de formulaire, sélectionnez un objet de modèle de données puis Créer une propriété enfant.
-
Dans la boîte de dialogue Créer une propriété enfant, spécifiez un nom et un type de données pour la propriété dans les champs Nom et Type, respectivement. Vous avez la possibilité d’indiquer un titre et une description pour la propriété.
-
Activez Calculée si la propriété est une propriété calculée, c’est-à-dire une propriété dont la valeur est évaluée en fonction d’une règle ou d’une expression plutôt que saisie directement. Pour plus d’informations, voir Modifier les propriétés.
-
Si l’objet de modèle de données est lié à une source de données, la propriété enfant ajoutée est automatiquement liée à la propriété de l’objet de modèle de données parent avec le même nom et le même type de données. Cette liaison automatique correspond à la fois au nom et au type de données, ce qui garantit que la propriété enfant reste cohérente avec son parent sans étapes manuelles supplémentaires.
Pour lier manuellement une propriété enfant à une propriété d’objet de modèle de données, sélectionnez l’icône de navigation en regard du champ Référence de liaison. La boîte de dialogue Sélection d’objet répertorie toutes les propriétés de l’objet de modèle de données parent. Sélectionnez une propriété puis l’icône en forme de coche. Vous pouvez uniquement sélectionner une propriété du même type de données que la propriété enfant, car une correspondance de type de données est requise pour une liaison valide.
-
Sélectionnez Terminé pour enregistrer la propriété enfant, puis sélectionnez Enregistrer pour enregistrer le modèle de données de formulaire (FDM). La propriété enfant est maintenant ajoutée à l’objet de modèle de données.
Après avoir créé des objets et des propriétés de modèle de données, vous pouvez continuer à créer des Forms adaptatives basées sur le modèle de données de formulaire (FDM). Ultérieurement, lorsque des sources de données sont disponibles et configurées, vous pouvez lier le modèle de données de formulaire (FDM) à des sources de données. Par conséquent, la liaison est automatiquement mise à jour dans tous les Forms adaptatifs associés, de sorte que les modifications se propagent sans reconfiguration manuelle. Pour plus d’informations sur la création d’un Forms adaptatif à l’aide d’un modèle de données de formulaire (FDM), voir Utiliser un modèle de données de formulaire.
Liaison des objets et des propriétés de modèle de données bind-data-model-objects-and-properties
Lorsque les sources de données que vous souhaitez intégrer au modèle de données de formulaire (FDM) sont disponibles, vous pouvez les ajouter au modèle de données de formulaire (FDM), comme décrit dans la section Mettre à jour les sources de données. Un objet ou propriété de modèle de données non lié existe dans le modèle de données de formulaire (FDM) mais n’est pas encore mappé à un champ dans une source de données connectée. Il ne peut donc pas lire ni écrire de données tant qu’une liaison n’est pas établie. Ensuite, procédez comme suit pour lier les objets et propriétés de modèle de données non liés :
-
Dans le modèle de données de formulaire, sélectionnez la source de données non liée que vous souhaitez lier à une source de données.
-
Sélectionnez Modifier les propriétés.
-
Dans le volet Modifier les propriétés, sélectionnez l’icône de navigation en regard du champ Liaison. L’icône Parcourir ouvre la boîte de dialogue Sélectionner l’objet qui répertorie les sources de données ajoutées dans le modèle de données de formulaire (FDM).
-
Développez l’arborescence des sources de données et sélectionnez un objet de modèle de données avec lequel établir la liaison, puis sélectionnez l’icône de coche.
-
Sélectionnez Terminé pour enregistrer les propriétés, puis sélectionnez Enregistrer pour enregistrer le modèle de données de formulaire. L’objet de modèle de données est maintenant lié à une source de données. Cela permet à l’objet de lire et d’écrire dans la source de données connectée au moment de l’exécution. Après l’enregistrement, l’objet de modèle de données n’est plus marqué comme Non lié, ce qui confirme que la liaison est terminée.
Configuration des services configure-services
La configuration des services de lecture et d’écriture permet à un objet de modèle de données de lire et d’écrire des données dans un modèle de données de formulaire (FDM). Pour configurer les services de lecture et d’écriture d’un objet de modèle de données, procédez comme suit :
-
Cochez la case en haut d’un objet de modèle de données pour le sélectionner et sélectionnez Modifier les propriétés.
Modification des propriétés pour configurer les services de lecture et d’écriture pour un objet de modèle de données
La boîte de dialogue Modifier les propriétés s’ouvre.
Boîte de dialogue Modifier les propriétés
note NOTE Outre les objets et services de modèle de données, le document de métadonnées de service OData (Open Data Protocol) comprend des propriétés de navigation qui définissent l’association entre deux objets de modèle de données. Lorsque vous ajoutez une source de données de service OData à un modèle de données de formulaire (FDM), un service est disponible dans le modèle de données de formulaire (FDM) pour toutes les propriétés de navigation dans un objet de modèle de données. Vous pouvez utiliser ce service pour lire les propriétés de navigation de l’objet de modèle de données correspondant. Pour plus d’informations sur l’utilisation du service, voir Utilisation des propriétés de navigation des services OData. -
Activez le bouton (bascule) Objet de niveau supérieur pour spécifier si l’objet de modèle de données est un objet de modèle de niveau supérieur.
Les objets de modèle de données configurés dans un modèle de données de formulaire peuvent être utilisés dans l’onglet Objets de modèle de données de l’explorateur de contenu d’un formulaire adaptatif basé sur le modèle de données de formulaire (FDM). Lorsque vous ajoutez une association entre deux objets de modèle de données, l’objet de modèle de données à associer est imbriqué sous l’objet de modèle de données auquel vous l’associez dans l’onglet Objets de modèle de données. Si le modèle de données imbriqué est un objet de niveau supérieur, il apparaît également séparément dans l’onglet Objets de modèle de données. Par conséquent, l’objet s’affiche deux fois (une entrée à l’intérieur de la hiérarchie imbriquée et une autre à l’extérieur), ce qui peut perturber les auteurs de formulaires. Pour que l’objet de modèle de données associé apparaisse uniquement dans la hiérarchie imbriquée, désactivez la propriété Objet de niveau supérieur. Cela permet aux auteurs de formulaires de voir une entrée unique et sans ambiguïté, ce qui réduit la confusion lors de la création de formulaires.
-
Sélectionnez les services Lecture et Écriture pour l’objet de modèle de données sélectionné. Les arguments des services sélectionnés s’affichent ensuite pour configuration.
Services de lecture et d’écriture configurés pour la source de données des employés
-
Sélectionnez
pour l’argument de service de lecture afin de lier l’argument à une valeur Attribut du profil utilisateur, Attribut de requête ou Littéral et spécifiez la valeur de liaison. -
Sélectionnez Terminé pour enregistrer l’argument, Terminé pour enregistrer les propriétés, puis Enregistrer pour enregistrer le modèle de données de formulaire (FDM).
Liaison des arguments du service de lecture bindargument
Liez un argument de service de lecture à l’un des trois types de liaison suivants : Attribut de profil utilisateur, Attribut de requête ou Valeur littérale, en fonction d’une valeur de liaison. Le service de lecture utilise cette valeur comme argument pour récupérer les détails associés à la valeur spécifiée à partir de la source de données. Chaque type de liaison détermine l’origine de la valeur de l’argument : une entrée fixe, le profil de l’utilisateur connecté ou la requête entrante.
Valeur Littéral literal-value
Sélectionnez Littéral dans le menu déroulant Liaison à et entrez une valeur dans le champ Valeur de liaison. Les détails associés à la valeur sont récupérés à partir de la source de données. Utilisez cette option pour récupérer les détails associés à une valeur statique, car une liaison littérale fournit une entrée fixe et immuable qui ne dépend pas de l’utilisateur ou de la requête.
Dans cet exemple, les détails associés à 4367655678, en tant que valeur de l’argument mobilenum, sont récupérés à partir de la source de données. Les détails associés renvoyés lorsque vous transmettez la valeur d’un argument de numéro de mobile peuvent inclure des propriétés telles que le nom du client, l’adresse du client et la ville.
Attribut du profil utilisateur user-profile-attribute
Sélectionnez Attribut du profil utilisateur dans le menu déroulant Liaison à et saisissez le nom de l’attribut dans le champ Valeur de liaison. Les détails de l’utilisateur connecté à l’instance Experience Manager sont récupérés à partir de la source de données en fonction du nom de l’attribut.
Le nom d’attribut spécifié dans le champ Valeur de liaison doit inclure le chemin de liaison complet jusqu’au nom d’attribut de l’utilisateur. Ouvrez l’URL suivante pour accéder aux détails de l’utilisateur sur CRXDE :
https://[server-name]:[port]/crx/de/index.jsp#/home/users/
Dans cet exemple, spécifiez profile.empid dans le champ Valeur de liaison de l’utilisateur grios.
L’argument id prend la valeur de l’attribut empid du profil utilisateur et le transmet en tant qu’argument au service de lecture. Le service de lecture lit ensuite et renvoie les valeurs des propriétés associées à partir de l’objet de modèle de données de l’employé pour le empid associé à l’utilisateur connecté.
Attribut de requête request-attribute
Utilisez la liaison d’attribut de requête pour récupérer les propriétés associées à partir de la source de données en fonction d’une valeur fournie dans la requête entrante.
-
Sélectionnez Attribut de requête dans le menu déroulant Liaison à et saisissez le nom de l’attribut dans le champ Valeur de liaison.
-
Créez une superposition pour head.jsp. Pour créer la superposition, ouvrez CRX DE et copiez le fichier
https://<server-name>:<port number>/crx/de/index.jsp#/libs/fd/af/components/page2/afStaticTemplatePage/head.jspdanshttps://<server-name>:<port number>/crx/de/index.jsp#/apps/fd/af/components/page2/afStaticTemplatePage/head.jspnote NOTE - Si vous utilisez un modèle statique, superposez le fichier head.jsp à l’adresse suivante :
/libs/fd/af/components/page2/afStaticTemplatePage/head.jsp - Si vous utilisez un modèle modifiable, superposez le fichier aftemplatedpage.jsp à l’adresse suivante :
/libs/fd/af/components/page2/aftemplatedpage/aftemplatedpage.jsp
- Si vous utilisez un modèle statique, superposez le fichier head.jsp à l’adresse suivante :
-
Définissez paramMap pour l’attribut de requête. Par exemple, incluez le code suivant dans le fichier .jsp du dossier des applications :
code language-javascript <%Map paraMap = new HashMap(); paraMap.put("<request_attribute>",request.getParameter("<request_attribute>")); request.setAttribute("paramMap",paraMap);Par exemple, utilisez le code ci-dessous pour récupérer la valeur de petId à partir de la source de données :
code language-javascript <%Map paraMap = new HashMap(); paraMap.put("petId",request.getParameter("petId")); request.setAttribute("paramMap",paraMap);%>
Par conséquent, le service de lecture récupère les détails de la source de données en fonction du nom d’attribut spécifié dans la requête.
Par exemple, la spécification de l’attribut en tant que petid=100 dans la requête extrait les propriétés associées à cette valeur d’attribut de la source de données.
Ajout des associations add-associations
Les associations sont généralement créées entre les objets de modèle de données d’une source de données et sont conservées lorsque les objets sont importés dans un modèle de données de formulaire (FDM). Une association définit la relation entre deux objets de modèle de données et peut être un-à-un ou un-à-plusieurs.
Une association un à plusieurs existe lorsqu’un seul enregistrement se rapporte à plusieurs enregistrements. Par exemple, un employé peut avoir plusieurs personnes à charge associées à l’enregistrement de l’employé. Cette relation est appelée association d’un objet à plusieurs objets et est représentée par des 1:n sur la ligne reliant les objets de modèle de données associés. Une association un-à-un existe lorsqu’une relation renvoie exactement un enregistrement correspondant. Par exemple, lorsqu’une association renvoie un nom d’employé unique pour un ID d’employé donné, il s’agit d’une association un-à-un.
Lorsque vous ajoutez des objets de modèle de données associés d’une source de données à un modèle de données de formulaire (FDM), leurs associations sont conservées et affichées comme étant liées par des lignes fléchées. Vous pouvez également ajouter des associations entre des objets de modèle de données entre des sources de données disparates au sein d’un modèle de données de formulaire unique (FDM), ce qui vous permet de combiner des données associées provenant de différents systèmes back-end.
Pour ajouter une association :
-
Cochez la case en haut d’un objet de modèle de données pour le sélectionner, puis sélectionnez Ajouter une association. La boîte de dialogue Ajouter une association s’ouvre.
note NOTE Outre les objets et services de modèle de données, un document de métadonnées de service OData (Open Data Protocol) comprend des propriétés de navigation qui définissent l’association entre deux objets de modèle de données. Vous pouvez utiliser ces propriétés de navigation lors de l’ajout d’associations dans un modèle de données de formulaire (FDM). Pour plus d’informations, voir Utilisation des propriétés de navigation des services OData. La boîte de dialogue Ajouter une association s’ouvre.
Boîte de dialogue Ajouter une association
-
Dans le volet Ajouter une association :
- Spécifiez un titre pour l’association.
- Sélectionnez le type d’association : un à un ou un à plusieurs.
- Sélectionnez l’objet de modèle de données à associer.
- Sélectionnez le service de lecture pour lire les données de l’objet de modèle sélectionné. L’argument de service de lecture s’affiche. Modifiez l’argument si nécessaire et liez-le à la propriété de l’objet de modèle de données que vous souhaitez associer.
Dans l’exemple suivant, l’argument par défaut pour le service de lecture de l’objet de modèle de données Personnes à charge est
dependentid.
L’argument par défaut pour le service de lecture Personnes à charge est dependentid
Cependant, l’argument doit être une propriété commune partagée entre les objets de modèle de données associés, ce qui est
Employeeiddans cet exemple. Par conséquent, comme l’association dépend d’une clé correspondante, l’argumentEmployeeiddoit être lié à la propriétéidde l’objet de modèle de données Employé . Cette liaison permet au système de récupérer les détails des personnes à charge associés dans l’objet de modèle de données Personnes à charge.
Argument mis à jour et liaison
Sélectionnez Terminé pour enregistrer l’argument.
-
Sélectionnez Terminé pour enregistrer l’association, puis sélectionnez Enregistrer pour enregistrer le modèle de données de formulaire (FDM).
-
Répétez les étapes pour créer d’autres associations selon les besoins.
Modification des propriétés properties
La modification des propriétés vous permet de configurer le comportement des objets de modèle de données, de leurs propriétés et des services dans le modèle de données de formulaire (FDM). Dans le volet Modifier les propriétés, définissez les services, les types de données, les clés et les arguments qui déterminent la manière dont FDM lit, écrit et renvoie des données.
Pour modifier les propriétés :
-
Cochez la case en regard d’un objet de modèle de données, d’une propriété ou d’un service dans le modèle de données de formulaire (FDM).
-
Sélectionnez Modifier les propriétés. Le volet Modifier les propriétés de l’objet de modèle, de la propriété ou du service sélectionné s’ouvre.
-
Objet de modèle de données : spécifiez les services de lecture et d’écriture et modifiez les arguments. Ces services déterminent la manière dont les données sont récupérées et conservées dans la source de données sous-jacente de l’objet .
-
Propriété : spécifiez le type, sous-type et format de la propriété. Vous pouvez également désigner la propriété sélectionnée en tant que clé primaire pour l’objet de modèle de données, qui identifie de manière unique chaque enregistrement.
-
Service : spécifiez l’objet de modèle d’entrée, le type de sortie et les arguments du service. Pour un service Get, vous pouvez indiquer s’il renvoie un tableau, en vous assurant que le service gère correctement plusieurs enregistrements.
Boîte de dialogue Modifier les propriétés pour un service Get
-
-
Sélectionnez Terminé pour enregistrer la configuration de la propriété, puis sélectionnez Enregistrer pour enregistrer le modèle de données de formulaire (FDM). Cet enregistrement final valide toutes les modifications de propriété dans FDM.
Créer des propriétés calculées computed
Une propriété calculée tire automatiquement sa valeur d’une règle ou d’une expression. À l’aide d’une règle, vous pouvez définir la valeur d’une propriété calculée sur une chaîne littérale, un nombre, le résultat d’une expression mathématique ou la valeur d’une autre propriété dans le modèle de données de formulaire (FDM). Étant donné que la valeur est calculée plutôt que saisie manuellement, les propriétés calculées réduisent les erreurs de saisie de données et conservent la cohérence des champs dépendants à mesure que les données sous-jacentes changent.
Exemple : création d’une propriété calculée FullName
Par exemple, vous pouvez créer une propriété calculée FullName dont la valeur est le résultat de la concaténation des propriétés FirstName et LastName existantes. Pour ce faire, procédez comme suit :
-
Créez une propriété nommée
FullNamedont le type de données est Chaîne. -
Activez Calculé et sélectionnez Terminé pour créer la propriété.
La propriété calculée FullName est créée. Une icône s’affiche en regard de la propriété pour indiquer qu’il s’agit d’une propriété calculée.
-
Sélectionnez la propriété FullName, puis sélectionnez Modifier la règle. La fenêtre Éditeur de règles s’ouvre.
-
Dans la fenêtre Éditeur de règles, sélectionnez Créer. Une fenêtre de règles Définir la valeur s’ouvre.
Dans la liste déroulante Sélectionner une option, sélectionnez Expression mathématique. Les autres options disponibles sont Objet de modèle de données de formulaire et Chaîne.
-
Dans l’expression mathématique, sélectionnez FirstName comme premier objet et LastName comme second objet. Sélectionnez plus en tant qu’opérateur.
Sélectionnez Terminé, puis sélectionnez Fermer pour fermer la fenêtre de l’éditeur de règles. La règle terminée ressemble à ce qui suit.
-
Dans le Modèle de données de formulaire (FDM), sélectionnez Enregistrer. La propriété calculée est configurée. Cela permet de s’assurer que la valeur FullName est automatiquement mise à jour lorsque FirstName ou LastName est modifiée, de sorte que le nom complet concaténé reste toujours synchronisé avec les champs source.
Utilisation des propriétés de navigation des services OData work-with-navigation-properties-of-odata-services
Les propriétés de navigation dans les services OData définissent les associations entre deux objets de modèle de données, établissant la manière dont une entité se rapporte à une autre et peut passer à une autre. Ces propriétés sont définies sur un type d’entité ou un type complexe et elles permettent à un client de passer d’un enregistrement à ses enregistrements associés. Par exemple, dans l’extrait suivant du fichier de métadonnées des exemples de services TripPin OData, l’entité Person contient trois propriétés de navigation : Friends, BestFriend et Trips.
Pour plus d’informations sur les propriétés de navigation, consultez la documentation OData.
<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>
Affichage des propriétés de navigation dans le modèle de données de formulaire
Lorsque vous configurez un service OData dans un modèle de données de formulaire (FDM), toutes les propriétés de navigation d’un conteneur d’entité sont automatiquement mises à disposition par le biais d’un seul service dans le FDM. Cette consolidation signifie que vous n’avez pas besoin d’un service distinct pour chaque association, car FDM les surface ensemble. Dans cet exemple du service OData TripPin, les trois propriétés de navigation du conteneur d’entité Person peuvent toutes être lues à l’aide d’un service GET LINK dans FDM.
Les éléments suivants mettent en évidence le service GET LINK of Person /People dans FDM, qui est un service combiné pour les trois propriétés de navigation Friends, BestFriend et Trips dans l’entité Person du service TripPin OData.
Configuration du service GET LINK
Une fois que vous avez ajouté le service GET LINK à l’onglet Services dans FDM, vous pouvez modifier ses propriétés pour choisir l’objet de modèle de sortie et la propriété de navigation à utiliser dans le service. Par exemple, le service de GET LINK of Person /People suivant utilise Trip comme objet de modèle de sortie et Trips comme propriété de navigation.
Dans cet exemple, vous pouvez également choisir Personne comme objet de modèle de sortie et définir l’argument de propriété de navigation sur Amis ou MeilleurAmi, selon que Tableau de retour ? est activé ou désactivé.
Utilisation des propriétés de navigation dans les associations
De même, vous pouvez choisir un service GET LINK et configurer ses propriétés de navigation lors de l’ajout d’associations dans FDM. Toutefois, la sélection d’une propriété de navigation n’est possible que lorsque le champ Liaison à est défini sur Littéral ; par conséquent, les options de propriété de navigation ne peuvent être sélectionnées que lorsque cette liaison est correctement configurée.
Génération et modification de données d’exemple sample
L’éditeur de modèle de données de formulaire (FDM) génère des exemples de données pour toutes les propriétés d’objet de modèle de données d’un modèle de données de formulaire, y compris les propriétés calculées. Ces données d’exemple sont composées d’un ensemble de valeurs aléatoires conformes au type de données configuré pour chaque propriété, ce qui vous donne des valeurs de test réalistes sans nécessiter de connexion à une source de données active.
À propos des exemples de données
Les exemples de données servent d’entrée de test prête à l’emploi vous permettant de prévisualiser et de valider le comportement d’un modèle de données de formulaire avant de le lier aux données de production. Comme chaque valeur générée respecte le type de données configuré de sa propriété, le jeu d’échantillons reflète la structure et le format attendus des enregistrements réels, ce qui vous permet de vérifier les liaisons, la logique calculée et le comportement du formulaire au début du développement.
Vous pouvez également modifier les valeurs générées et enregistrer vos modifications. Les données enregistrées sont conservées même si vous régénérez les données d’exemple, de sorte que les cas de test traités manuellement persistent entre les régénérations. Cela permet de créer des scénarios de test stables et réutilisables, plutôt que de perdre des modifications chaque fois que de nouvelles valeurs aléatoires sont générées.
Étapes de génération et de modification des exemples de données
-
Ouvrez un modèle de données de formulaire (FDM) puis sélectionnez Modifier les exemples de données. L’éditeur FDM génère et affiche les exemples de données dans la fenêtre Modifier les exemples de données.
-
Dans la fenêtre Modifier les exemples de données, modifiez les données selon vos besoins, puis sélectionnez Enregistrer. Les exemples de données modifiés sont enregistrés et conservés, et restent disponibles même après la régénération des exemples de données.
Test des objets et des services de modèle de données test-data-model-objects-and-services
Une fois votre modèle de données de formulaire (FDM) configuré, testez les objets et services de modèle de données configurés avant de déployer le FDM dans un formulaire dynamique afin de confirmer qu’ils fonctionnent comme prévu. Le test avant déploiement vérifie que chaque objet et service renvoie les données correctes, ce qui réduit le risque d’erreurs d’exécution lorsque le formulaire est mis en production.
Pour tester les objets et les services de modèle de données :
-
Sélectionnez un objet ou service de modèle de données dans le modèle de données de formulaire (FDM), puis sélectionnez Tester l’objet de modèle ou Tester le service, respectivement.
La fenêtre Tester le modèle de données de formulaire s’ouvre.
-
Dans la fenêtre Tester le modèle de données de formulaire, sélectionnez l’objet ou le service de modèle de données à tester dans le volet Entrée. Ceci identifie l’objet ou le service spécifique que vous souhaitez valider.
-
Spécifiez une valeur d’argument dans le code de test, puis sélectionnez Test. Un test réussi renvoie la sortie dans le volet Sortie, confirmant que l’objet ou le service sélectionné est correctement configuré et peut récupérer ou traiter les données comme prévu.
En suivant la même procédure, vous pouvez valider des objets et des services de modèle de données supplémentaires dans le modèle de données de formulaire (FDM) afin de vous assurer que le modèle entier fonctionne de manière fiable avant utilisation.
Validation automatisée des données d’entrée automated-validation-of-input-data
Le modèle de données de formulaire (FDM) valide automatiquement les données reçues en entrée chaque fois que l’API DermisBridge est appelée, en appliquant les critères de validation définis dans le modèle de données de formulaire. Cette validation est contrôlée par l’indicateur ValidationOptions défini dans l’objet de requête utilisé pour appeler l’API. Par défaut, lorsqu’aucune valeur n’est définie pour l’indicateur ValidationOptions, FDM effectue la validation BASIC sur les données d’entrée.
Niveaux d’indicateur ValidationOptions
L’indicateur ValidationOptions accepte l’une des trois valeurs suivantes, chacune définissant la stricte validation de l’entrée par FDM :
- FULL : le FDM valide l’entrée par rapport à toutes les contraintes définies. Utilisez ce niveau pour appliquer chaque type de données et contrainte de règle métier avant le traitement des données.
- DÉSACTIVÉ : FDM effectue aucune validation. Les données d’entrée transitent sans vérification de contrainte.
- BASIC : FDM valide uniquement les contraintes
requiredetnullable. Cela permet de s’assurer que les champs obligatoires sont présents et que les règles de gestion des nulls sont respectées sans évaluer le jeu de contraintes complet.
Si aucune valeur n’est définie pour l’indicateur ValidationOptions, FDM applique par défaut la validation BASIC.
Définition de l’indicateur de validation
L’exemple suivant définit l’indicateur de validation sur FULL, ce qui permet de valider toutes les contraintes :
operationOptions.setValidationOptions(ValidationOptions.FULL);
ValidationOptions. Lorsque le niveau de journal est défini sur Débogage, l’API consigne l’erreur correspondante dans le fichier error.log.Contraintes de type de données par source de données
Le modèle de données de formulaire (FDM) valide les données d’entrée par rapport à une liste définie de contraintes de type de données. Cette liste de contraintes pouvant varier en fonction de la source de données sous-jacente, les contraintes exactes appliquées lors de la validation sont déterminées par la source de données associée au modèle de données de formulaire.
Le tableau suivant répertorie les contraintes de type de données appliquées aux données d’entrée pour chaque source de données prise en charge :
Validation Des Données D’Entrée À L’Aide De Contraintes Swagger
Les données d’entrée passent la validation uniquement si l’ID de commande est présent et que sa valeur se situe dans la plage 1 à 10. Dans cet exemple, les données d’entrée sont validées par rapport aux contraintes maximum, minimum et required définies dans le fichier Swagger (OpenAPI). Ces trois types de contraintes régissent l’entrée acceptée comme suit :
- obligatoire — le paramètre doit être fourni ; une
orderIdmanquante échoue lors de la validation. - minimum — la valeur ne doit pas être inférieure à 1.
- maximum — la valeur ne doit pas dépasser 10.
Comme les contraintes sont déclarées directement dans la définition de l’API, la validation est automatiquement appliquée au niveau du schéma avant l’exécution de l’opération. Cela permet de s’assurer que seules les requêtes correctement formées atteignent le service sous-jacent.
parameters: [
{
name: "orderId",
in: "path",
description: "ID of pet that must be fetched",
required: true,
type: "integer",
maximum: 10,
minimum: 1,
format: "int64"
}
]
Comportement en cas d’échec de validation et journalisation des erreurs
Le système renvoie une exception de validation lorsque les données d’entrée ne répondent pas à ces critères. En raison de cet échec, et lorsque le niveau de journal est défini sur Débogage, une erreur est écrite dans le fichier error.log. Ce comportement de journalisation permet aux développeurs de diagnostiquer exactement quelle contrainte a été enfreinte, car l’entrée de journal identifie le paramètre défaillant, la contrainte qui a été enfreinte et la valeur fautive.
Par exemple, l’envoi d’une orderId de 16 dépasse la valeur maximale de 10 déclarée, ce qui produit l’entrée de journal suivante :
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)"]}}
L’entrée d’erreur capture le code d’erreur AEM-FDM-001-044, le "Input validations failed during operation execution." de message et un bloc de violations pointant vers le champ /orderId, la valeur maximale requise de 10 et la valeur trouvée (16). Ce détail structuré facilite l’identification et la correction des entrées hors plage.
Étapes suivantes next-steps
Vous disposez d’un modèle de données de formulaire (FDM) fonctionnel, prêt à être utilisé dans les workflows de Forms adaptatif. Un modèle de données de formulaire représente la structure et les relations des données que vos formulaires capturent et échangent avec des sources de données connectées, fournissant ainsi un schéma unifié et réutilisable auquel le Forms adaptatif peut se lier directement. Étant donné que le modèle abstrait les services de données sous-jacents dans une seule couche cohérente, il permet aux formulaires de lire et d’écrire dans ces sources sans avoir à reconstruire la logique d’intégration pour chaque nouveau formulaire.
Une fois le modèle en place, vous pouvez l’appliquer à toutes vos tâches de création de formulaires. Les étapes suivantes courantes sont les suivantes :
- Liez les champs de formulaire au modèle de sorte que les composants de formulaire adaptatif mappent directement aux attributs de données définis dans le FDM, assurant ainsi une capture et un envoi cohérents des données.
- Préremplir les formulaires avec des données existantes récupérées par le biais du modèle, ce qui améliore l’expérience de l’utilisateur en réduisant la saisie manuelle des données.
- Configurez l’envoi de formulaire pour écrire les données capturées dans les sources de données connectées via le modèle, en conservant les enregistrements synchronisés.
- Réutilisez le modèle sur plusieurs formulaires pour maintenir la cohérence et réduire les efforts de configuration dupliqués.
La réutilisation d’un modèle de données de formulaire unique entre les workflows favorise la cohérence et réduit la maintenance continue, car les mises à jour du modèle se propagent à chaque formulaire qui en dépend. Pour obtenir des instructions détaillées sur l’application du modèle dans votre Forms adaptatif, voir Utiliser un modèle de données de formulaire (FDM).