[Usability] Consistent action placement, table cards, help discovery and module loading #295

Closed
opened 2026-09-07 20:08:17 +02:00 by zemion · 5 comments
Owner

User-requested cross-module usability pass (2026-09-07). Work is local/unpublished; do not close until published and verified.

Acceptance:

  • Shared Reload at top right immediately before New; persistent workspace action bars in Voting/Scheduling.
  • Explicit full-width table-card contract used by Organizations and IDM; consistent spacing/typography in Risk Compliance.
  • One shared checkbox/dropdown list filter for DataGrid, Notification Center and Help Center, including select/deselect all; notification status OR filtering before server limit.
  • Help tags/area discovery and occurrence-specific selection/expansion for repeated topics.
  • Repair Workflow/Dataflow resource-loading errors without execution or permission changes.
  • Simplify Addressbook actions; tree labels select and folder icons toggle consistently.
  • Owning-module EN/DE help and automated component/browser conformance checks.

Initial diagnosis: development app and conformance shared the Vite dependency cache, causing outdated optimized graph dependencies (504). Separate caches repair Workflow/Dataflow; read-only live check confirms both now render. No live deliveries, workflow executions or data mutations authorized by this pass.

User-requested cross-module usability pass (2026-09-07). Work is local/unpublished; do not close until published and verified. Acceptance: - Shared Reload at top right immediately before New; persistent workspace action bars in Voting/Scheduling. - Explicit full-width table-card contract used by Organizations and IDM; consistent spacing/typography in Risk Compliance. - One shared checkbox/dropdown list filter for DataGrid, Notification Center and Help Center, including select/deselect all; notification status OR filtering before server limit. - Help tags/area discovery and occurrence-specific selection/expansion for repeated topics. - Repair Workflow/Dataflow resource-loading errors without execution or permission changes. - Simplify Addressbook actions; tree labels select and folder icons toggle consistently. - Owning-module EN/DE help and automated component/browser conformance checks. Initial diagnosis: development app and conformance shared the Vite dependency cache, causing outdated optimized graph dependencies (504). Separate caches repair Workflow/Dataflow; read-only live check confirms both now render. No live deliveries, workflow executions or data mutations authorized by this pass.
Author
Owner

Implementation progress (local/unpublished): shared right-aligned guarded Reload placement, explicit table Card bodies, removal of phantom DataGrid scrollbar gutter, reusable list-filter checkbox/dropdown body, Notification server-side multi-status OR filtering and stale-operation guards, Help tags/authorized areas and occurrence-specific tree state, simplified Addressbook action groups and consistent Mail/Addressbook tree selection.

Workflow/Dataflow 504 module loads were caused by product/conformance Vite dependency-cache collision; separate caches fix both. Live read-only checks confirm Workflow, Dataflow, Templates, Datasources, Distribution Lists headers and Addressbook desktop/mobile. Tasks is not backend-contributed on this instance; no entitlement or registration changes were made. Nine migrated collection pages are enforced by a new AST placement contract.

Owning EN/DE help updated. Core production build and bundle limits pass, manifest72/72 and shared layout/strict platform inventory gates pass. 27 integrated browser checks and 8 additional Help/modal-filter checks pass; full175 browser suite is running. Notifications27 tests+8subtests pass; Docs32 tests pass.

Full focused check reaches a pre-existing unrelated InstitutionalGovernanceJourney test failure at tests/test_institutional_governance_journey.py:223 (expired service availability fixture produces empty portal directory). No UI scope change was made to hide it.

Structural follow-up candidates after this slice: consolidate SearchPage/GlobalSearch duplicated filter popovers (explicit all/none adapter needed), semantic Files/Mail toolbars with grouped advanced operations, and Cases/IDM/Approvals remaining manually composed editor/detail headers. Keep issue open until changes are committed/published and verification recorded.

