Files
govoplan-forms/docs/INTERFACE_PATTERN_MIGRATION.md
T
zemion 0a7bd5b3b4 fix(ui): align contextual documentation with headings
Verified with the coordinated workspace changes by devkit full run
2026-09-08T225814-186389-0000-3e3ed7cd (all seven phases passed).
This shared UI pass does not mark the individual module reviews complete.
2026-09-09 02:03:46 +02:00

45 lines
2.9 KiB
Markdown

# 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. The catalogue now composes `WorkspaceFrame`, `ActionToolbar`,
`FilterBar`, and `StatePanel`; equal-column definition/editor groups use
`FormGrid`, while field, page, localization, and preview headings use the
shared section-header toolbar surface. Core therefore owns viewport, search,
state, heading, and narrow-layout geometry. These contracts do not change
filter scope, permissions, revision semantics, or publication consequences.
English and German catalogues cover the owned route and editor vocabulary.
Documentation books belong immediately beside their contextual text. The
catalogue uses Core's workspace title and `titleHelp`; the revision dialog uses
its title help, and the separate Form meaning label carries semantic help for
that exact definition. Field help stays beside its label. This uses Core layout
contracts and does not change revision, publication, or runtime ownership.