Didacticiel : créer un modèle de données de formulaire tutorial-create-form-data-model
Ce tutoriel est une étape dans la Créer votre premier formulaire adaptatif série. Il est recommandé de suivre la série dans un ordre chronologique pour comprendre, exécuter et dé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 tierces 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 envoyées 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 guide tout au long des étapes nécessaires à la préparation, la création, la configuration et l’association d’un modèle de données de formulaire à 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, assurez-vous que vous disposez des éléments suivants :
- Base de données MySQL avec des exemples de données, comme indiqué dans la section Prérequis de Créer votre premier formulaire adaptatif
- Lot 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 : Configuration de la base de données MySQL comme 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, nous allons configurer la base de données MySQL que vous avez configurée et remplie avec des exemples de données. Pour plus d’informations sur les autres sources de données prises en charge et sur leur configuration, voir Intégration de données AEM Forms.
Procédez comme suit pour configurer votre base de données MySQL :
-
Installez le pilote JDBC pour la base de données MySQL en tant que lot OSGi :
-
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 http://localhost:4502/system/console/bundles.
-
Cliquez sur Installer/Mettre à jour. Une boîte de dialogue Télécharger/installer les bundles s’affiche.
-
Appuyez sur Choisir un fichier pour rechercher et sélectionner le bundle OSGi du pilote JDBC MySQL. Sélectionnez les cases à cocher Démarrer le bundle et Actualiser les packages et cliquez sur Installer ou mettre à jour. Assurez-vous que le pilote JDBC de Oracle Corporation pour MySQL est principal. Le pilote est installé.
-
-
Configurer la base de données MySQL comme source de données :
-
Accédez à AEM console web à l’adresse http://localhost:4502/system/console/configMgr.
-
Recherchez la configuration Apache Sling Connection Pooled DataSource. Appuyez pour ouvrir la configuration en mode édition.
-
Dans la boîte de dialogue de configuration, spécifiez les détails suivants :
- 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 DataSource: Indiquez le nom de la propriété de service contenant le nom DataSource. 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 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 la suivante :
jdbc:mysql://[server]:3306/weretail?autoReconnect=true&useUnicode=true&characterEncoding=utf-8
- 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.
- 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 à partir du pool. La requête doit renvoyer au moins une ligne. Par exemple : select * de customerdetails.
- Isolation de transaction : définissez la valeur sur READ_COMMITTED.
Laissez les valeurs par défaut des autres propriétés et cliquez sur 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 à création d’un modèle de données de formulaire à partir de sources de données configurées. Vous pouvez utiliser plusieurs sources de données dans un modèle de données de formulaire. Pour notre cas d’utilisation, nous utiliserons la source de données MySQL configurée.
Procédez comme suit pour créer un modèle de données de formulaire :
-
Dans AEM instance d’auteur, accédez à Forms > Intégration de données s.
-
Appuyez sur Create (Créer) > Form Data Model (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. Appuyez sur 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 cliquez sur Créer.
Le modèle de données de formulaire customer-shipping-billing-details est créé.
Étape 3 : Configuration du 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
- configuration des services de lecture et d’écriture pour les objets de modèle de données
Procédez comme suit pour configurer le modèle de données de formulaire :
-
Dans l’instance d’auteur AEM, accédez à Formulaires > Intégrations de données. L’URL par défaut est http://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
- ville
- state
- code postal
-
Services:
- get
- mise à jour
Appuyer 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 l’objet de modèle de données.
-
Sélectionnez la customerdetails objet de modèle de données et appuyez sur 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. Cliquez sur et configurez l’argument comme suit.
-
De même, sélectionnez update comme service d’écriture. Le customerdetails est automatiquement ajouté en tant qu’argument. L’argument est configuré comme suit.
Ajoutez et configurez l’argument id comme suit.
-
Appuyez sur Terminé pour enregistrer les propriétés de l’objet de modèle de données. Cliquez ensuite sur 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 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 : Récupérez 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 de 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 le Tableau de retour .
-
Arguments: Sélectionner l’argument nommé ID.
Appuyez sur 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 de livraison.
-
Description: Spécifiez 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.
Appuyez sur Terminé. Le update Le service permettant de mettre à jour les détails du client dans la base de données MySQL est configuré.
-
-
L’objet de modèle de données et les services du 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 au Modèle , sélectionnez la variable customerdetails objet de modèle de données, puis appuyez sur Objet de modèle de test.
-
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 le customerdetails , indiquez une valeur pour la variable id argument existant dans la base de données MySQL configurée et appuyez sur 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 Write .
Dans l’exemple suivant, le service update 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érera et affichera les détails du client mis à jour comme indiqué ci-dessous.