Files
govoplan-dashboard/docs/INTERFACE_PATTERN_MIGRATION.md
T

2.2 KiB

Dashboard Interface Pattern Migration

This migration applies the GovOPlaN interface pattern language to the view-specific summary, widget library, four-column placement grid, and widget configuration dialog.

Surface Inventory

Surface Archetype Consequence class Contract
/dashboard Personal workspace Inspect current task context Stable loading, fallback, empty, error, and help states
Summary Metric overview Inspect module/widget/layout state Installed, available, placed, active View, and persistence source remain distinguishable
Widget library Capability-filtered catalogue Add or reset placements Permission/View filtering, search, capacity reason, drag/click parity, and reversible defaults
Dashboard grid Configurable composition Reorder, resize, configure, or remove placement Four-column placement contract, visible drag target, guarded draft, and no provider-data mutation
Widget settings Nested definition editor Apply presentation/query settings Guarded local draft, contextual field help, validation reason, reset, apply, and discard

Consequence And Availability Rules

  • Layouts are scoped by tenant, account, and active focused View. A focused View changes the composition key but never grants access to widget data.
  • Configure mode edits a local draft. Save persists the complete layout using its revision; stale concurrent saves are rejected rather than overwritten.
  • Removing a widget affects only its placement. Reset restores the defaults contributed by active modules and remains reversible until Save layout.
  • Widgets are filtered by installed module, focused View surface, and declared scopes. Every provider still authorizes its own requests.
  • When the saved layout is unreachable, the browser or module defaults are clearly identified as a fallback. Saving promotes the current draft to the account-backed layout.

Backend and WebUI manifests publish matching page, summary, library, grid, settings, and built-in-widget surface identifiers. English and German catalogues cover Dashboard-owned vocabulary, contextual help resolves from manifest documentation, and both layout and widget-setting drafts are guarded.