FormWork documentation
Form Versions
Safely draft, validate, publish, preview, and retain form changes.
Versioning separates changes you are building from the form respondents currently use. An in-progress entry remains tied to the version on which it started.
The three states
| State | Purpose | Editable | Can be previewed | Public share/embed |
|---|---|---|---|---|
| Draft | Working copy | Yes | Yes | Preview-only URL/code |
| Published | Current live version | No | Yes | Yes; always latest published |
| Archived | Earlier published version | No | No | No |
A form has at most one draft and one current published version. Older published versions become archived.
Edit a form
Opening Edit with no draft copies the published version into a new draft. If a draft already exists, FormWork opens it. An entirely new form starts with a draft before it has ever been published.
The draft includes pages, fields, workflows, settings, and saved appearance. Changes autosave.
Switch versions
The builder’s version controls let you inspect the published version and work in the draft. Archived versions may also appear in version history but are read-only and cannot be previewed.
Discard a draft
When a published version exists, you can discard its draft. This deletes the working changes and returns the builder to the published version. It does not modify the live version or historic entries.
Preview
Preview opens a client URL locked to the selected draft or published version through preview_version_id.
Use it to test:
- Page and field visibility routes
- Built-in and custom validation
- Defaults and reactive calculated values
- Repeaters and uploads
- Button-click and answer-update behaviour
- Light and dark appearance
Draft preview entries are ordinary entries associated with that preview version; the product does not mark them with a special “preview” entry status. Avoid test submissions you do not want mixed into admin data.
Validate and publish
Select Publish. FormWork validates the complete version before it changes any live state. The issue panel links back to relevant builder areas.
Validation includes, among other checks:
- Page, field, and field configuration validity
- Unique and valid IDs
- References and type compatibility
- Display and validation logic
- Workflow graph, trigger, and step configuration
- Template reference cycles and direct self-reference
- Extension field configuration
On success:
- The draft becomes published.
- The former published version becomes archived.
- The form’s public link and normal embed begin serving the new version.
- New entries use the new version.
Existing entries
Every entry remains associated with the form version on which it began. Draft respondents and completed submissions therefore keep the structure, defaults, validation, content, and workflows of their original version.
Admin entry pages render against that stored version. Removing a field in a later version does not erase an earlier entry’s answer.
What is not in the current interface
FormWork does not currently provide side-by-side version comparison, version titles/release notes, a general Duplicate version action, or manual deletion of arbitrary versions. The supported edit operation is copy published to draft; the supported rollback pattern is to rebuild the desired change in a draft and publish it.
Safe release checklist
- Preview all conditional branches and pages.
- Submit both valid and invalid examples.
- Test triggers that should and should not run.
- Confirm templates and integration environments use the intended data.
- Check embedded appearance on the target site.
- Publish at a time appropriate for active respondents—even though their existing drafts remain pinned.
See Sharing & Preview for exactly which URL each state produces.