Is it currently possible to make an already existing K2 process utilize a newly deployed process version or make an "In-Flight" change? If so how would you do this if you had 1000's of K2 processes that require the update?
The scenario is, the client wants to add another activity in the process (another client event) and they would like all the existing processes (already in-progress) to be updated to enable them to utilize the additional workflow step.
I have my trusty Wrox Professional K2 Blackpearl book and on page 295 it states: "It will be possible in the future to modify the process definition of a deployed process directly on the server without having to redeploy the entire process".
By the way the book is great, very comprehensive!
Thanks again,Bib
Unfortunately the functionality referenced in the book is not in version 0807. As I understand it, the functionality to move an instance to a different definition version is on the roadmap and expected later this year.
To solve the "In-Flight" problem with the current 807 release could I build into each K2 Process an error activity that is used to put the process into an errored state enabling us to retry using a new version. Therefore the steps include:
1. Add Activity with ServerEvent (Code) to raise exception2. When you wish to update the specific process utilize GOTO and force the process instance to error3. Use the out of the box "retry with new version" functionality4. Use GOTO activity to "go back" to the original state
Could this work?
I finally had time to test this. I can confirm Bob is correct.
It only changed the specific artifact (event, rule...) that was in error. I created a new process with 2 client events and an activity with some server code that threw an exception. I added an additional client event and actions, removed the erroring code and retried using the new version. The new actions/clientEvent don't exist. :-(
Is there any other way of doing this? I can see this being a big problem for long running business processes. The K2 book details this feature would be available in the future, can any body shed some light on this, timeframe?
Bob:The functionality you are referring to (from the K2 book) is called "Live Instance Management" and is expected to be included within the next version of K2 blackpearl. There currently is not an exact ship date, but i would expect it to be within later this quarter or early next quarter.
For the live instance management, would it able to group "instance by event"? i think its would be useful, because if i can route any suspicious logical error to an event (ie: error event). then it would be easier to support a production system, where hundreds and thousand of process might occurs.
regards,Martin
Not sur it will makes sense, but have you look at the blackmarket project on process version migration utility (http://www.k2underground.com/k2/ProjectHome.aspx?ProjectID=75)?
JanThe statements and opinions made in my postings are my own, and do not reflect the opinions of SourceCode Technology Holdings, Inc. or its subsidiaries. All information is provided as is with no warranties, express or implied, and grants no rights or licenses.
This is exactly what I am after!!!!! Thank you.
Looks like the K2 Blackmarket project mentioned above has been rebranded as Live Instance Management (LIM) in the 4.5 release. So we could really do the exact same thing in 807?