Implementation progress (local/unpublished): shared right-aligned guarded Reload placement, explicit table Card bodies, removal of phantom DataGrid scrollbar gutter, reusable list-filter checkbox/dropdown body, Notification server-side multi-status OR filtering and stale-operation guards, Help tags/authorized areas and occurrence-specific tree state, simplified Addressbook action groups and consistent Mail/Addressbook tree selection. Workflow/Dataflow 504 module loads were caused by product/conformance Vite dependency-cache collision; separate caches fix both. Live read-only checks confirm Workflow, Dataflow, Templates, Datasources, Distribution Lists headers and Addressbook desktop/mobile. Tasks is not backend-contributed on this instance; no entitlement or registration changes were made. Nine migrated collection pages are enforced by a new AST placement contract. Owning EN/DE help updated. Core production build and bundle limits pass, manifest72/72 and shared layout/strict platform inventory gates pass. 27 integrated browser checks and 8 additional Help/modal-filter checks pass; full175 browser suite is running. Notifications27 tests+8subtests pass; Docs32 tests pass. Full focused check reaches a pre-existing unrelated InstitutionalGovernanceJourney test failure at tests/test_institutional_governance_journey.py:223 (expired service availability fixture produces empty portal directory). No UI scope change was made to hide it. Structural follow-up candidates after this slice: consolidate SearchPage/GlobalSearch duplicated filter popovers (explicit all/none adapter needed), semantic Files/Mail toolbars with grouped advanced operations, and Cases/IDM/Approvals remaining manually composed editor/detail headers. Keep issue open until changes are committed/published and verification recorded.
Author
Owner

Final local verification: all175 browser conformance cases pass in one clean run (4.3min), including existing Campaign sending/progress/saving, archive, credential, grid/dialog, navigation and new Help/Notifications/Addressbook/Mail/module-layout cases. Expected narrow screenshot was visually reviewed and updated for right-aligned actions and removal of empty toolbar groups; desktop baselines unchanged.

Production build + bundle limits pass; final Core/conformance TypeScript, layout primitives, Page/WorkspaceLayout, DataGrid action tests, Core interface patterns, 9-page AST placement check, Vite cache isolation and72-manifest registry pass. Docs32Python+3discovery tests, Notifications27Python+8subtests, Access3documentation tests pass; other affected-module checks recorded above. Full focused gate passes strict inventory (including exact high-risk help) and then retains the unrelated time-sensitive InstitutionalGovernanceJourney failure at line223.

Shared dropdown is verified with keyboard interaction inside Core Dialogs, outside/Escape dismissal, trigger focus restoration, and long80-character labels at320px. Notification late reads/PATCH acknowledgements/delivery follow-up reads are fenced across account changes; no real notification delivery was performed.

Live read-only verification confirms repaired Workflow/Dataflow loading, five migrated headers and Addressbook desktop/mobile. No live campaigns sent, workflows executed, or entitlements changed. Changes remain uncommitted/unpushed and this issue intentionally remains open pending publication. Shared usage guide: govoplan-core/docs/PAGE_LAYOUT_USAGE_GUIDELINES.md.

Final local verification: all175 browser conformance cases pass in one clean run (4.3min), including existing Campaign sending/progress/saving, archive, credential, grid/dialog, navigation and new Help/Notifications/Addressbook/Mail/module-layout cases. Expected narrow screenshot was visually reviewed and updated for right-aligned actions and removal of empty toolbar groups; desktop baselines unchanged. Production build + bundle limits pass; final Core/conformance TypeScript, layout primitives, Page/WorkspaceLayout, DataGrid action tests, Core interface patterns, 9-page AST placement check, Vite cache isolation and72-manifest registry pass. Docs32Python+3discovery tests, Notifications27Python+8subtests, Access3documentation tests pass; other affected-module checks recorded above. Full focused gate passes strict inventory (including exact high-risk help) and then retains the unrelated time-sensitive InstitutionalGovernanceJourney failure at line223. Shared dropdown is verified with keyboard interaction inside Core Dialogs, outside/Escape dismissal, trigger focus restoration, and long80-character labels at320px. Notification late reads/PATCH acknowledgements/delivery follow-up reads are fenced across account changes; no real notification delivery was performed. Live read-only verification confirms repaired Workflow/Dataflow loading, five migrated headers and Addressbook desktop/mobile. No live campaigns sent, workflows executed, or entitlements changed. Changes remain uncommitted/unpushed and this issue intentionally remains open pending publication. Shared usage guide: govoplan-core/docs/PAGE_LAYOUT_USAGE_GUIDELINES.md.
Author
Owner

