63 lines
4.8 KiB
Markdown
63 lines
4.8 KiB
Markdown
# 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.
|