Créer sa permière entité avec des champs

Dans la plateforme ISKernel, le terme entité regroupe l'ensemble des paramétrages permettant de représenter un élément dans l'application. Cela regroupe :

  • des informations, représentées sous forme de champs de données
  • des manières d'afficher ces informations, que ce soit sous forme de liste ou de formulaires
  • des actions métiers, déclenchées par l'utilisateur et représentées par des boutons dans l'application. Ces actions métiers peuvent être appliquées sur l'entité tout entière ou sur des champs particuliers
  • des validations, pour garantir que les données entrées dans l'application soient cohérentes
  • des transformations, qui permettent de faire des mises à jour ou des calculs lorsqu'un utilisateur créer, met à jour ou efface une donnée

Contexte de l'exemple

Dans notre cas d'exemple, pour créer notre première entité de notre application de gestion de stock, nous allons créer le catalogue des articles qui seront gérées dans notre stock. Afin de rendre l'exemple plus concert, partons du principe que l'application de gestion que nous mettons en place cherche à remplacer un "tableau blanc" contenant les stocks et mis à jour à la main par les personnes en charge du stock, selon les entrées et les sorties.
Nous allons basé notre exemple sur le remplacement du tableau suivant:

ArticleQuantité
Eau minérale - Pack x6 bouteille 1.5L25
Lait demi écrémé UHT - Pack x6 briques 1L34
Eau minérale - bouteille 1.5L41
Lait demi écrémé UHT - brique27
Farine - sachet 1 kg7
Sel de mer - boîte 1 kg3
Tableau d'état de stock

Traduction en concepts ISKernel

En ce qui concerne la plateforme ISKernel, nous allons considérer qu'il faut créer une entité nommée "Article en stock" qui contiendra les champs de données suivants:

Article de type texte
qui va permettre de stocker la colonne "Article" tel qu'il apparaît dans le tableau
Quantité de type entier
qui sera le champs que les opérateurs mettront à jour en fonction des entrées et sorties.

Nous pouvons noter plusieurs points intéressants: tout d'abord, il est souvent compliqué de trouver des noms aux entités. Dans notre cas, les noms des champs sont clairs car ils correspondent à des colonnes du tableau, mais il n'y avait pas de nom de nom pour le tableau. En règle générale, il est de bon ton de nommer l'entité en se posant la question "que représente une ligne du tableau".

Pour le moment, le modèle est vraiement simple. Avec un peu plus d'expérience, nous pourrions mettre en place une table de référence des articles avec des règles permettant de "découper" un packe de x6 en 6 bouteilles d'eau ou 6 briques de lait, mais pour cette première approche faisons simple. De même, il est "simpliste" de mettre en place une gestion très manuelle des quantités qui demandent de mettre à jour à la main les données directement dans le tableau.

Mise en place dans la plateforme

Etape 1: Création de l'entité

Lorsque vous êtes dans le DarkOffice de l'application à paramétrer, commençons par créer l'entité "Article en stock". A partie de l'acceuil du Dark Office de l'application, cliquons sur "Nouvelle donnée".

Interface de paramétrage de l'application

Le formulaire permettant de créer une entité apparaît avec les informations de base.

Page de création d'une entité
Pour le moment, nous allons nous limiter aux informations nécessaires à l'usage de base. Remplissons les champs suivants:
Titre: Article en stock
qui sera le nom de référence auquel les utilisateurs auront accès dans les menus, navigations, titre de pages, ... Ce nom est multilangue et la liste des langues à remplir dépend du paramétrage global linguistique de la plateforme.
Nom technique: ArticleEnStock
qui sera le nom de référence dans les mécanismes internes de paramétrage de l'application. Ce nom doit correspondre aux règles .NET de nommage des éléments (comme le nom technique de l'application).
Icone: a choisir dans la liste des icones disponibles sur la plateforme
il n'y a rien d'obligatoire à choisir une icone, mais c'est plus joli... donc c'est important.
Texte d'aide: Représente la quantité disponible en stock à l'instant présent d'un article.
qui sera la base de l'aide disponible dans la documentation en ligne qui sera générée dans l'application. Encore une fois rien d'obligatoire, mais il c'est une bonne pratique de s'astreindre à remplir les textes d'aide le plus tôt possible car cela facilite fortemment la prise en main pour les utilisateurs. Cette aide est multilangue et la liste des langues à remplir dépend du paramétrage global linguistique de la plateforme.

Une fois tout cela rempli, cliquer sur le bouton "Sauvegarder" en haut de la page. Cela rafraîchi le menu de gauche qui maintenant a le lien "Données" qui devient dépliable par simple clic.
Menu de gauche
Pour revenir sur le formulaire de gestion de la donnée, il est possible de cliquer sur l'icône ressemblant à un crayon à droit du nom de la donnée. Cela permet de mettre à jour ou corriger un paramétrage d'entité.