Follow-up requested: consolidate remaining Files/Mail toolbars and duplicated Search filters using the shared contracts. In progress locally: persistent Files header with readonly Reload/Create/Upload; grouped selection and connection tools; one Mail workspace Reload plus grouped scoped tools; Search-owned shared facet adapter using Core MultiSelectFilter on page and overlay. Preserve permissions, selections/drafts, legacy URL/API semantics, context restrictions and cursor safety. Add EN/DE owning docs and real-page mocked browser regressions. No live file/mail writes or deliveries; no commit/push/closure in this pass.

Follow-up requested: consolidate remaining Files/Mail toolbars and duplicated Search filters using the shared contracts. In progress locally: persistent Files header with readonly Reload/Create/Upload; grouped selection and connection tools; one Mail workspace Reload plus grouped scoped tools; Search-owned shared facet adapter using Core MultiSelectFilter on page and overlay. Preserve permissions, selections/drafts, legacy URL/API semantics, context restrictions and cursor safety. Add EN/DE owning docs and real-page mocked browser regressions. No live file/mail writes or deliveries; no commit/push/closure in this pass.
Author
Owner

Implemented the requested follow-up consolidation locally (not committed or pushed; issue remains open).

  • Files now uses the persistent shared workspace action bar: Reload, Create Folder, primary Upload. Selection and connection/import tools are grouped in standard dialogs; destructive actions remain separated. Explicit Reload bypasses cached reads, preserves filters/selections, and guards against obsolete account, tenant, folder, and filter responses.
  • Mail now has one persistent semantic Reload plus grouped mailbox tools. Refresh preserves context, handles stale responses and revoked profiles, and does not reopen dismissed previews. Failed pagination restores the committed page. Narrow layouts keep messages, preview, and the header usable. Reload remains read-only; it never sends, appends, imports, or synchronizes mail.
  • Search page and global overlay now share the same owning filter adapter using Core MultiSelectFilter. All/none/subset selection, legacy URLs, contextual constraints, stale selections, pagination, and cancellation are consistent. Empty selections cannot broaden searches. Account/tenant authority changes invalidate results and catalogues even when the token/settings object does not change.
  • Updated owning EN/DE documentation and the shared page-layout guidelines; expanded automated ownership/action-placement guards. Corrected shared German Select all / Deselect all labels.

Verification:

  • Production build, TypeScript, bundle budget, shared layout/primitives checks, 72/72 manifest checks, and strict inventory pass.
  • Browser conformance: full run passed 208/209. The sole failure expected the former English Deselect all label in a German campaign fixture; updated that assertion and the isolated rerun passed (1/1). Thus all 209 cases have passed across the full run plus targeted rerun.
  • Targeted Search, Files, and Mail backend, client, and structural checks pass, including real-client Files cache/pagination checks and new browser race tests.
  • The required workspace focused gate still fails on the existing unrelated institutional-governance journey test: tests/test_institutional_governance_journey.py:223, IndexError from an empty Portal service directory. No unrelated fix was included.

Browser verification used isolated mocked fixtures. No live file or mail operations, sends, appends, imports, or workflow execution were performed. Existing user changes were preserved.

Implemented the requested follow-up consolidation locally (not committed or pushed; issue remains open). - Files now uses the persistent shared workspace action bar: Reload, Create Folder, primary Upload. Selection and connection/import tools are grouped in standard dialogs; destructive actions remain separated. Explicit Reload bypasses cached reads, preserves filters/selections, and guards against obsolete account, tenant, folder, and filter responses. - Mail now has one persistent semantic Reload plus grouped mailbox tools. Refresh preserves context, handles stale responses and revoked profiles, and does not reopen dismissed previews. Failed pagination restores the committed page. Narrow layouts keep messages, preview, and the header usable. Reload remains read-only; it never sends, appends, imports, or synchronizes mail. - Search page and global overlay now share the same owning filter adapter using Core MultiSelectFilter. All/none/subset selection, legacy URLs, contextual constraints, stale selections, pagination, and cancellation are consistent. Empty selections cannot broaden searches. Account/tenant authority changes invalidate results and catalogues even when the token/settings object does not change. - Updated owning EN/DE documentation and the shared page-layout guidelines; expanded automated ownership/action-placement guards. Corrected shared German Select all / Deselect all labels. Verification: - Production build, TypeScript, bundle budget, shared layout/primitives checks, 72/72 manifest checks, and strict inventory pass. - Browser conformance: full run passed 208/209. The sole failure expected the former English Deselect all label in a German campaign fixture; updated that assertion and the isolated rerun passed (1/1). Thus all 209 cases have passed across the full run plus targeted rerun. - Targeted Search, Files, and Mail backend, client, and structural checks pass, including real-client Files cache/pagination checks and new browser race tests. - The required workspace focused gate still fails on the existing unrelated institutional-governance journey test: tests/test_institutional_governance_journey.py:223, IndexError from an empty Portal service directory. No unrelated fix was included. Browser verification used isolated mocked fixtures. No live file or mail operations, sends, appends, imports, or workflow execution were performed. Existing user changes were preserved.
Author
Owner

