Didacticiel : créer un modèle de données de formulaire tutorial-create-form-data-model
Ce tutoriel fait partie de la série Création de votre premier formulaire adaptatif. Adobe recommande de suivre la série dans l’ordre chronologique pour comprendre, exécuter et montrer le cas d’utilisation complet du tutoriel.
À propos du tutoriel about-the-tutorial
Le module d’intégration de données AEM Forms vous permet de créer un modèle de données de formulaire à partir de sources de données principales disparates, telles que le profil utilisateur AEM, les services web RESTful, les services web basés sur SOAP, les services OData et les bases de données relationnelles. Vous pouvez configurer des objets et des services de modèle de données dans un modèle de données de formulaire et les associer à un formulaire adaptatif. Les champs de formulaire adaptatif sont liés aux propriétés de l’objet de modèle de données. Les services vous permettent de préremplir le formulaire adaptatif et d’écrire les données de formulaire soumises dans l’objet de modèle de données.
Pour plus d’informations sur l’intégration des données de formulaire et sur le modèle de données du formulaire, voir Intégration de données AEM Forms.
Ce tutoriel vous décrit étape par étape le processus de préparation, création, configuration et association d’un modèle de données de formulaire avec un formulaire adaptatif. À la fin de ce didacticiel, vous serez capable de :
Le modèle de données de formulaire se présentera comme ceci :
A. Sources de données configurées B. Schémas de sources de données C. Services disponibles D. Objets de modèle de données E. Services configurés
Prérequis prerequisites
Avant de commencer, vérifiez que vous disposez des éléments suivants :
- Base de données MySQL avec des exemples de données comme indiqué dans la section Conditions préalables de Création de votre premier formulaire adaptatif
- Bundle OSGi pour le pilote JDBC MySQL, comme expliqué dans la section Regrouper le pilote de base de données JDBC
- Formulaire adaptatif, comme expliqué dans le tout premier didacticiel de mise en route Créer un formulaire adaptatif.
Étape 1 : Configurer la base de données MySQL en tant que source de données config-database
Vous pouvez configurer différents types de sources de données pour créer un modèle de données de formulaire. Pour ce tutoriel, vous configurez la base de données MySQL que vous avez configurée et remplie avec des données d’exemple. Pour plus d’informations sur les autres sources de données prises en charge et sur leur configuration, reportez-vous à la section Intégration de données d’AEM Forms.
Pour configurer votre base de données MySQL, procédez comme suit :
-
Installez le pilote JDBC pour la base de données MySQL en tant que bundle OSGi :
-
Téléchargez le MySQLlot OSGi du pilote JDBC à partir de
http://www.java2s.com/ref/jar/download-orgosgiservicejdbc100jar-file.html
. -
Connectez-vous à l’instance d’auteur AEM Forms en tant qu’administrateur et accédez aux bundles de la console web d’AEM. L’URL par défaut est https://localhost:4502/system/console/bundles.
-
Sélectionnez Installer/Mettre à jour. Une boîte de dialogue Charger/installer les bundles s’affiche.
-
Sélectionnez Choisir un fichier pour parcourir et sélectionner le bundle OSGi du pilote JDBC MySQL. Sélectionnez Démarrer le bundle et Actualiser les packages, puis Installer ou mettre à jour. Assurez-vous que le pilote JDBC Oracle Corporation’s pour MySQL est actif. Le pilote est installé.
-
-
Configurez la base de données MySQL comme source de données :
-
Accédez à la console web d’AEM à l’adresse https://localhost:4502/system/console/configMgr.
-
Recherchez la configuration Apache Sling Connection Pooled DataSource. Sélectionnez pour ouvrir la configuration en mode édition.
-
Dans la boîte de dialogue de configuration, indiquez ce qui suit :
- Nom de la source de données : vous pouvez spécifier n’importe quel nom. Spécifiez par exemple WeRetailMySQL.
- Nom de la propriété du service de la source de données : indiquez le nom de la propriété de service contenant le nom de la source de données. Il est spécifié lors de l’enregistrement de l’instance de source de données en tant que service OSGi. Par exemple, datasource.name.
- Classe de pilote JDBC : spécifiez le nom de la classe Java™ du pilote JDBC. Pour la base de données MySQL, spécifiez com.mysql.jdbc.Driver.
- URI de connexion JDBC : spécifiez l’URL de connexion de la base de données. Pour la base de données MySQL s’exécutant sur le port 3306 et le schéma
weretail
, l’URL est :jdbc:mysql://'server':3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
.
note note NOTE Lorsque la base de données MySQL se trouve derrière un pare-feu, alors le nom d’hôte de la base de données n’est pas un DNS public. L’adresse IP de la base de données doit être ajoutée au fichier /etc/hosts de l’ordinateur hôte AEM. - Nom d’utilisateur : nom d’utilisateur de la base de données. Il est nécessaire d’activer le pilote JDBC pour établir une connexion avec la base de données.
- Mot de passe : mot de passe de la base de données. Il est nécessaire d’activer le pilote JDBC pour établir une connexion avec la base de données.
note note NOTE AEM Forms ne prend pas en charge l’authentification NT pour MySQL. Accédez à la console web d’AEM à l’adresse https://localhost:4502/system/console/configMgr et recherchez « Source de données mise en pool de la connexion Apache Sling ». Pour la propriété « URI de connexion JDBC », définissez la valeur de « integratedSecurity » sur False et utilisez le nom d’utilisateur et le mot de passe créés pour vous connecter à la base de données MySQL. -
Test lors de l’emprunt : activez l’option Test lors de l’emprunt.
-
Test lors du renvoi : activez l’option Test lors du renvoi.
-
Requête de validation : spécifiez une requête SQL SELECT pour valider les connexions du pool. La requête doit renvoyer au moins une ligne. Par exemple, sélectionnez * depuis customerdetails.
-
Isolation de transaction : définissez la valeur sur READ_COMMITTED.
Conservez les valeurs par défaut des autres propriétés et sélectionnez Enregistrer.
Une configuration similaire à la suivante est créée.
-
Étape 2 : Créer un modèle de données de formulaire create-fdm
AEM Forms fournit une interface utilisateur intuitive pour créer un modèle de données de formulaire à partir des sources de données configurées. Vous pouvez utiliser plusieurs sources de données dans un modèle de données de formulaire. Dans ce cas d’utilisation, vous pouvez utiliser la source de données MySQL configurée.
Procédez comme suit pour créer un modèle de données de formulaire :
-
Dans l’instance de création AEM, accédez à Formulaires > Intégrations de données.
-
Sélectionnez Créer > Modèle de données de formulaire.
-
Dans la boîte de dialogue Créer un modèle de données de formulaire, spécifiez un nom pour le modèle de données de formulaire. Par exemple, customer-shipping-billing-details. Sélectionnez Suivant.
-
L’écran Sélectionner la source de données répertorie toutes les sources de données configurées. Sélectionnez la source de données WeRetailMySQL et sélectionnez Créer.
Le modèle de données de formulaire customer-shipping-billing-details est créé.
Étape 3 : Configurer le modèle de données de formulaire config-fdm
La configuration du modèle de données de formulaire implique :
- L’ajout d’objets et de services de modèle de données
- La configuration des services de lecture et d’écriture des objets de modèle de données
Pour configurer un modèle de données de formulaire, procédez comme suit :
-
Dans l’instance d’auteur AEM, accédez à Formulaires > Intégrations de données. L’URL par défaut est https://localhost:4502/aem/forms.html/content/dam/formsanddocuments-fdm.
-
Le modèle de données de formulaire customer-shipping-billing-details que vous avez créé précédemment est répertorié ici. Ouvrez-le en mode d’édition.
La source de données sélectionnée WeRetailMySQL est configuré dans le modèle de données de formulaire.
-
Développez l’arborescence de la source de données WeRailMySQL. Sélectionnez les objets et services de modèle de données suivants dans le schéma weretail > customerdetails du modèle de données de formulaire :
-
Objets de modèle de données:
- id
- name
- shippingAddress
- city
- state
- zipcode
-
Services :
- get
- mise à jour
Sélectionnez Ajouter la sélection pour ajouter des objets et des services de modèle de données sélectionnés au modèle de données de formulaire.
note note NOTE Les services par défaut d’obtention, de mise à jour et d’insertion des sources de données JDBC sont intégrés au modèle de données de formulaire. -
-
Configurez les services de lecture et d’écriture pour le modèle de données de formulaire.
-
Sélectionnez l’objet de modèle de données customerdetails, puis Modifier les propriétés.
-
Sélectionnez get dans la liste déroulante Service de lecture. L’argument id qui est la clé principale de l’objet de modèle de données customerdetails est ajouté automatiquement. Sélectionnez et configurez l’argument comme suit.
-
De même, sélectionnez mettre à jour comme service d’écriture. L’objet customerdetails est automatiquement ajouté en tant qu’argument. L’argument est configuré comme suit.
Ajoutez et configurez l’argument id comme suit.
-
Sélectionnez Terminé pour enregistrer les propriétés de l’objet de modèle de données. Sélectionnez ensuite Enregistrer pour enregistrer le modèle de données de formulaire.
Les services get et update sont ajoutés en tant que services par défaut pour l’objet de modèle de données.
-
-
Accédez à l’onglet Services et configurez les services get et update.
-
Sélectionnez le service get, puis Modifier les propriétés. La boîte de dialogue Propriétés s’ouvre.
-
Spécifiez les éléments suivants dans la boîte de dialogue Modifier les propriétés :
-
Titre : indiquez le titre du service. Par exemple : récupérer l’adresse d’expédition.
-
Description : spécifiez la description contenant le fonctionnement détaillé du service. Par exemple :
Ce service récupère l’adresse de livraison et les autres détails du client ou de la cliente dans la base de données MySQL.
-
Objet de modèle de sortie : sélectionnez le schéma contenant les données du client. Par exemple :
schéma customerdetail
-
Tableau de retour : désactivez l’option Tableau de retour.
-
Arguments : sélectionnez l’argument nommé ID.
Sélectionnez Terminé. Le service de récupération des détails des clients de la base de données MySQL est configuré.
-
-
Sélectionnez le service update et cliquez sur Modifier les propriétés. La boîte de dialogue Propriétés s’ouvre.
-
Spécifiez les éléments suivants dans la boîte de dialogue Modifier les propriétés :
-
Titre : indiquez le titre du service. Par exemple, Mettre à jour l’adresse d’expédition.
-
Description : indiquez la description contenant le fonctionnement détaillé du service. Par exemple :
Ce service met à jour l’adresse de livraison et les champs associés dans la base de données MySQL.
-
Objet de modèle d’entrée : sélectionnez le schéma contenant les données du client. Par exemple :
schéma customerdetail
-
Type de sortie : sélectionnez VALEUR BOOLEENNE.
-
Arguments : sélectionnez l’argument nommé ID et customerdetails.
Sélectionnez Terminé. Le service update permettant de mettre à jour les détails du client dans la base de données est configuré.MySQL
-
-
L’objet du modèle de données et les services contenus dans le modèle de données de formulaire sont configurés. Vous pouvez maintenant tester le modèle de données de formulaire.
Étape 4 : Tester le modèle de données de formulaire test-fdm
Vous pouvez tester les objets et services de modèle de données pour vérifier si le modèle de données de formulaire est correctement configuré.
Procédez comme suit pour effectuer le test :
-
Accédez à l’onglet Modèle, sélectionnez l’objet de modèle de données customerdetails, puis Tester l’objet de modèle.
-
Dans la fenêtre Tester le modèle/service, sélectionnez Objet de modèle de lecture dans le menu déroulant Sélectionner le modèle/service.
-
Dans la section customerdetails, spécifiez une valeur pour l’argument id qui existe dans la base de données MySQL configurée et sélectionnez Test.
Les détails du client associés à l’ID spécifié sont récupérés et affichés dans la section Sortie, comme indiqué ci-dessous.
-
De même, vous pouvez tester l’objet et les services de modèle en écriture.
Dans l’exemple suivant, le service Mettre à jour met à jour avec succès les détails de l’adresse de l’ID 7102715 dans la base de données.
À présent, si vous testez à nouveau le service de lecture de modèle pour l’ID 7107215, il récupère et affiche les détails du client ou de la cliente mis à jour comme indiqué ci-dessous.