best grammar app

What is Process Versioning

Submitted by Abhishek on Fri, 2011-05-20 13:37

In BPM Implementations it is essential that the tool you are using supports process versioning. Versioning means that you should have able to provide a newer version of your template so that all new requests follow the new path; however the old ones should follow the old path itself.
Benefits of Process Versioning

  • Maintain multiple versions of the same process, each following its own unique path. From Business perspective it means having different policies based on the time of initiation. This is important since you would prefer following the rules that were prevalent when your customer subscribed to your service rather than the current rules. However the current rules should be applicable to any new customer who registers.
  • Your users see the same App in the Applications page. They do not need to know which process to start. If you are integrating your application with third party systems then it is advisable to use the app name as it remains common for all versions of the template.
  • You can always rollback in case things go wrong and that too in steps.
  • Versioning helps you track how your process is evolving over a period of time. You can gather important user behavior and preferences information using the data compiled across versions.

How to create a new version of your template?

  • To create a new version in BPM Studio, create a new BPM Project. In the wizard you can specify the base template whose new version you are creating. If your process was LeaveApproval_V1 then the new process would be LeaveApproval_V2.
  • If you end up creating a new version manually, you would need to update the name of the process in your spt and xml files. Also rename the Project folder from V1 to V2. If you happen to have JSP Pages then you would need to update the process name there as well. Do take care that in the xml and spt files, APP Name used should be same as the first template.

How to install version template on Server?

  • If you are using BPM Studio, you can go ahead and do a direct deploy. Since the App name was available already, the new process gets installed and the old one gets deprecated.
  • If you are using BizLogic Admin then the command you need to issue is:

             createAndInstallPtVersion LeaveApproval_V2.xml LeaveApproval_V1

  • This will install LeaveApproval_V2 as a new version to LeaveApproval_V1. The App Name will continue to be LeaveApproval_V1

Pitfalls to avoid

  • If you are using common shared resources, you will need to figure out a way in which your old and new template can work together. For example, if you delete a dataslot or add a new dataslot in the new version, the common code should be smart enough to take care of both scenarios for both old and new processes.
  • Package names, in case you are using the adapters inside your workflow, would change i.e. an adapter called “LeaveApproval_V1.adapters.MyLeaveCalculator” would change to “LeaveApproval_V2.adapters.MyLeaveCalculator”. If you don’t update your source files you could end up using the old classes.
  • App name is always the name of the first process you installed. Make sure you name it to something which makes sense.
  • Avoid cutting new version for every minor change; try to have a new version let’s say every month which has consolidated changes for the entire month. Creating and maintaining versions is a tedious task.

Abhishek Mishra
Good experience in working with BPM technologies like Savvion, JBPM. Founder and Chief Editor of Founder of Savvion Business Manager Mobility Framework Savmobify| View my BPMGeek Profile
best grammar app

About BPMGeek

BPMGeek is an initiative to collaborate and communicate with the growing Business process management community out there. The goal is to help developers connect with experts, ask questions, post their learning and get understanding of BPM Concepts. Often tool specific knowledge of niche areas end up developers perplexed and confused - especially when there are very less number of resources available. We will be coming up several several new features. Have a look at our Roadmap here

BPMGeek is an independent entity not associated with any Product. All BPM product professionals are invited to contribute. The Logos and Names used across the site belong to their respective owners. The viewpoints mentioned by Individual contributors are their own. BPMgeek cannot be held liable for any issues arising out of it.

BPMgeek is promoting the Nounshoun English Grammar App - developed by Constellation Software.