I have an existing process definition deployed (jbpm-jpdl-3.2.2.jar). As expected, there are new requirements for which we need to add to the process definition. I would like to modify the existing process definition rather than deploy a second version.
Otherwise, I will need to write a program to convert all of the existing process instances to the new version.
While our process is complex (lots of nodes, decisions, wait states and sub processes), I'm hoping modifying the process definition is a doable programming exercise.
Basically, I want to modify a couple of current wait states to include new outbound transitions and then new processing paths (nodes/decisions/wait states).
Sorry for the long lead up to my questions. First, since I am only adding to the process definition and not modifying (removing/renaming/deleting) anything that currently exists, will I be safe to just "add" the new stuff to the process definition table (created using POJOs and hibernate - not directly inserting into the table)? I was thinking of loading the process definition and then "adding" nodes (of the correct type) via the api (I'm assuming there is an api to do this).
Or will I also need to modify all of the existing process instances?
Basically what we are doing is modifying the current flow:
start -> node -> node -> wait --A--> node --> etc...
--B--> node --> etc...
To add a third transition:
--C--> node --> etc...
So any "open" process instance can execute the C transition from the wait state (if that is where the PI is waiting).
will I be safe to just "add" the newafaik, yes