zemion 970af124d4 fix(ui): clarify inherited navigation and heading help
Verified with the coordinated workspace changes by devkit full run
2026-09-08T225814-186389-0000-3e3ed7cd (all seven phases passed).
This shared UI pass does not mark the individual module reviews complete.
2026-09-09 02:04:23 +02:00
2026-07-28 21:04:44 +02:00

govoplan-views

Repository type: module (platform).

govoplan-views provides governed, task-focused interface projections for GovOPlaN. A View selects modules, navigation entries, routes, sections, and actions that should be shown for a particular task without changing the underlying authorization decision.

The module owns versioned View definitions, immutable revisions, assignments at system, tenant, group, and user scope, effective-view resolution, and the user's current selection. Core owns the surface contract and applies the effective projection to the shared shell. Modules announce their selectable surface hierarchy in their manifests and WebUI contributions.

Views are presentation filters, never security boundaries. Hidden routes still use their normal permission checks. Required Views retain the View selector and administration surfaces needed to inspect and change the assignment, preventing administrators from locking an installation out of its own configuration. The selector is the titlebar eye button next to the language control. It opens the available-View menu and uses the accent color whenever a specialized View is active; the full interface keeps the icon neutral. The selector announces the views.selector help context so F1 opens the matching Views guidance.

Views are also the canonical user/group module-visibility mechanism. Core creates a root <module>.module surface for every WebUI module, so a View may hide or reveal a tenant-effective module without creating a second personal module-state store. A View cannot make a module operationally available when system tenant policy excludes it, and it cannot grant the Access permissions needed to use the module.

Administration

The module contributes Views sections to system and tenant administration. Administrators can:

  • create a draft from the currently installed surface catalogue
  • choose modules, navigation entries, routes, sections, and actions
  • publish immutable revisions
  • make a published View available, default, or required at system, tenant, group, or user scope
  • pin an assignment to its published revision or let it follow later published revisions
  • inspect and remove references to surfaces retired by a module

Accounts with the corresponding definition permission can also design personal Views, or reusable Views owned by one of their groups, from Settings > Views. Publishing an owned View automatically makes it available to its owner; administrators can still distribute it more broadly through explicit assignments.

Required assignments are validated by the backend. They must retain the Views selector, the Access administration route, and the administration section able to remove the assignment. If an installed-module change leaves an active View without a reachable navigation entry and route, Core shows the normal authorized interface and reports the stale projection instead of trapping the user.

The surface inventory, consequence classes, availability explanations, and accessibility evidence for the shared interface language are recorded in docs/INTERFACE_PATTERN_MIGRATION.md.

Development

Install the module as an editable package alongside Core and include views in ENABLED_MODULES. Core's registered-module migration runner applies the Views migration on startup.

pip install -e ../govoplan-views
python -m unittest discover -s ../govoplan-views/tests -v

Workflow declares the resolver as an optional contract. The resolver accepts an optional workflow-selected View and applies it below required administrative assignments but above user/default selection. The View must already be available to the account, so Workflow cannot bypass assignment policy. Persisting a workflow instance's pinned View revision remains owned by the Workflow module.

A View may also recommend or focus Quick Access tools. Focus narrows only the already effective, authorized catalogue. The rail identifies the active View, explains a focus whose tools are no longer available, and exposes All available tools as a temporary permission-derived escape; that action neither changes the View nor stores an override.

Git-source WebUI package

The repository root exposes @govoplan/views-webui for Git-tagged release dependencies. It mirrors the owning webui/package.json version, public TypeScript/CSS exports and peer requirements, with entry paths under webui/src. Consumers provide the shared Core/React peers; the facade runs no development or install scripts. The source archive contains webui/src, this README and any repository license file. Run module development checks from webui/; Python installation remains governed by pyproject.toml.

Das Repository stellt @govoplan/views-webui am Wurzelpfad für versionierte Git-Abhängigkeiten bereit. Version, öffentliche TypeScript-/CSS-Exporte und Peer-Anforderungen entsprechen webui/package.json; die Einstiegspfade liegen unter webui/src. Gemeinsame Core-/React-Peers stellt die einbindende Anwendung bereit. Die Fassade führt keine Entwicklungs- oder Installationsskripte aus. Entwicklungsprüfungen bleiben in webui/, die Python-Installation weiterhin in pyproject.toml definiert.

S
Description
Governed task-focused interface views, module surface projections, and workflow view integration for GovOPlaN.
Readme
488 KiB
Languages
Python 69.2%
TypeScript 27.7%
CSS 1.7%
JavaScript 1.4%