You can create new process and use data of "bad process" pass it automatic until needed stage.
or you can create proces what allow change data, what was prepared in another process
Hi Sergey Kornilov,
Thank you for your reply, Yes we have thought of that too, create another process to compensate the human error in previous process.
But then there is a concern where the two process will become separate process, and by looking at the original process we do not know the real time it takes to complete the process.
Unless there is a way to make the new process related to the old process?
Your issue is is same as in any application irespective of process I guess.
I am currently only looking into Approve/Reject scenario as you might have other scenario as well.
1)Ask user to select Approve/Reject status instead of button and then submit button. This allows user to avoid quick submit.
2) For addtional protection you can show the summery of data filled by user and then user finally submit.
Even after user is doing wrong selection then you cant avoid it.
Basically you want to awake the termnated/completed case again whcih I am not sure is a good idea.
Re: But then there is a concern where the two process will become separate process, and by looking at the original process we do not know the real time it takes to complete the process.
you can add some parameters to new process when start it:
boolean isRestarted = true;
List<Integer> previousProcessDurationSecond = [1,2...];
or you can keep InstanceId of aborted process. By this you can get Information when need it.
Hi Ashish T,
Yes I agree this kind of error does happen even without using BPM / JBPM.
Before we use BPM / JBPM, we can provide a feature for user to undo the last action and do it again (well, because the application knows everything that needs to be undone).
But now since we use BPM / JBPM, how do this kind of thing should be handled technically?
Ok. got it.
In such case lets say one person P1 has performed the task and process moves ahead. Now next person P2 in line has also perfromed the task. What happens in this case? Now P1 can not do anything or in you previous application it was possible to still chnage the decision or data?
Or you applicatio new from 30 steps these there are 10 steps which need to be undone and you had written specific logic for it?