It would be usefull to have the ability to mark a module as non updatable on a given instance and/or as a dependency of another module.
The principle would be to disallow any update/delete/create on such module except for imports (of any kind: manually in the UI, using curl on the I/O endpoint, using Git pushes/pulls on the Git endpoint)
C’est une bonne idée qui sécurise et évite les fausses manip.
Sécuriser la livraison d’un module : dev en mise à jour > recette, prod… en lecture seule
Permettre de modifier un module “commun” que d’un seul endroit, et de le dupliquer partout en lecture (via un repo Git ou autre mécanisme de delivery)
Il semble aisé de contrôler depuis les hooks centraux de ConfigurationObject (qui hérite dans tous les objets de paramétrage ayant un module) dans isUpdate/DeleteEnable + preCreate/Update/Delete si le module est modifiable pour certaines instances (UI ou non).
La question sous jacente est de savoir où est géré l’information “readonly module” et qui y a accès en mise à jour dans un environnement donné, on peut le voir comme un simple booléen sur le module / non exportable/modifiable par import :
En dev/recette ça peut être à la main du designer qui verrouille le module à sa guise depuis la UI.
En production, ça ne devrait plus être modifiable simplement/forcé par un admin (ex: conditionné par une var d’environnement de la JVM)