Migrate Forms interface patterns
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# Forms Interface Pattern Migration
|
||||
|
||||
This migration applies the GovOPlaN interface pattern language to the
|
||||
Forms-owned definition catalogue, package import, and revision editor. Forms
|
||||
owns immutable reusable schemas; Forms Runtime continues to own values,
|
||||
submissions, receipts, and handoff execution.
|
||||
|
||||
## Surface Inventory
|
||||
|
||||
| Surface | Archetype | Consequence class | Contract |
|
||||
| --- | --- | --- | --- |
|
||||
| `/forms` catalogue | Searchable definition library | Filter, export, import, create, or revise | Shared loading/error/empty/permission/help states and stable row actions |
|
||||
| Package import dialog | Consequential package review | Create local draft from external provenance | Assessment, required reason, guarded draft, never implicit publish |
|
||||
| Definition dialog | Versioned definition editor | Create immutable revision | Guarded editor, contextual schema help, explained validation and permission states |
|
||||
| Publication state | Governed lifecycle selector | Publish or retire exact revision | Admin-only availability and explicit lifecycle confirmation |
|
||||
| Field/page/localization editors | Structured schema composition | Change future runtime schema | At least one field, stable ordering, preview, localization and accessibility metadata |
|
||||
|
||||
## Consequence And Availability Rules
|
||||
|
||||
- Every save creates an immutable revision with a reason. Runtime instances
|
||||
retain the exact revision with which they were created.
|
||||
- Publishing permits future authorized use. Retirement prevents future use but
|
||||
does not erase definitions, submissions, receipts, or evidence.
|
||||
- Imported packages become local drafts and retain source provenance.
|
||||
- Missing write or administration authority remains visible with an Access
|
||||
destination; retired definitions show a lifecycle explanation.
|
||||
- Optional Runtime, Portal, Workflow, Case, and Policy behavior remains behind
|
||||
declared interfaces and capabilities.
|
||||
|
||||
The module uses shared controls, dialogs, blockers, field help, statuses,
|
||||
loading, empty/error states, disabled reasons, confirmations, and unsaved-draft
|
||||
guards. Existing responsive list/editor layouts remain bounded. English and
|
||||
German catalogues cover the owned route and editor vocabulary.
|
||||
Reference in New Issue
Block a user