OpenWFE has always used a [java] long as a unique workflow identifier. Subflow instances are in some cases built by adding a dot and an integer, so you know that 17635932.0 is a subflow of 17635932.
Yesterday evening, I was giving support to a customer about a process instance that went ballistic. We had a hard time finding the workflow instance id concerned as the end user was referring to process instances not by their ‘workflow instance id’, but by some custom code of theirs : ‘2006_45’. A ‘grep -r’ quickly solved the trick, but it left me wondering : should I allow OpenWFE integrators to plug in their own workflow instance id determination logic ?
In the case of that customer, that would be pretty neat to directly jump into the [expression] pool and spot all expressions whose file names containing ‘2006_45’, subflows would look like ‘2006_45.2’ or ‘2006_45.0.1’.
Same thing for the worklist, its stores and the workitems in it.
Some guidelines should be provided on how to implement a decent WorkflowInstanceIdGenerator : newlines aren’t welcome in workflow instance ids…
I’ll think about it a bit longer, but that looks useful, it should be part of 1.7.0.