Initiate a process from another process without having a fixed workflow



I have some cases i need to implement where there is undefined fixed workflows.

For example :

Having 2 actors A, B and C, each being set as actors on pools P1 (creation) and P2 (reception)

P1 allows the user to create a document, fill it and transfer it to an unpredicted actor. (B or C -- in the normal case there are more then 20 possible receivers)

P2 allows the user to receive a document, and either transfer it to the following unpredicted actor (A - C), or close the document.

Having unpredictable outputs for these processes, i can't create a specific logic in the workflow, and would like to implement the following behavior :

1 - P1 - The actor A creates a document, sets the receiver as B and transfers it.

2 - P1 - An automatic task at the end of P1 identifies B as receiver, and initiates a new process P2 in the tasks of actor B in order to receive the transferred document. (end of P1 for A)

3 - P2 - The actor B takes the task of type P2 initiated by P1 of actor A, and transfers it to C

4 - P2 - An automatic task at the end of P2 identifies C as receiver, and initiates a new process P2 in the tasks of actor C in order to receive the transferred document. (end of P2 for B)

5 - P2 - The actor C takes the task of type P2 initiated by P2 of actor B, and closes it. (end of P2 for C)

Since i don't have a fixed if target for the transfers (and having over 20 possible receivers), as well as having the possibility that the transfers could back from C to B to A, there is no way to implement a fixed workflow for my pool. So, to implement this semi-workflow diagram, I would actually need to create multiple workflows that are not linked one to another, but that can be linked during execution by initiating the following processes from other process.

That being said and explained in details, I would like to know if this is possible to implement such behavior? if yes, could you please explain to me how this could be done and point me to the correct elements to be used ?

Thank you for your help and continuous support !!

1 answer



I assume you have a task T2, and then the user who has to works on task T2 depends on the different rules.

Then the ACTOR FILTER function is for you.

1/ go to development, Actor Filter, and create a new Actor filter. You have to do that in two steps, the definition than the implementation
2/ register this new actor filter in the task T2

If your requirement is "I don't know how many tasks Tx I have", what you have to know is:

* you have to define first the different tasks and then to code a form on it. Let's imagine now you have T1, T2, T3, T4

* after the instanciation, you have to calculate where you want to go (which Tx). Then, do an Automatic task, and calculate the destination in this task. Save it in a variable "destinationTask"

* add a decision gateway, and then do for each a condition "return "T2".equals(destinationTask)

So, it's a "fixed workflow", but the next task is calculated dynamically.

You can have a look too to the "case management", but it's maybe a subscription function.

Hope this help