Skip to main content

Hello,

I would like to know how k2 handles any changes made to Workflow or SmartObject or Tables directly.

Would the instances running currently would give error ?

Would K2 complete the running instances with old Workflow? But what would happen in case of change in SmartObjects or Tables?

 

How we should handle these senarios

 

Thanks

Hi Shreyas

 

Workflows - you can deploy a new version of a workflow and this will not affect any running instances (on previous versions). Each K2 workflow is deployed as a different DLL, allowing different versions to execute at the same time.

 

SmartObjects/Tables - if you make a change to a table that a Smartobject is referencing this has the potential to break the smartobject and you will get errors calling the methods. Adding a new field to a table will probably be ok, but removing fields or changing data types will probably break the SmartObject. You can regenerate the SmartObject after you have made a table change (there are some options in the SmartObject tester to do this) and this will stop errors occuring.

 

SmartObjects are versioned, but only the latest version is used (e.g. by a workflow, smartform etc).  So if you make a change to a SmartObject - say for example remove a field from a table and then remove the related property from the SmartObject - any workflow that is using that SmartObject will potentially error when it tries to execute one of its methods. If the field removed is not required by the workflow and you regenerate the smartobject after making the table change you should not have any problems.

 

Make sure you test any changes to tables/smartobjects in your dev/test system against existing and new workflow version instances before you deploy to prod.

 

 


Thanks Andrew


Reply