55 lines
3.6 KiB
Markdown
55 lines
3.6 KiB
Markdown
# 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 `WorkspaceLayout` and `PageLayout` for both the standalone
|
|
workspace and embedded administration contribution, plus shared subnavigation,
|
|
grid, tree, card, dialog, loading, alert, status, blocker, field-help, and
|
|
disabled-action controls. Pane width, content inset, headings, route actions,
|
|
notices, scrolling, and responsive navigation are therefore Core-owned rather
|
|
than repeated in Organizations CSS. Stable table
|
|
action slots remain keyboard reachable; dialogs retain shared focus containment
|
|
and return. 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.
|