Make it possible to specialize an existing generalization-object - Mendix Forum

Make it possible to specialize an existing generalization-object


See question 103801, it is not possible to change an object from its type to a specialization of that type. The suggested solution works, but is really a workaround and makes the object lose its history, system-attributes, and values of attributes having the type auto-number. Yet you can come across a use-case for it every now and then.


3 answers

In today's Mendix Workflow AMA session, it was suggested to use an Enumeration to define workflow roles for a user and use a specialization of System.User called WF_User.

When you are using SSO/SAML20, this wont work as you can't specialize the System.User to WF_User without braking.

Having the ability to Speciliaze or Generalize an object so that you can easily upgrade or downgrade it, would be a great improvement.


Additional arguments for why having the ability to change the type of an object is essential, is to avoid breaking ID’s used via Datahub (or Mendix Connector in MX10), as explained by Ilya Basin in:


Would make improving your domain model a lot easier. You don’t always know from the start that it is better to implement specializations.

Ideally it would be great if the Cast Object function would allow you to select the target object type - that should fall in the Generalization/Specialization hierarchy of the object to be casted – and be able to commit it.
Alternatively a ChangeType action as part of the object actions would be fine too, to avoid breaking the apps that already use the Cast action.