Files
govoplan-idm/docs/INTERFACE_PATTERN_MIGRATION.md
zemion b0eda35195
Module Package Release / publish-packages (push) Successful in 12s
feat(idm): administer typed identity relationships
2026-08-21 22:04:06 +02:00

4.8 KiB

IDM Interface Pattern Migration

This document records the bounded migration of IDM-owned WebUI surfaces to the GovOPlaN interface pattern language. Identity owns people and account links, Organizations owns functions and units, Access owns application authority, and IDM owns effective identity-to-function facts and their governed lifecycle.

Surface Inventory

Surface Archetype Consequence class Contract
/idm assignments Repeated administration and governed relationship directory Create, change, deactivate, delegate, or act for an assignment Shared DataGrid/dialog/actions, accurate draft baseline, explicit permission and organization prerequisites, contextual field help
IDM governance settings Effective tenant configuration Require change evidence and alter audit retention Shared card/form/toggles, dirty-state guard, write blocker, consequence help
Function request/grant list Governed work queue Start or inspect a function change Shared grid/loading/status/action slot, localized state and workflow vocabulary
Request/grant editor Guided consequential editor Submit a governed assignment change Shared segmented control/dialog/forms, guarded draft, effective dates, justification and evidence help
Function-change detail Decision and provenance record Approve, reject, accept, request changes, withdraw, respond, or recover Shared confirmation, available-action contract, retained actor/policy/workflow/history evidence
Typed-group directory Repeated administration Create, edit, activate, or deactivate a tenant business group Shared grid/card/dialog/action bar, optimistic revision, source and provenance fields, exact contextual help
Effective relationship directory Effective-dated administration Create, change, expire, or irreversibly revoke a business relationship Searchable identity/group selectors, four distinct lifecycle states, dirty guard, reasoned destructive confirmation
Membership inspector Point-in-time evidence reader Resolve included and excluded identities for a group, time, and relationship kind Shared resolver endpoint, localized time, decision codes, identity lifecycle explanation
idm.action.view-function-assignments Contextual cross-module action Navigate with function context Declared capability surface, permission guard, no Organizations-private import

Consequence And Availability Rules

  • Opening an existing assignment does not mark it dirty. The guard compares the editor to the loaded baseline and protects only actual changes.
  • Direct assignment changes require IDM write authority. Governed functions use request/grant workflows for normal changes; direct edits are emergency overrides with a retained reason and optional evidence references.
  • Delegated and acting-for assignments remain tied to a valid source assignment and the Organizations flags that permit those semantics.
  • Assignment and governance settings do not create application permissions. Access must separately map accepted institutional facts to assignable roles.
  • Decisions are confirmed before execution. The resulting actor, comment, policy decision, workflow revision, state transition, and evidence remain in the governed record.
  • Deactivation and expiry remove a fact from effective resolution while retaining provenance and lifecycle evidence.
  • Future, active, expired, and revoked relationships remain visually distinct. Revocation requires a reason, acts immediately, and leaves the record immutable; later reuse requires a new relationship.
  • Typed relationship managers use searchable Identity and group references. External source, revision, properties, and provenance remain inspectable and editable under optimistic concurrency.
  • Membership inspection uses the production resolution capability and shows excluded decisions instead of presenting only a flattened member list.
  • Missing permission, identity search, and organization functions identify the required action, responsible administrator, and destination.

State And Accessibility Evidence

The module uses Core page/card/grid/dialog/loading/alert/status/action-blocker, field-help, disabled-reason, confirmation, and unsaved-change controls. Shared dialogs retain focus containment and return behavior; stable grid actions remain keyboard reachable. Existing responsive CSS collapses summaries and histories to one column at narrow widths.

English and German catalogues cover route metadata, assignment and relationship fields, governed states, workflow steps, membership decisions, confirmations, and accessible labels. Dates follow the selected platform locale. Manifest topics provide stable route, field, blocker, workflow, lifecycle, provenance, and consequence references without importing optional Policy, Audit, Notifications, Access, or Workflow Engine implementations.