Changing the Process Definition on the Server - "In-Flight" change / utilize new version

rated by 0 users
This post has 11 Replies | 2 Followers

Top 500 Contributor
Posts 25
Points 58
biberm Posted: Thu, Mar 26 2009 2:30 AM

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

Top 10 Contributor
Posts 849
Points 2,341
Bob replied on Thu, Mar 26 2009 8:42 PM

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.

 

The 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.
  • | Post Points: 4
Top 500 Contributor
Posts 25
Points 58
biberm replied on Sun, Mar 29 2009 3:15 PM

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 exception
2. When you wish to update the specific process utilize GOTO and force the process instance to error
3. Use the out of the box "retry with new version" functionality
4. Use GOTO activity to "go back" to the original state

Could this work?


  • | Post Points: 4
Top 10 Contributor
Posts 849
Points 2,341
Bob replied on Mon, Mar 30 2009 7:11 PM
I recall trying something like this on an earlier version and this was not possible. At the time i believe it only changed the specific artifact (event, rule...) that was in error.  however I have not tried it on the latest version so am not sure if this has changed.
The 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.
  • | Post Points: 5
Top 500 Contributor
Posts 25
Points 58
biberm replied on Mon, Mar 30 2009 9:21 PM
Thanks Bob, I will try this approach within the next few weeks so I will keep you posted.
  • | Post Points: 1
Top 500 Contributor
Posts 25
Points 58
biberm replied on Thu, Apr 23 2009 8:08 PM

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?  

  • | Post Points: 4
Top 10 Contributor
Posts 849
Points 2,341
Bob replied on Sun, Apr 26 2009 8:33 AM
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. 
The 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.
  • | Post Points: 7
Top 500 Contributor
Posts 25
Points 58
biberm replied on Sun, Apr 26 2009 5:11 PM
Excellent, thanks for the update Bob.
  • | Post Points: 1
Top 500 Contributor
Posts 12
Points 49

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

 

Top 10 Contributor
Posts 849
Points 2,341
Bob replied on Wed, May 20 2009 10:48 AM
As I understand it, Live Instance Mgmt (LIM) will be an API only implementation.  I suspect the actual call to move versions will be for a specific process instance ID, however this I think this LIM method could be wrapped with some other K2 API calls to get your desired functionality. 
The 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.
  • | Post Points: 1
Top 25 Contributor
Posts 240
Points 985
jan replied on Wed, May 20 2009 10:51 AM

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)?

Jan
The 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.

  • | Post Points: 4
Top 500 Contributor
Posts 25
Points 58
biberm replied on Tue, Apr 13 2010 11:49 PM

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?

  • | Post Points: 1
Page 1 of 1 (12 items) | RSS