Workflow Versioning

Workflow Versioning

After you deploy a workflow, you may want to make a change to it and deploy a new version. As long as you saved the workflow as a workflow template when you created it in Conductor Studio, you can update the template, save it, and publish a new version at any time. When you edit a template, you are not editing the actual workflow.

You are prompted several times during the workflow creation process to save your workflow template. Simply click Save when you are prompted to do so and give the template a name. This template is what you will use to create a new version of the workflow.

NOTE: Workflow templates are saved in the Conductor database and can be accessed by clicking Open in the Workflow Conductor Studio ribbon.

Workflow versioning is handled differently depending on how the workflow was deployed. Click on the link below that applies to the workflow deployment method configured in the Workflow Conductor Control Panel to learn how to create a new version of workflows deployed using that method:

Top

Versioning for Simple Publishing Workflows

To create a new version of a workflow published using a Simple Publishing option (i.e., Publish to List, Publish to Site, Publish to Site Collection, or Publish as Site Workflow), follow these steps:

Step Action Result
1. Open Workflow Conductor Studio from the list ribbon of the list where the workflow runs. In Conductor Studio, go to Workflow > Open and open the workflow template used to publish the workflow the first time.
2. Make the required changes to the workflow and save the changes. When the Save dialog appears, be sure to check Overwrite existing files so the existing template is updated with your changes.

save workflow.png

NOTE: This saves changes to the template, but doesn’t impact the currently running workflow.

3.

Publish the updated template. Workflow Conductor Studio detects that there is already a published workflow with the same name and will ask if you want to overwrite it.

Select Publish to publish the new version and overwrite the old one.

wf exists as published.png

Instances of the old workflow version that are in progress will continue to run until they are complete. New instances of the workflow will run as the new workflow version.

NOTES:

  1. Simple Publishing workflows cannot overwrite Solution Deployment workflows. However, Simple Publishing workflows can overwrite other Simple Publishing workflows of the same type. The table below shows which Simple Publishing workflows can be overwritten.
  2. If you check the option to automatically associate the workflow with the current list when you publish the new version to the site or site collection, the copy of the workflow of the same name that is associated to the list where Studio was started will be updated with the new workflow version. Workflows of the same name associated to other lists in the site (or other sites) will not be updated. If you do not check the auto-associate option, the existing workflow association for the current list will continue to use the old workflow version, but any new associations you add will use the new workflow version.
4.

If you click Workflow Settings from the list ribbon, you will see the version history of workflows.

Clicking the Remove a workflow link will allow you to remove the old versions, if desired.

wf settings showing versions.png
5.

On the Remove a workflow page, you will see that only the most recently published version of the workflow is marked Allow. The older versions are marked No New Instances.

To remove an old version, mark the Remove button and click OK.

remove workflows1.png

NOTES:

  1. Always make sure that there are no workflows in progress before removing an old version. Removing a workflow will terminate any in progress workflows. To be safe, always mark workflows with No new instances and wait for in progress workflows to complete before removing a workflow.
  2. You can remove a workflow from a SharePoint list and still have the template available in the Workflow Conductor Template Gallery.

Top

Versioning for Solution Deployment Workflows

The Solution Deployment method deploys workflows as farm solutions. If you want to deploy a new version of a workflow solution, you have two options:

  1. Deploy the new version with a different name.
    If you do not need to use the same workflow name, edit the workflow template and give the workflow a new name. Deploy the workflow with the new name. You can disable the old version to prevent users from starting new instances of it and remove the old workflow when you don’t need it anymore.

  2. Remove the old version before deploying the new version.
    If you want to use the same name for the new workflow version, you must first retract and remove the existing workflow solution. Instances of the workflow that are in progress will be terminated when the workflow is removed.

For more information, read KB.12500 – HOWTO: Deploy a New Version of a Workflow Conductor Workflow Solution in the Bamboo Knowledge Base.

NOTE: Solution Deployment workflows can overwrite Simple Publishing workflows of the same name directly from Conductor Studio. You do not need to remove the existing published workflow before deploying the new workflow solution.