cancel
Showing results for 
Search instead for 
Did you mean: 

Changing Process Instances on the fly

jamespfaulkner
Champ in-the-making
Champ in-the-making
Hi,

I'm currently evaluating workflow engines for a new project. I'm impressed with the work that's gone into Activiti but I have one requirement that has come in that I’m not sure it is actually possible with Activiti. The idea is that for some sections of our system, we need the workflow to be less rigid. What I mean by this is that we want to give some users the ability to arbitrary change the workflow of a currently inflight process.

For example, say I have deployed a Process Definition which users are allowed to use in our system. After a while we then have multiple inflight Process Instances using this Definition. For one of these Process Instances, a user should be able to, on the fly, remove an upcoming Task. We want to be able to do this without affecting the overall Process Definition and without affecting other inflight Process Instances using the same Definition. The ability to arbitrarily add tasks to an inflight Process Instance would also be useful.

I’ve had a look through the forums and other sources and haven’t been able to find a solution to this. Adding these tasks into the initial BPMN definitions from which the Process Definitions are created is unfortunately not an option. We need this to be very customisable and changeable on the fly and not have an overly complex workflow definition.

Does anybody know if this sort of thing is actually possible in Activiti? If not is this something that is on the roadmap or this is something that is likely to never be possible in Activiti?

Any help would be greatly appreciated.

Cheers,
James
2 REPLIES 2

trademak
Star Contributor
Star Contributor
Hi James,

Adding tasks on the fly is already possible via the TaskService. But this would be standalone tasks, not attached to the process instance.
Changing a process definition on the fly is something we want to support to a certain extend, and adding and removing user tasks on the fly would be the first user case for that. So this is not supported at the moment, but we are looking at it for one of the next releases. In the meantime adding standalone tasks might be a workaround.

Best regards,

jamespfaulkner
Champ in-the-making
Champ in-the-making
Hi Tijs

Thanks for the response! Do you have any idea in what release this is likely to be included in. Is it something that is being actively investigated currently or is it further away in the road map? I have had a look through the Jira issues but couldn't see anything related.

Once again, thanks for your time.

Cheers,
James