3.4 KiB
Organizations Interface Pattern Migration
This document records the bounded migration of Organizations-owned WebUI surfaces to the GovOPlaN interface pattern language. Core owns shared controls and host shells. Organizations owns tenant-local model definitions, concrete units, relations, functions, settings, and their mutation consequences.
Surface Inventory
| Surface | Archetype | Consequence class | Contract |
|---|---|---|---|
/organizations model section |
Repeated administration and definition library | Change model vocabulary | Shared DataGrid/cards/dialogs, stable row actions, governed change reference, contextual help |
/organizations units section |
Hierarchy explorer and directory | Change hierarchy and routing context | Shared ExplorerTree/DataGrid, parent selection, explicit write blockers, guarded drafts |
/organizations relations section |
Repeated administration | Change structure traversal | Typed source/target editor, lifecycle state, contextual field help |
/organizations functions section |
Repeated administration | Change institutional responsibility vocabulary | Stable function rows, optional capability actions, explicit Access boundary |
organizations.admin.tenant |
Effective tenant configuration | Change governance, audit, and retention behavior | Shared admin layout, permission blocker, dirty-state guard, contextual help |
organizations.functionPicker |
Governed reference selector | Select an active function | Tenant-safe labels, bounded loading/error state, no sibling-private import |
Consequence And Availability Rules
- Organization hierarchies and settings are tenant-owned. A tenant may start from a versioned system template, but it does not inherit one mutable global hierarchy.
- Unit types, structures, relation types, and function types define the model; units, relations, and functions are concrete facts within it.
- Parent and relation changes can affect downstream routing, Postbox resolution, reporting, and policy context. Slugs are stable integration references.
- Deactivation preserves the record and audit evidence while removing it from active selection. The UI does not represent deactivation as deletion.
- Delegation and act-in-place flags describe organizational semantics only. Access and governed workflows still decide effective authority.
- When tenant governance requires it, model mutations need an approved change-request reference. Dirty dialogs, section changes, and reloads use the shared unsaved-change guard.
- Unavailable actions remain visible and identify the missing permission, responsible administrator, and administration destination.
State And Accessibility Evidence
The module uses Core page, subnavigation, grid, tree, card, dialog, loading, alert, status, blocker, field-help, and disabled-action controls. Stable table action slots remain keyboard reachable; dialogs retain shared focus containment and return. Responsive behavior stays owned by the existing workspace and admin shell CSS. Labels and accessible properties use the English/German module catalogue, and API errors are bounded to the current tenant operation.
The manifest contributes stable help contexts for the workspace, sections, settings, fields, lifecycle changes, and governed change references. Backend and WebUI contract tests prevent those boundaries and explanations from silently regressing.