Skip to content

Add ADR048: Immutable Form Versioning#248

Open
theseanything wants to merge 8 commits into
mainfrom
theseanything/adr-048
Open

Add ADR048: Immutable Form Versioning#248
theseanything wants to merge 8 commits into
mainfrom
theseanything/adr-048

Conversation

@theseanything
Copy link
Copy Markdown
Contributor

Outlines an immutable versioning model for published forms. This includes new API endpoints for draft and versioned forms, addressing limitations in the current system and enhancing caching, submission tracking, and user experience during form completion.

@theseanything theseanything self-assigned this Mar 24, 2026
Comment thread ADR/ADR048-immutable-form-versioning.md
Comment thread ADR/ADR048-immutable-form-versioning.md
Comment thread ADR/ADR048-immutable-form-versioning.md
Comment thread ADR/ADR048-immutable-form-versioning.md
Outlines the transition from a mutable document-based system to an immutable versioning model for published forms. This includes new API endpoints for draft and versioned forms, addressing limitations in the current system and enhancing caching, submission tracking, and user experience during form completion.
Added a section on hard submission deadlines to ADR048, outlining the need for strict cutoff times for certain forms. This change clarifies that archiving will no longer serve as a method to prevent future submissions and suggests a new implementation approach for managing submission deadlines.
Added a section detailing how each submission will now store the `form_version` it was made against, helping proccess handle changes to the form.
Added a section detailing schema changes
Comment thread ADR/ADR048-immutable-form-versioning.md Outdated
Clarified language regarding mutable endpoints and the explicit linking of submissions to form versions. Updated sections on hard submission deadlines and the implications of archiving, ensuring consistency in terminology and enhancing clarity for future implementation considerations.
@theseanything theseanything force-pushed the theseanything/adr-048 branch 2 times, most recently from e340668 to 7b08fee Compare May 12, 2026 15:27
If we ever wanted to allow rolling back to an older form version. The "live" form, may point to an older version not the "latest".
Realise we need to be able to find the archived version of the form to continue supporting the preview-archived form state.
Renamed the draft endpoint to `/api/v3/forms/:form_id/versions/draft` to make it more consistent that everything under /versions returns a form document.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants