Overview#
A dispatch supervisor opens her morning shift briefing and finds the same map widget, active-unit counter, and pending-call queue she configured three months ago, exactly where she left them, resized to fit her second monitor. A platform engineer rolls out an updated version of the map widget with new layer controls, and her layout is unaffected because the compatibility system ensured backward-compatible changes. That stable, governed, role-appropriate workspace is what the Widgets domain makes possible.
The domain provides the lifecycle and runtime model for reusable dashboard elements across the platform. It covers widget definition, metadata, layout participation, configuration governance, publishing controls, and compatibility management so teams can build and maintain coherent operational workspaces.
The domain is the backbone behind widget management and dashboard composition. It is not limited to marketplace-style discovery.
Key Features#
-
Widget Definition Model: Represent charts, tables, maps, cards, timelines, alerts, search panels, and specialist operational modules through a shared widget model.
-
Metadata and Configuration Governance: Manage titles, descriptions, types, settings, and compatibility data needed to place widgets safely into live workspaces.
-
Layout Participation: Support responsive placement, resizing, persistence, and dashboard-level composition across multiple workspace types.
-
Catalogue and Publishing Controls: Maintain available widget inventory and govern how widgets are exposed to users, tenants, and solution builders.
-
Version and Compatibility Management: Track changes over time so widget updates do not break established dashboard layouts.
-
Data and Action Binding: Connect widgets to live data, filters, workflow actions, and shared dashboard state.
-
Assisted Configuration: Apply guided metadata and text-entry workflows where clearer naming and descriptions improve operational quality.
Mermaid Diagram#
Use Cases#
-
Public Safety Operations: Assemble reusable widgets into mission, analyst, dispatch, executive, and specialist workbenches tailored to each role's daily tasks.
-
Platform Engineering: Keep the active widget catalogue clean, consistent, and understandable for platform teams and solution builders deploying to multiple tenants.
-
Critical Infrastructure: Update widget capabilities without disrupting live dashboard layouts used by operators monitoring real-time infrastructure health.
-
Multi-Tenant Deployments: Reuse the same widget definitions across multiple dashboards with different role-based layouts and settings, reducing duplication and maintenance overhead.
Integration#
- Widget Management workspace and dashboard composition flows.
- Shared dashboard shell and layout-persistence services.
- Data-source, analytics, search, and alerting systems.
- Publishing, permissions, and compatibility governance controls.
Open Standards#
- GraphQL (June 2018 Specification): all widget lifecycle, catalogue, and hub operations are exposed through a GraphQL API built with Strawberry, covering queries, mutations, and typed enumerations for every widget entity.
- JSON Schema (draft-07 / 2020-12): widget definitions carry a
schema_definitionfield and schema templates carry aschema_templatefield that conform to the JSON Schema vocabulary (type, properties, required, format), used to describe and validate widget configurations at runtime. - Semantic Versioning 2.0.0 (SemVer): widget definitions, hub entries, and migration records all carry a MAJOR.MINOR.PATCH version string, and the version migration subsystem explicitly tracks breaking-change and rollback transitions between SemVer-formatted versions.
- JSON (RFC 8259): configuration payloads, position data, layout state, and all structured metadata are stored and exchanged as JSON, with PostgreSQL JSONB columns used for efficient querying and persistence.
- OAuth 2.0 (RFC 6749) / Bearer Token (RFC 6750): all GraphQL queries and mutations are protected by an
IsAuthenticatedpermission guard that validates OAuth 2.0 Bearer tokens, and the integration playground issues short-lived auth tokens following the same Bearer pattern. - ISO 8601: every timestamp across widget models, scan records, session events, and filing lifecycle fields is serialised via
.isoformat(), producing RFC 3339-compatible ISO 8601 datetime strings for interoperable date handling. - Role-Based Access Control (NIST RBAC model, INCITS 359-2004): widget access, publication, governance approval, and capability delegation are governed through an organisation-scoped, role-enforced RBAC model where permissions are declared on each widget definition and enforced at query time.
Last Reviewed: 2026-03-25 Last Updated: 2026-04-14