Completed the specified usability pass in Core0.1.45 and coordinated module releases: consistent Reload/New placement and persistent workspace headers; full-width table cards and Risk Compliance spacing/typography; shared multi-select filters; help tags/area discovery with occurrence-specific selection; Workflow/Dataflow loading repair; and simplified Addressbook tree/actions. Owning EN/DE documentation and browser regressions are included. The complete unmodified focused gate passed, including63 production module combinations and213 browser cases. Its two existing Datasources PostgreSQL concurrency tests remain skipped because no test PostgreSQL URL was configured; no PostgreSQL concurrency coverage is claimed. Closing this defined pass, not claiming every interface inconsistency is resolved.

Publication evidence: Meta #51 records verified source tags, native packages and signed catalog Git publication. catalog-v0.1.45 is commit 03ac237949a1963189d1b7a4b3cc3397e60b10a1, annotated tag object 3d4735ea3028edfa47341e4f0b53650a4ae868d6, sequence 202609080236; exact stable.json SHA-256 00dd1fa8390b7823dc082eddaca0bd826f9fcee0c479f56cd82ea55f93bf3cc8.

This is not a live website deployment: a fresh public read still serves0.1.18/sequence202608061915. Website #9 owns authorized website rollout and its separate image-review gates. No application runtime distribution was published; Meta #52 remains held. No real mail/file/workflow operations or deployment were used to verify this closure.

<!-- govoplan-release-0.1.45-bounded-close:govoplan-core:295 --> Completed the specified usability pass in Core0.1.45 and coordinated module releases: consistent Reload/New placement and persistent workspace headers; full-width table cards and Risk Compliance spacing/typography; shared multi-select filters; help tags/area discovery with occurrence-specific selection; Workflow/Dataflow loading repair; and simplified Addressbook tree/actions. Owning EN/DE documentation and browser regressions are included. The complete unmodified focused gate passed, including63 production module combinations and213 browser cases. Its two existing Datasources PostgreSQL concurrency tests remain skipped because no test PostgreSQL URL was configured; no PostgreSQL concurrency coverage is claimed. Closing this defined pass, not claiming every interface inconsistency is resolved. Publication evidence: [Meta #51](https://git.add-ideas.de/GovOPlaN/govoplan/issues/51) records verified source tags, native packages and signed catalog Git publication. [catalog-v0.1.45](https://git.add-ideas.de/add-ideas/addideas-govoplan-website/src/tag/catalog-v0.1.45/public/catalogs/v1/channels/stable.json) is commit `03ac237949a1963189d1b7a4b3cc3397e60b10a1`, annotated tag object `3d4735ea3028edfa47341e4f0b53650a4ae868d6`, sequence `202609080236`; exact stable.json SHA-256 `00dd1fa8390b7823dc082eddaca0bd826f9fcee0c479f56cd82ea55f93bf3cc8`. This is not a live website deployment: a fresh public read still serves0.1.18/sequence202608061915. [Website #9](https://git.add-ideas.de/add-ideas/addideas-govoplan-website/issues/9) owns authorized website rollout and its separate image-review gates. No application runtime distribution was published; [Meta #52](https://git.add-ideas.de/GovOPlaN/govoplan/issues/52) remains held. No real mail/file/workflow operations or deployment were used to verify this closure.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-core#295