A module by default has PRIVATE visibility, which means, it is only visible to users that belong to the organization that owns the module. The visibility can be changed to PUBLIC in order to make the module visible to all users of all organizations on the web modeler platform.
Rules for PUBLIC Modules¶
- Only users of the organization that owns the PUBLIC modules can make changes to the PUBLIC modules.
- Changing a module’s visibility to PUBLIC automatically changes the visibility of that module’s dependency tree of modules to PUBLIC, too.
- As soon as a user of a different organization sets up a link to one of the elements of the PUBLIC module, that module’s visibility cannot be changed back to PRIVATE anymore. The same holds true for the module’s depdendency tree of modules (which are all PUBLIC, too).
A typical use case for PUBLIC modules is the provisioning of so-called library modules that contain model elements that are going to be re-used by all organizations that use the web modeler. An example of this is the module “Predefined Types” of the DSL “Basic”. It provides a set of primitive types, e.g. “Boolean”. Code generators are aware of those type definitions and know what to do with them.