Command: Update Module
This command (category "Composer") opens the Module dialog. The module tree provides all modules which are compatible to the selected module instance in the module tree. The command allows to update a module instance to a new module type. This can also be a new version of the same module.
When updating, the configured data of the instance will be maintained as far as possible:
Parameter values which exists in the new versions will be adopted even if the current value is incompatible with the new parameter type. If a parameter value is not set explicitly in the instance, then the default value of the new module is used.
I/O mappings which exists in the new version and which have the same direction (input resp. output) as the assignment in the instance will be adopted. The assignment does not have to be of the same type as the new I/O to be adopted.
Task assignments which exists in both versions will be adopted.
Subinstances or references of slots which have the same slot ID in the new module will be maintained with all subinstances and references. This applies even if the type of the subinstances or references does not match the new slot, or if the cardinality of the new slot does not allow all subinstances or references.
Subinstances or references of slots which do not exist in the new module are inserted below a new slot named "Orphaned Instances" or "Orphaned References". These slots are identified by special identifiers which cannot occur in normal slots. If a slot with orphaned elements already exists, this slot will be used.
Subinstances or references of slots which exist in the new module but now expect references (in case of subinstances) or subinstances (in case of references) will be handled as subinstances resp. references which slot is not available in the new module.
Toplevel informations which exist in the instance will be deleted if there is an update to a module which is not toplevel. If no toplevel informations exists in the instance it will be created if the module is updated to a toplevel module.
Instance data defined by extensions: The respective extensions determine which data will be kept and which will be deleted. It should adhere to the principle of obtaining as much data as possible.
If the order of the slots in the new module has changed, then the order of the slots below the instance will also be adjusted accordingly.
If the update would delete data (for example, parameter values, I/O assignments, non-empty slots, or extended instance data), then a message will be displayed describing which objects will be deleted and allowing the user to cancel the update.
The update of an instance can be undone with one single undo step in the module tree.