Modélisation des données — les bases
Updated on Published on
Résumé de l'article
Découvrez les trois types de données hiérarchisées de la plateforme : les aggregates, les entities et les enumeration. Ensuite, apprenez comment les ajouter à un modèle de données et créer des champs standard tout en construisant un CRM. Des commands et leurs params seront également créés pour ajouter des fonctionnalités à l'application.
Concepts clés
Section intitulée « Concepts clés »Un aggregate consiste en un regroupement d’éléments qui partagent un concept clé. Notre modèle de données pour notre CRM contient, entre autres, un aggregate « account » et un aggregate « user ». Dans notre aggregate « Account », vous trouverez l’entity « Contact ». Une entity est comme un aggregate, sauf qu’elle regroupe des éléments à l’intérieur d’un concept critique et appartient à une collection — à savoir, une liste de contacts sous un compte. Le champ « Language » comprend une liste statique de valeurs définies dans laquelle un utilisateur sélectionne une entrée. C’est ce que nous appelons un enum.

Avant d’aller plus loin, consultez ce diagramme UML représentant le modèle de données de l’application CRM utilisée pour cette documentation de prise en main.

À ce stade, nous allons créer l’aggregate Account, l’enum Industry, une entity Contact, une page de liste et une page de détail pour les comptes, ainsi que quelques champs standard.
Créer un aggregate et ses champs
Section intitulée « Créer un aggregate et ses champs »Tout d’abord, ouvrez la plateforme no-code DAZZM en cliquant une fois sur la page, puis en appuyant sur F2 ou Function + F2 sur un clavier.
Le modèle d’application par défaut contient un aggregate User. C’est un aggregate obligatoire qui aide le système à fonctionner correctement. Il est prévu qu’il devra être enrichi à mesure que l’application évolue.
Pour ajouter un aggregate au modèle de données de l’application, faites un clic droit sur le dossier « Type » et sélectionnez l’option « Add aggregate ». Pour notre exemple, entrez « Account » dans Name et enregistrez.

Créez des champs standard pour les comptes en ouvrant son aggregate et en faisant un clic droit sur le dossier « fields ». Parmi les deux options proposées, sélectionnez « add field ». Dans cet exemple, le nom du champ est « name » et le type est « text (string) ». Ce type convient le mieux pour une zone de texte sur une seule ligne.

Le système génère automatiquement un champ ID sous chaque nouvel aggregate et entity. Cela permet, par exemple, à DAZZM d’attribuer automatiquement des identifiants uniques pour chaque nouveau compte.
Ensuite, créez un champ standard « isVIP » et sélectionnez le type « Yes/No (Boolean) ». Ajoutez-en un autre pour « accountNumber », avec « number » comme type. Le type « number » restreint les utilisateurs aux valeurs numériques et aux symboles plus et moins. Il est souvent utilisé pour les numéros de téléphone ou de compte.
Une autre option de type lors de la création d’un nouveau champ consiste à référencer un aggregate différent de celui où le nouveau champ est créé. Le processus de création de champ reste le même que vu précédemment. Pour notre exemple, nous créons « accountManager », qui fait partie de l’aggregate Account et est de type « user ». Lors du choix d’un gestionnaire de compte pour un compte, cela générera une liste déroulante de tous les utilisateurs. Éventuellement, la liste des utilisateurs pourrait être affinée. Cela sera couvert plus tard dans le processus d’apprentissage.
Pour suivre notre exemple CRM, créez également les champs « phoneNumber » et « website ».
Créer des commands et configurer leurs paramètres
Section intitulée « Créer des commands et configurer leurs paramètres »Lorsque vous faites un clic droit sur le dossier Commands sous un aggregate, vous avez quatre options : add update command, add create command, add delete command et add entity create command. Chaque option utilisera un assistant pour simplifier le processus d’ajout de paramètres.
Passons en revue les étapes d’ajout d’une create command.
Après l’ouverture de l’assistant, entrez un nom plus spécifique pour la command, puis, à la deuxième étape de l’assistant, ajoutez vos params. Les params sont les champs qui seront affichés lorsque l’utilisateur déclenche cette command. À l’aide du glisser-déposer, réorganisez l’ordre des params de manière plus logique, car l’ordre dans lequel ils sont listés ici sera identique pour l’utilisateur. Ensuite, définissez quels champs seront requis. Si vous devez ajouter des champs supplémentaires à la liste de params de la command après la fermeture de l’assistant, faites un clic droit sur le dossier params sous la command et sélectionnez « add parameter ». Depuis le dossier parameter d’une command, vous pouvez également utiliser le glisser-déposer pour modifier l’ordre des champs.
Il est bon de savoir que chaque champ non requis dans la fenêtre de dialogue de la command aura l’option d’être effacé par l’utilisateur.
Pour notre exemple « createAccount », ajoutez « name », « accountNumber », « isVIP » et « phoneNumber ». Définissez « name » et « phoneNumber » comme les deux seuls champs requis et cliquez sur Done.

Le processus de update command est très similaire à celui de la create command. La seule différence est que l’assistant permet à l’utilisateur d’entrer un label pour la command. Pour la command « editAccount », ajoutez tous les champs à la liste de params et mettez « name », « isVIP » et « phoneNumber » comme requis.

Rappelez-vous que le dossier parameter doit regrouper les champs que l’utilisateur pourrait avoir besoin de modifier simultanément. Ces champs doivent être regroupés dans l’interface utilisateur de l’application pour des raisons évidentes.

Créer un enum
Section intitulée « Créer un enum »Dans le contexte de ce CRM, chaque compte sera associé à un type d’industrie. La liste des industries est un enum. Pour l’ajouter au modèle de données, commencez par un clic droit sur « fields » sous l’aggregate Account et sélectionnez « add field ». Dans la section « name », comme cet enum ne sera pas une collection, écrivez « industry » en utilisant sa forme singulière.
Lors de la création d’un enum, demandez-vous si l’utilisateur pourrait avoir à sélectionner plusieurs options dans cette liste. Si la réponse est oui, cochez « is collection » et assurez-vous que le premier champ « name » du dialogue utilise la forme plurielle.
Après avoir sélectionné « new enum » comme « type », 2 champs supplémentaires deviennent disponibles. Il s’agit du nom et du label de l’enum. Ce nom doit toujours utiliser une forme singulière et commencer par une majuscule, car il représente ce que chaque élément de la liste est.

Pour ajouter des valeurs sous l’enum, ouvrez le champ, faites un clic droit sur l’enum « Industry » et sélectionnez « add value ». Elles doivent être écrites en majuscules et les mots doivent être séparés par un trait de soulignement. Cela devrait être fait automatiquement pendant que vous tapez votre label.

Après avoir ajouté toutes les valeurs nécessaires à l’enum industry, ajoutez-le aux params des commands « createAccount » et « editAccount ». Comme expliqué précédemment, pour ajouter un param à une command existante, ouvrez-la, faites un clic droit sur le dossier parameter et sélectionnez « add parameter ».
Bien sûr, en tant que solution dev, c’est à vous de décider si le champ est mieux intégré à une command existante ou s’il faut créer une update command autonome pour le champ. Dans ce scénario, créons-en une pour le champ « accountManager ». Après avoir complété une command autonome pour « modifyAccountManager », assurez-vous que le champ ne fait pas partie d’une autre update command. Dans notre cas, nous devons retirer le champ du dossier parameter de la command « editAccount ».
