- Thu Mar 16, 2017 5:48 am
#789783
Hi there,
I discovered another problem with converging gateways. Maybe this one is not related to the converging function but maybe then a malfunction of using "DerivateCase" in order to hide the "next-user-mask" together with an following XOR. But let me show you what I discovered:
1. I`ve designet a little process, which spread to 3 parallel tasks and after these 3 tasks (Task 2,3,4) are completed goes to a final task (Task 5).
In every Task, I inserted a trigger with the PMFDerivateCase (in order to hide the next-user-mask) in the "Before Assignment" sectrion as described at the wiki
2. Now, I want Task2 to decide, weather a message is send or not before going on. This is done by a XOR-Gateway after Task2 with the corresponding paths to the message-event and the converging parallel gateway. If we now complete Task2, Task 5 is immediately activated and the converging function is disregarded. This behaviour is shown regardless the XOR decides to send the message or not. The following screens shows, that Task2 is completed and Task5 is activated:
3. If I now remove the "PMFDerivateCase" from Task 2, everything is back to the expected behaviour. Regardless of the XOR-Gateway and its functions, the converging parallel Gateway is waiting for all previous Tasks to complete. See here:
Conclusion: The PMFDerivateCase together with the XOR causes the converging parallel function to be disregarded !
Hopefully I did not designed anything far away from BPMN2. Is there another way to hide the "next-user-mask" instead of using the DerivateCase-Function ? Or is this in fact a malfunction/bug ? Maybe it is worth a note in the wiki, to be careful with the PMFDerivateCase ...
Possibly a solution in the future is a Designer-option to turn off the "next-user-mask" in Tasks instead of using trigger-code...
I discovered another problem with converging gateways. Maybe this one is not related to the converging function but maybe then a malfunction of using "DerivateCase" in order to hide the "next-user-mask" together with an following XOR. But let me show you what I discovered:
1. I`ve designet a little process, which spread to 3 parallel tasks and after these 3 tasks (Task 2,3,4) are completed goes to a final task (Task 5).
In every Task, I inserted a trigger with the PMFDerivateCase (in order to hide the next-user-mask) in the "Before Assignment" sectrion as described at the wiki
Code: Select all
The following picture shows, that everything works as designed, the "converging parallel gateway" wait for Task 3&4 to complete before
PMFDerivateCase(@@APPLICATION, @%INDEX);
G::header("Location: casesListExtJsRedirector");
die();
2. Now, I want Task2 to decide, weather a message is send or not before going on. This is done by a XOR-Gateway after Task2 with the corresponding paths to the message-event and the converging parallel gateway. If we now complete Task2, Task 5 is immediately activated and the converging function is disregarded. This behaviour is shown regardless the XOR decides to send the message or not. The following screens shows, that Task2 is completed and Task5 is activated:
3. If I now remove the "PMFDerivateCase" from Task 2, everything is back to the expected behaviour. Regardless of the XOR-Gateway and its functions, the converging parallel Gateway is waiting for all previous Tasks to complete. See here:
Conclusion: The PMFDerivateCase together with the XOR causes the converging parallel function to be disregarded !
Hopefully I did not designed anything far away from BPMN2. Is there another way to hide the "next-user-mask" instead of using the DerivateCase-Function ? Or is this in fact a malfunction/bug ? Maybe it is worth a note in the wiki, to be careful with the PMFDerivateCase ...
Possibly a solution in the future is a Designer-option to turn off the "next-user-mask" in Tasks instead of using trigger-code...
Last edited by StephanS on Mon Jun 26, 2017 2:37 am, edited 1 time in total.