Questions and discussion about developing processes and programming in PHP, JavaScript, web services & REST API.
Forum rules: Please search to see if a question has already asked before creating a new topic. Please don't post the same question in multiple forums.
By eatyourpeas747
#794811
I want to have my form have gateways that multiple people have to come back to the form and check a box which sends an email. How would I design it so that the workflow will continue even if one of the people hasn't opened the form and checked the box? I'm trying to eliminate holdup because of one person. Then once all the people came in and checked the box and the email sent the workflow is complete.
User avatar
By amosbatto
#794813
If I understand you correctly, you have a process like this:
parallelTasksProcess.png
parallelTasksProcess.png (14.67 KiB) Viewed 3644 times
Where each of the parallel tasks (Task 2, Task 3 & Task 4) has a required checkbox which sends an email when marked.

If just one of the parallel tasks hasn't been completed, then you want the process to advance to Task 5, but you also want that last parallel task to stay open and you don't want the process to be able to end until that last parallel task has been completed. There is no way to do that in ProcessMaker (or any other BPMN compliant software).

What I suggest is that you create a process similar to this one:
keep task open while process advances.png
keep task open while process advances.png (31.73 KiB) Viewed 3644 times
Where Task 7 has a form with the same checkbox as the parallel tasks to send an email when marked. Task 7 will use Value Based Assignment and all the users assigned to Tasks 2, 3 and 4 will also be assigned to Task 7. The variable for Task 7 is @@incompletedTaskUser and this variable is set to the ID of the user who didn't complete one of the parallel tasks.
ValueBasedAssignmentTask7.png
ValueBasedAssignmentTask7.png (47.57 KiB) Viewed 3644 times


A trigger will need to be set to execute before assignment in Task 2, Task 3 and Task 4 that will check if there is only one other parallel task left to be completed. If so, then use PMFDerivateCase() (or the routeCase() web service) to route on the case to complete the last parallel task and assign the user of that uncompleted task to the @@incompletedTaskUser variable, so that user will be assigned to Task 7.

Another trigger is create to fired before assignment in the parallel tasks that checks that the checkbox has been marked and it uses PMFSendMessage() to send out the email. If the checkbox hasn't been marked then the trigger code will use PMFRedirectToStep() to reopen the form containing the checkbox and force the user to mark the checkbox.

Is this what you want? If so, I can create a code example for you, but I won't take the time unless this is what you want.
By rparvez700
#829279
I have a problem which is kind of similar to this scenario but i want the opposite output. I have three parallel tasks. What i want is that all the parallel tasks need to be completed in order to proceed beyond the converging parallel gateway. But I am facing a challenge. problem scenario: task1 is completed so it is now waiting for the task2,task3 to finish. then I called route-case api on this case with delegation index to complete only task2. But what happens is it goes beyond the converging parallel gateway and starts the next task in line while task3 is still open. how to prevent this?? Please help.

Using 3.1.3-community

A 1xbet clone script is a pre-designed software so[…]

4rabet clone script is enabling entrepreneurs to e[…]

Parimatch clone script is enabling entrepreneurs t[…]

In the world of cryptocurrency, a wallet is an app[…]