How to Edit an Existing Form¶
Key Principles¶
- Light touch — only touch what the task requires. Form items have interdependencies (calculated fields, conditions, visibility rules) that are easy to break. If it works, don't touch it.
- Wait for the middle panel — when you first open a form, the middle panel may appear blank. Clicking before it finishes loading can cause the form to get stuck. Wait until the full form structure is visible.
- Clone, never copy — use Clone to create new form items, not Copy. Copying creates a reference copy; editing it also edits the original.
- Never copy an existing button — copying a Request button copies all underlying parts by reference. Always create a brand-new Form Item of type Request.
Step-by-Step¶
- Log in to Management Studio
- Navigate to Forms Designer
- Find the form → click View Versions
- Click Edit Form
- Make changes using the toolbar (Undo/Redo, Delete, Cut/Copy/Paste as needed)
- Save regularly — there is no auto-save
- Do not refresh the browser while editing
Versioning Rules¶
- Don't create a new version prematurely. Only create a new version when you are about to make changes. A new version is a signal that something changed — treat it that way.
- Add a clear version comment describing exactly what changed.
- Save and Activate the new version for it to take effect on devices.
Recovering a form record whose latest version is corrupt¶
Proven on the Dev Void Post Inspection record, 29/07/2026 (ticket 22387). Importing a
structurally-invalid .form created unloadable versions v4–v6, after which the record
rejected every import with HTTP 500 — including a control package containing the
unmodified, previously-working v3.
Three facts make this situation worse than it looks:
- Management Studio has no delete-a-version. The only delete is delete the whole form. A corrupt version is permanent.
- The
Create Versionbutton copies from the LATEST version, not the active one. Clicking it while the latest is corrupt just produces another corrupt version (this is how v6 happened). - A corrupt version is only inert once it is no longer the latest. v4–v6 still exist; they simply sit behind v7+.
The procedure that worked¶
- On the Form Versions page, click Unlock on the latest version.
- Export the ACTIVE version from Management Studio (not from the repo, not a rebuilt package).
- Re-import that export. It lands as a new version, which becomes latest + active and loads cleanly.
The active version keeps serving devices throughout, so there is no user impact while the record is stuck — but you cannot ship anything until it is recovered.
Two things that sound plausible and are wrong: that no import can succeed while the latest version is corrupt (the MS-exported active version does import), and that this needs Aareon or a SQL row-level fix (it does not).
The root cause was hand-authored package metadata. Never do that — clone a .ftpackage
that has genuinely imported and swap only the artefact bytes. See
sessions/gotchas-and-tips.md.
Quick Tips¶
- Save regularly — no auto-save.
- Do not refresh the browser page while editing.
- Clone items instead of copying to ensure they are treated as new entries.
- Ignore "Name Fields" errors if prompted — you can proceed without addressing them.
- Resist the urge to tidy or refactor working fields — the risk of breaking something outweighs any benefit.
Related¶
- forms/how-to-build-a-form.md
- forms/form-xml-conventions.md
- forms/void-post-inspection.md — the record the recovery procedure above was proven on
- deployment/dev-to-live.md