Specialization of imported modules - Mendix Forum

Specialization of imported modules



Currently each time we import a module, it’s really tricky to ”override” the default behavior : for only 1 microflow we’d like to customize, we have to create a new module, create a new version of the microflow, redefine the roles and permissions, and then copy / paste all calling microflows, nanoflows and pages

This should be possible :

  1. It should be possible to right click on an imported module, choose to create a “specialization” 
  2. In the “specialization” module, we should be able to create specialization version of entities
    1. Properties (access rules, validation rules, event handlers...) management :
      1. “Use parent” (default value)
      2. “Extend” : it would combine the parent definition + the new settings we set on the specialization
      3. “Override” : let us completely define them like a normal microflow / nanoflow
    2. It would not be possible to remove attributes or associations from the parent entity
    3. It would be possible to specialize an association :
      1. The properties (multiplicity, “on delete” attributes) can’t be changed
      2. The target entity can be set to a “specialization” version of the target entity 
  3. In the “specialization” module, we should be able to create specialization versions of microflows and nanoflows.
    1. For security properties (entity access and allowed roles), it should be possible to “use parent” / “override” / “extend” 
    2. It would not be possible to add / remove parameters
    3. it should be possible to change the type of Object parameters by choosing a “specialization” version of the same entity only
      1. Calls with the parent entity would be redirected to the parent microflow/nanoflow
      2. Calls with the specialization entity would be redirected to the specialization microflow/nanoflow
    4. It would be possible to use a new block “call parent” calling the parent microflow/nanoflow
    5. it would be possible to define the flow of a microflow/nanoflow without limitations just like a normal microflow/nanoflow
  4. Roles and permissions of a specialization module : it should be possible to “use parent” / “override” / “extend”
  5. When trying to upgrade the imported module, the “specialization” module would be tested for compatibility
    1. if there was no change in the definition of parent microflows/nanoflows, there would be no warning
    2. if there were changes in the parent microflow/nanoflow, Studio Pro should display warning on the “specialized” version of the microflow, in our “specialization” module
    3. if there were so many changes in the parent that the specialization don’t compile anymore → Studio Pro would display errors in the console


IMHO, this would solve the current weakness of Mendix on using marketplace modules, and copy/paste issues


0 answers