Advanced modelling of parallel async processes


Consider the following scenario:

2 users are filling in and co-signing an online multi-step application form.

The form consists of 4 pages (user tasks) of which 2 are shared (both can update the form fields) and 2 are personal (i.e an “about you” page and an application submit page per user).

Both users have to submit the application before it can get processed.

Now… entry to the process is always step 1, but users should be able to arbitrarily go back and forth between steps.

How could I model such a scenario using Camunda? What are best practises?

Should I go for a sequential process with 4 user tasks and use Process Instance Modification Messages to move the execution point as users move back and forth between tasks?

Or should I go the event driven way and let each task be it’s own asynchronous detached subprocess? And simpy shuffle variables in between tasks? What if both users are accessing the process simultaneously?

Help and advice much appreciated. :slight_smile: