Workflow versioning

All projects are versioned to keep track of changes and deployments. You will notice that there are two version numbers displayed in the project canvas, a draft version and a published version.

Draft version#

Until a project is published, anything on the canvas is treated as a draft project.

img

Published version#

When a project is published, the draft version number becomes the published version number.

img

New draft version#

The draft version number and published version number will remain the same if you do not make any further changes to the project canvas. As soon as you make a change to the project canvas (such as adding, deleting or editing a component) the draft version number will change to a new version number. When you publish this draft version, the process above repeats.

Rolling a workflow back to a previous version#

We store the last 5 most recent published versions of a workflow, allowing you to roll back your workflow if required. To do so, click on the "Versions" button in the canvas toolbar.

img

Click "Revert" on the version you want to revert to. A dialog will appear asking you to confirm.

img

note

When you revert to a previous version it will be given a new version number. For example, if you are currently on version 4 but roll back to version 2, version 2 will be loaded as version 5.

Form session to Workflow versioning#

Form session to Workflow versioning prevents errors caused by changes to the workflow when a user is currently answering a form but has not submitted it yet.

How this works is that whenever a user starts a form by clicking the "Start" button, it creates a form session which is then linked to the most recent version of the workflow.

img

So if a user opens a form when workflow version 1 is published, their form session will be linked to and use workflow version 1. If workflow version 2 is published before that user has submitted their form, their submission will still run workflow version 1 due to this link.

So in summary, there are two cases:

Workflow version 1 is published. Workflow is changed to version 2 before any user has opened the form.#

When the user opens the form, they will open the most up to date version of the form i.e. version 2. When they submit the form, it will use version 2 of the workflow.

Workflow version 1 is published. User starts answering a form. Before they submit, workflow version 2 is published.#

When the user opened the form, their form session was linked to workflow version 1. When the user submits the form, it will run version 1 of the workflow.