Génération automatique Modeler

Request description

Bonjour,

Le diagramme du Modeler de nos projets ne correspond plus à la réalité du modèle de données étant donné que celui-ci a été largement modifié au fil des années. Nous ne passons pas par le Modeler pour faire nos modifications mais directement par la définition des objets.
Existe t-il un moyen de réaligner le diagramme automatiquement ou est-ce que quelque chose m’échappe dans le raisonnement ?

Merci d’avance.

Steps to reproduce

*This request concerns an 5.3.61 Simplicité instance

Technical information

Instance /health

[Platform]
Status=OK
Version=5.3.61
BuiltOn=2025-01-16 09:26
Git=5.3/00544332802a4dc0aa22e4306929d5cd30ff9a5c
Encoding=UTF-8
EndpointIP=100.88.15.5
EndpointURL=http://rpw-70787-app-7f8f6897d7-lttpm:8080
TimeZone=Europe/Paris
SystemDate=2025-03-21 09:49:16

[Application]
ApplicationVersion=0.1 dev
ContextPath=
ContextURL=https://rpw-70787-app.gke2.ope.gcp.renault.com
ActiveSessions=1
TotalUsers=103
EnabledUsers=93
LastLoginDate=2025-03-21 09:48:56

[Server]
ServerInfo=Apache Tomcat/9.0.98
ServerType=WEB
ServerActiveSessions=1
ServerSessionTimeout=30
CronStarted=true

[OS]
Name=Linux
Architecture=amd64
Version=6.6.72+
DockerImageName=almalinux9
SystemEncoding=UTF-8

[JavaVM]
Version=17.0.13
Vendor=Eclipse Adoptium
VMName=OpenJDK 64-Bit Server VM
VMVersion=17.0.13+11
ScriptEngine=rhino
ScriptEngineVersion=Rhino 1.7.13 2020 09 02
HeapFree=118141
HeapSize=348160
HeapMaxSize=1189888
TotalFreeSize=959869

[Cache]
ObjectCache=249
ObjectCacheMax=10000
ObjectCacheRatio=2
ProcessCache=1
ProcessCacheMax=10000
ProcessCacheRatio=0
APIGrantCache=0
APIGrantCacheMax=1000
APIGrantRatio=0

[Database]
Vendor=3
VendorName=postgresql
ProductName=PostgreSQL
ProductVersion=15.10
DriverName=PostgreSQL JDBC Driver
DriverVersion=42.7.4
DBDate=2025-03-21 09:49:16
DBDateOffset=0
DBPatchLevel=5;P03;0db7fd81748fa0999b067cf74c932e82;61
UsingBLOBs=true

[Healthcheck]
Date=2025-03-21 09:49:16
ElapsedTime=14

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.

C’est très clair merci pour ces explications détaillées.

PS: voilà la javadoc de ModelTool en 6.3-alpha : ModelTool, on vient de voir qu’elle n’était pas générée pour les versions précédentes, c’est corrigé et ce sera le cas lors des prochaines révisions

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.