Workspace

Supporting domain for persistent workspace configuration. Manages workspaces containing dashboards, saved queries, and workspace preferences, plus user-scoped preferences.

Domain

Overview

The Workspace bounded context provides a two-tier configuration hierarchy: Workspace aggregates serve as containers for dashboards, saved queries, and workspace-scoped preferences, while UserPreferences stores user-scoped settings that apply across all workspaces.

Strategic Classification

Supporting Domain: Enhances user experience by providing persistent workspace and user state.

Key Aggregates

  • Workspace: Primary aggregate root containing dashboards, queries, and workspace preferences
  • Dashboard: Layout configuration with chart placements and tabs (contained by Workspace)
  • SavedQuery: Named, reusable SQL queries with dataset references (contained by Workspace)
  • WorkspacePreferences: Workspace-scoped settings like default catalog and layout defaults
  • UserPreferences: User-scoped settings (theme, locale, UI state) applied across workspaces

Containment Hierarchy

Workspace (aggregate root)
├── Dashboard (child aggregate)
├── SavedQuery (child aggregate)
└── WorkspacePreferences (child aggregate)
UserPreferences (separate aggregate, user-scoped)

Integration Points

  • Upstream: Consumes ChartDefinition references from Analytics
  • Upstream: Consumes UserId from Session via Shared Kernel

Zenoh Channel

Events published to: events/workspace/**