Dimensions and dashboards
A Dimension is the dashboard-facing result a Session publishes. It is what a user opens in the HEAT dashboard at /sessions/<dimensionId>.
A dimension carries a name, a dashboard version, a Layout, a data payload and the list of users who may see it. One session can publish several dimensions, for example one per trainee or one per exercise phase. The Users pages call a dimension a session dashboard, because that is what the reader sees.
A dimension is not the session itself. The session is the processing run. The dimension is one published view of its results, and a session with no dashboard node publishes none.
What a dimension carries
| Field | Meaning |
|---|---|
| Name | The title shown in the session list and at the top of the dashboard page. |
| Dashboard version | Next for the current dashboard generation or Legacy for older templates. The dashboard picks its renderer from this value. |
| Layout | The JSON that says which widgets appear, in which rows, bound to which channels. |
| Data payload | For Next, the data service payload: channels grouped by Realm. For Legacy, fixed per-widget JSON. |
| Dimension users | The people attached to this dimension, each with an external user id, a role and a group. Trainee visibility depends on this list. |
| Scenario instance | Optional. A name plus from and to timestamps for the recorded period. The dashboard header shows the date, start time and duration from it. |
The layout and the payload are stored beside each other, not inside each other. The same layout can serve many sessions, and the same payload can be drawn by more than one layout.
Next and Legacy dashboards
Next is the current generation. A Next dimension binds widgets to channels through the data service payload and a v2 layout. Legacy is kept for existing templates whose dashboard node still emits fixed JSON shapes per widget.
When a user opens /sessions/<dimensionId>, the dashboard reads the dimension’s dashboard version first. It then loads either the Next page or the Legacy page. Missing, null or zero values mean Legacy.
New work belongs on Next. See Next dashboard components and Legacy dashboard components.
Who can see a dimension
Visibility follows the reader’s HEAT Auth role.
| Role | Dimensions listed |
|---|---|
| Administrator, Instructor, Developer | Every dimension in the environment. |
| Trainee | Only dimensions where the trainee is a dimension user. |
The session list also filters by scenario instance dates. A dimension with no scenario window is always listed, which is how system dashboards appear for the roles that may see them.
Which node templates publish a dimension
A dimension is created by an aggregation node at the end of a session template. These node templates publish one.
| Node template | Runner | Dashboard version |
|---|---|---|
dashboard-v2 | dashboard-tools (container image dashboard-utils) | Next |
dashboard | dashboard-tools | Legacy |
heat-system-next-dimension | system-utils, the platform’s built-in runner | Next |
heat-system-legacy-dimension | system-utils | Legacy |
Use dashboard-v2 for dashboards you own. The two heat-system-* templates are reserved for session templates that HEAT ships.
A dimension points at one node output of the dashboard node. The platform’s heat-system-* templates create the dimension on the first run and update it when the node is reprocessed.
Related
- How HEAT works
- Sessions
- Node instances and outputs
- Layout and Data service payload
- Reading a session dashboard
- HEAT v2 API