1. Why does Activiti Designer overwrite changes I made to the BPMN 2.0 XML file?
Noticed behavior: After making manual changes to the BPMN 2.0 xml file in the editor, some of those changes are lost upon save of the diagram.
Workaround: Only use constructs supported by the diagram view when editing the BPMN directly
Although the behavior may be confusing and at times inconvenient, this is not a bug, but a feature. The behavior is fundamental to the way the multipage editor works: you can edit in either the diagram or the BPMN view, but in both views your are bound by the functionality we actually support. The essence of the way this works is that changes made in either view are synchronized to the other view and must therefore be supported by both. Any change to the diagram will regenerate the BPMN for all constructs supported.
Obviously, you can use constructs in the BPMN XML than we don't support (and may or may not be supported in Activiti's engine), but we will not be able to process them and will therefore drop them upon regeneration from the diagram to BPMN.
The easiest rule of thumb is this: if you can't do it in the process diagram, then you can't do it in the BPMN either, even if Activiti engine supports it.
If you find a construct you can edit in the process diagram, but doesn't get synced to the BPMN, then that's a bug. Please report a case like this to us, by filing a Jira issue for the Designer component and we will look into it. Regenerating the BPMN for the constructs supported and dropping non-supported output is, however, a feature.