Under Consideration

rollback a task

People make mistakes. One of most common is pressing "Next" button while not entering all and/or entering wrong data into an activity form. This is a concern shared by majority of prospective customers. Currently Bizagi doesn't have a good answer to this issue -- one should solve it at the application level, e.g. by providing a control activity assigned to another user, or just kill a case and start it from scratch.

Here are some ideas implemented in other BPMS products:

- Oracle has a special non-standard "Grab activity" which allows an authorized user to get the token from anywhere in the process and another (or same) special activity to put it in some other activity as appropriate.

- Fujitsu has the activity attribute (boolean) "completes a transaction". If it's set to true and a case passed this step then coming back isn't possible - which makes sense e.g. if we've sent a letter to an external entity. But if the attribute is set to false then pressing "Next" can be rolled back by pressing "Prev" button at the following activity.

Both solutions are valuable and compliment each other -- the former remedies the problem at the runtime/administrator level while the latter at the design time/analyst level. But if choosing only one I'd vote for the latter.

Bizagi already has similar functionality: a case rolls back to a previous task if e.g. a service task fails; the "create case Id at the end of the creation phase" also delays the transaction commitment. It gives a hope that it won't be hard to implement the suggested improvement.


I have thesame think.


My company is currently looking at Bizagi.

I personally am sceptical of any 'magic bullet' software development solutions that 'cut out' the requirement for low level systems / programming knowledge. (I've seen too many promise too much and deliver much too little).

This, is simple error trapping and 99% of it should be achieved at database level - NEVER application level.

(That way, you define it once, and another 100 new applications can use that table - without ever needing to know about this data-integrity rule).

Are you talking about the other 1% that cannot be trapped at database level?

It does seem however: "...while not entering all and / or entering wrong data..." you are talking about data entry trapping that should be defined at database level.

Can this not be defined in Bizagi?

If it can, can a layman / non-technical director of the company do it?

I would be interested to know.



When you directly edit a database record, there is always an option to get back and correct a mistake if any.

However there is no such opportunity when performing a process task: once the "Done" button is pressed, the token moves to the next task and probably to another user.

From my experience, this happens quite often and I don't see how database transactions mechanism can help. Do you?

There are couple of hints:

- always make at least one field "required" to make it impossible for a user to press "Done" without actiually doing anything

- use radio form control for boolean attributes, make it required and don't set a default value

but they are not 100% bullet-proof indeed.