When I change the symbol of an element in my process, all properties get lost. So when you start modelling your process with a normal task and change it afterwarts to an user task, everything is gone.
What is gone exactly? Please give us concrete steps to reproduce and tell us exactly what you’d like to see preserved.
When you add and config a new element in your process, eg a start event:
After some discussion with your customer, you decide to change its type, all previously defined params are gone:
My expectation was, that all shared properties would “survive” the type change. In my example, the ID, the Form Key, the Listener and the Description should have been taken over. Today changing the type is the same as placing a new symbol except the imprinted name visible in the diagram is taken over.
I agree we should try to keep existing properties such as configured listeners after type change. Technically it may be tough to distinguish under which circumstances various properties may stay or have to go.
See bpmn-io/bpmn-js#415 for related GitHub issue.
Suggestion: why not make a first step and take over the Id and description? These attributes are common to all objects. Implementing the full blown attribute set is maybe something to add later in the timeline.