The export of a process and import will not change anything defined in the export bpmn20.xml. The form-referenced-id will be the same (and subprocess ids will be the same), the form itself will be the same.
If you edit the form it will affect all other models that are referencing that from id. This is to be expected as the forms by default are intended to be shareable, but it is not obvious to the editor that is the case. This will cause issues with pre-existing processes using that form or the process the new one was cloned from.
Ideally, there should be an option when editing a form to 'Open as new' or when closing after editing to "save as new".
The optional button should automatically save the form as a new form with new id.
For Subprocesses same concept..Current Save Model (in case of subprocesses):
Add 'Save as New', on click popup confirms 'You will be creating new form id'
Add 'Save', on click popup confirms 'You will be updating existing form, this will impact all references using it'
This is probably the most realistic editorial improvement request versus assuming all customers want a new form versus update existing form or processes referenced.
- form must be create 'new' >> cons: complex forms, human errors
- form in the form tab (if the form is NOT embedded) cloned, then remember in process where form is and reselect
- form if embedded, you need to unembbed it, exit process, go to form tab, clone it, go back to process, and select the new cloned form, then embed and save process again
Workaround cons: multiple steps in and out of process editor, if process is complex and long and there are multiple forms in the process this is inefficient, human errors risk increases significantly, excessive saving and versions(proc) pile up in repository causing performance problems
Customer needs to replicate the main processs as is, then edit the embedded forms to fit the use of the new copy. This also includes the subprocess (collapsed or not that are referenced). It is non-intuitive to them that when they edit the embedded form that it is not tied to the current process but is a shared form across many. This results in breaking the design of the other processes.