2.2 KiB
Reporting Interface Pattern Migration
Reporting is a list-detail analytical workspace. It owns report semantics, policy-aware result shaping, drill-through presentation, rendering, and publication. Dataflow owns generic validation, typed expressions, schema propagation, SQL compilation, and execution; Datasources and provider modules own source access.
| Surface | Task and archetype | Consequence and state contract |
|---|---|---|
/reports |
Report catalogue and list-detail workspace | The catalogue keeps selected report context while parameters, results, history, and provenance change. /reporting is a compatibility route only. |
| Semantic report controls | Parameterized analytical query | Dimensions, measures, parameters, and pivot shape become a validated Dataflow-backed plan. Reporting does not execute unchecked presentation SQL. |
| Provider report controls | Governed cross-module report | Purpose, audience, permission, availability, privacy transforms, source revisions, and retention remain visible. A blocked Run action stays present with a keyboard-focusable reason. |
| Results, history, and export | Monitoring/reporting evidence | Loading, empty, failed, truncated, successful, historical, and provider-partial states remain distinguishable. Tables are the accessible fallback for visual results. |
| Save and schedule dialogs | Create/edit and asynchronous setup | Core dialogs retain focus and stable actions. Scheduling records a durable report definition/revision and does not imply immediate publication. |
Run, schedule, export, and publication are consequential actions. Backend permissions remain authoritative; the WebUI mirrors them and explains disabled actions without exposing protected rows. Optional Dataflow, Policy, Files, Mail, Templates, Search, and Notifications integrations are capability-based. The full-height three-region workspace collapses at narrow widths while keeping the catalogue, result, and inspector in task order.
Verification:
npm run test:interface-pattern- Reporting service, provider-report, migration, manifest, and module-permutation tests
- the Core TypeScript graph, structural localization audit, theme check, module permutations, and full-product bundle budget