The business process segment you indicate is actually quite a common practice. Often, an initiator is authorized to cancel a process or portion of a process which may have existing tasks.
The easiest way to handle this is:
- After initiation of the process, split the flow and send a "Status" task to user 1 and a "process transaction" task to user 2.
- Have the status task (user 1) provide a simply UI option to cancel the process which will send a terminate event (every thing gets shutdown immediately) or if cleanup is needed sends a signal event to shutown the process instance.
- The "Process Transaction" task will have an event listener that picks up the signal event which automatically closes the task and flows (via cleanup logic) to the end.
Note that if you use a terminate event step 3 is not required, but it is something of a "crowbar approach", in my experience, instance cleanup is always required (notify users of why their process task went away, undo DB or System of Record transactions, send messages to other systems).
As something of a separate note, BP-3 ( http://www.bp-3.com ) offers a full suite of Activiti services including:
- Migration support (To Activiti from other BPM systems)
- Pre production support for Activiti BPM engine
- BPM process design, development, review services
- Production support for Activiti BPM engine
- General consulting services
They may be able to assist you with a migration strategy.