Génération automatique Modeler

Les diagrammes sont une représentation graphique d’une partie arbitraire des (meta)données de votre application.

L’outil modeler graphique sert à dessiner ces diagrammes = sélectionner la partie arbitraire des records des données souhaitées et les positionner pour avoir un rendu le plus agréable possible. Il est possible de déclencher la création de nouveaux records depuis le diagramme mais ça ouvre de toute façon un formulaire de création. Bref c’est un outil de visualisation de (tout ou partie) des données plus qu’un outil de saisie.

Les diagrammes s’appuient sur des templates qui sont paramétrés pour indiquer explicitement le sous ensemble du modèle métier que vous souhaitez représenter et, surtout, définir la manière dont chaque type de données doit graphiquement se présenter (ex: sur la démo il y a un template de modèle qui permet d’afficher les clients, les fournisseurs et les produits sous forme de boite et les commandes sous forme de traits, c’est un choix parmi d’autre possibles).

Quand la structure de votre modèle métier évolue (ex; vous ajoutez un objet ou une relation) vous devez adapter les templates potentiellement concernés par cette évolution en conséquence. Il n’existe pas d’outil qui “alignerait” automatiquement vos templates sur des évolutions de la structure de votre modèle.

Quand vos données évoluent (ex: ajout d’un record d’un objet concerné par un template) il convient d’ouvrir les diagrammes sur lesquel cela a un interet de representer le record en question pour l’y ajouter (ce n’est pas parce qu’un template concerne un type d’objet que forcément tous les digrammes correspondants à ce template devraient obligatoirement afficher un nouveau record de cet objet, ex:sur la démo, sur un diagramme centré sur un fournisseur A et représentant ses produits, l’ajout d’un produit sur un fournisseur B n’a pas de raison de s’y trouver représenté automatiquement).

Il existe, si besoin, un tool ModelTool pour générer des diagrammes de manière programmatique en back (ex: sur un postCreate d’un objet), cf. ce post mais représenter graphiquement des données reste en général un travail esthétique de placement que seul un humain peut realiser correctement.