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.