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.
Published version
When a project is published, the draft version number becomes the published version number.
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.
Switching between draft and published version views
Once a workflow has been published, you can view how it has been set up by switching the workflow view.
Click on the production version to switch to a view of that workflow:
You will notice a message at the bottom indicating you are currently viewing the published or production version of the workflow.
Published workflows are locked and cannot be edited. While you can go into components and interact with their content, these changes will not be saved.
Restoring a previous version
We store all previous versions of a workflow that you have published or saved as a new version, allowing you to roll back your workflow if required. To do so, click on the "Versions" button in the canvas toolbar.
Click the Restore button on the version you want to restore. This will open a preview of that version in a new tab. From this preview, you can check that this is the correct version you want to restore:
When viewing a previous version, you can click into the components to check how they were configured when that version was saved and stored in the version history.
To restore to this version, click the Restore Version button on the canvas and then confirm the restore:
When you restore a previous version it will saved as a new draft version number. For example, if you are currently on draft version 4 but restore version 2, version 2 will be loaded as draft 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.
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.
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.