Etape 2: Création du premier champ

Dans le menu de gauche, le sous menu "Champ" de l'entité "Article en stock", cliquer sur l'icone + à droite. Cela permet d'afficher l'assistant de création de champ. Cet assistant fonctionne en deux étapes: tout d'abord sélectionner le type de données, puis ensuite paramétrer les informations de noms.

Assistant de création de champ - choix du type de données
Dans cette partie, il faut choisir le type de champ. La liste peut être impressionnante au premier abord, mais elle est facile à utiliser. La zone de recherche en haut permet de trouver rapidement ce que l'on veut.
En tapant "texte" dans la recherche, le champ correspondant s'affiche. Pour le moment, choississons un texte simple pour le nom de l'article.

Dans la nouvelle page qui s'affiche, il est possible de paramétrer le champ à créer. C'est le même formulaire qui permet aussi de mettre à jour le champ.

Assistant de création de champ - configuration du champ
Pour le moment, nous allons nous limiter aux informations nécessaires à l'usage de base. Remplissons les champs suivants:
Titre: Article
qui sera le nom de référence auquel les utilisateurs auront accès dans les menus, navigations, titre de pages, ... Ce nom est multilangue et la liste des langues à remplir dépend du paramétrage global linguistique de la plateforme.
Nom technique: Article
qui sera le nom de référence dans les mécanismes internes de paramétrage de l'application. Ce nom doit correspondre aux règles .NET de nommage des éléments (comme le nom technique de l'entité).
Obligatoire: Oui
car dans la logique d'avoir une liste des éléments en stock, spécifier l'article est obligatoire.
Unique: Oui
car dans la logique d'avoir une liste des éléments en stock, il ne doit y avoir 2 lignes pour le même article.
Texte d'aide: Décrit l'élément suivi dans le stock.
qui sera la base de l'aide disponible dans la documentation en ligne qui sera générée dans l'application. Encore une fois rien d'obligatoire, mais il c'est une bonne pratique de s'astreindre à remplir les textes d'aide le plus tôt possible car cela facilite fortemment la prise en main pour les utilisateurs. Cette aide est multilangue et la liste des langues à remplir dépend du paramétrage global linguistique de la plateforme.

Une fois tout cela rempli, cliquer sur le bouton "Sauvegarder" en haut de la page. Cela rafraîchi le menu de gauche qui maintenant a le lien "Champ" qui devient dépliable par simple clic et contient notre champ "Article"

Etape 3: Création du champ Quantité

Pour créer le champs suivants, nous allons suivre la même logique. Dans le menu de gauche, le sous menu "Champ" de l'entité "Article en stock", cliquer à nouveau sur l'icone + à droite, puis dans la liste qui s'affiche, rechercher "entier" pour créer notre champ quantité.
Dans la page de paramétrace, cette fois ci, remplissons les champs suivants:

Titre: Quantité
Nom technique: Quantite
Penser à remplacer l'accent du 'é' par un 'e' classique.
Obligatoire: Oui
car dans la logique d'avoir une liste des éléments en stock, la quantité peut être zéro mais pas vide.
Texte d'aide: Spécifie la quantité actuellement dans le stock.

Une fois tout cela rempli, cliquer sur le bouton "Sauvegarder" en haut de la page. Cela rafraîchi le menu de gauche qui maintenant contient notre champ "Quantié".

Résultat

Dans le DarkOffice de l'application

Il est possible, directement dans le DarkOffice applicatif de gérer les données de l'entité fabriquée. Pour ce faire, il faut déplier le menu de gauche pour voir l'entité "Article en stock" et de cliquer l'icone "voir la liste" à droite du nom.

DarkOffice - menu gauche d'entité
La liste s'affiche... pour le moment vide. Il est possible de créer manuellement une entité en cliquant sur le bouton "Nouveau" en haut de la liste. Mais comme nous sommes flemmards, nous allons importer un fichier excel afin de rapidement peupler la table.
Dans le menu "Administration de données", cliquer sur "Importer".
DarkOffice - lister une entitié
Vous pouvez utiliser ce fichier excel a condition que vous ayez utilisé exactement les mêmes noms de colonnes que ce tutorial, sinon, il faudra l'adapter. Les méthodes d'import sont décrites dans la section des fonctionalités avancées de navigation et import de données.
DarkOffice - importer une liste
Une fois l'import effectué, la liste affichée permet de voir les éléments.
DarkOffice - importer une liste