Dashboard Architecture
Dashboards are OneStream's presentation layer — the UI that end users interact with daily. Before building your first dashboard, you need to understand how the platform organizes dashboard objects. This guide covers the structural hierarchy from Workspaces down to individual components, the layout system, and how dashboards reach end users through Profiles.
Object Hierarchy
Every dashboard object lives within a structured hierarchy. Understanding this hierarchy is essential because it determines how objects are shared, secured, and organized.
Maintenance Units
A Maintenance Unit is the primary container for dashboard objects. It holds Parameters, Data Adapters, Components, Files, and Strings — and these objects are shared across all Dashboard Groups within the same Maintenance Unit.
Key characteristics:
- Shared objects — A Parameter or Data Adapter defined in a Maintenance Unit is available to every dashboard in every Dashboard Group within that unit. You do not need to duplicate objects across groups.
- Security boundary — Maintenance Units have their own AccessGroup and MaintenanceGroup properties. Objects inside inherit these security settings.
- Sizing guidance — Use multiple Maintenance Units to keep each one a manageable size. This makes it easier to organize objects and control access.
Dashboard Groups
Dashboard Groups are logical containers that organize dashboards within a Maintenance Unit. Their primary purpose is to group related dashboards together so they can be assigned to Profiles as a unit.
- Each Dashboard Group has an AccessGroup property controlling who can see the dashboards in that group
- A single Maintenance Unit can contain multiple Dashboard Groups
- Keep groups small and focused — this gives you flexibility when assigning groups to different Profiles
Dashboard Profiles
Dashboard Profiles are how dashboards reach end users. A Profile is assigned one or more Dashboard Groups, and users see the dashboards from the groups in their assigned Profiles.
Profile Security
Each Profile has two security properties:
| Property | Purpose |
|---|---|
| AccessGroup | Users must belong to this group to see the Profile and its dashboards |
| MaintenanceGroup | Users must belong to this group to modify the Profile's settings and group assignments |
Profile Visibility
When assigning a Dashboard Group to a Profile, you set a Visibility option that controls where the dashboards appear:
| Visibility | Behavior |
|---|---|
| Never | Dashboard Group is not visible in this Profile (useful for expired or retired dashboards) |
| Always | Dashboard Group is available in both OnePlace and Workflow |
| OnePlace | Dashboard Group is visible in the Dashboards section under the OnePlace tab only |
| Workflow | Dashboard Group is available when attached to a Workflow Profile via Integration and Data Quality Settings |
Dashboard Types
Each dashboard within a group has a Type property that determines how it behaves. The type controls whether a dashboard is visible to users directly, whether it is embedded inside another dashboard, and whether it supports dynamic template parameters.
| Type | Description |
|---|---|
| TopLevel | Visible to users in OnePlace and Workflows. This is the standard dashboard type that users interact with directly. |
| TopLevelWithoutParameterPrompts | Same as TopLevel but skips runtime parameter prompts. Provides a slight performance improvement when the dashboard does not require user input. |
| Embedded | Not visible in OnePlace — used as a child dashboard embedded inside another dashboard. Dependent on parent dashboard objects. |
| EmbeddedDynamic | An embedded dashboard whose properties, components, adapters, and parameters can be dynamically modified at runtime via template parameters. |
| EmbeddedDynamicRepeater | An embedded dashboard that produces multiple instances of the same component with varying template parameter values. Used for repeating layouts like monthly comparisons. |
| EmbeddedTopLevel | An embedded dashboard with its own parameter resolution and rendering stages. Supports LoadDashboard server tasks even when embedded. |
Embedded Dashboard Nesting
Embedded dashboards allow you to compose complex layouts from reusable pieces. A TopLevel dashboard can embed one or more child dashboards, and those children can embed further children.
Parameters defined at the Maintenance Unit level are shared across the parent and all embedded dashboards. This means a ComboBox in an embedded filter dashboard can write to a parameter that a CubeView in a separate embedded content dashboard reads — enabling clean separation of filter controls from data display.
Layout Types
Every dashboard has a LayoutType property that determines how its child components are arranged. The layout type controls the spatial organization of components within the dashboard canvas.
| Layout Type | Description |
|---|---|
| Grid | Components are placed in rows and columns with explicit row/column assignments. Most common layout for structured reports. |
| Dock | Components dock to edges (Top, Bottom, Left, Right) or fill the remaining space. Good for toolbars and panels. |
| Tabs | Components are organized into tabbed views — only one tab is visible at a time. |
| VerticalStackPanel | Components stack vertically from top to bottom in order. Simple linear layouts. |
| HorizontalStackPanel | Components stack horizontally from left to right in order. |
| Uniform | All components are sized equally in a uniform grid. |
| Canvas | Components are positioned using absolute X/Y coordinates. Full control over placement. |
| Wrap | Components flow left-to-right and wrap to the next line when the row is full. |
Related Content
- What is OneStream — The Seven Engines overview, including the Presentation engine that powers dashboards
- The OneStream Data Model — Workspace architecture and how cubes provide the data that dashboards display
- Parameters and Syntax — Parameter types and the syntax used to reference parameters in dashboard components
- Workflow Security — How AccessGroup, WorkflowExecutionGroup, and other security groups control workflow access