Skip to content
Updated Sep 26, 2026 by Barča Dvořáková · Owner: analysisactiveentityconfluence-migration Edit on GitHub

Entity: dashboardBlock ​

Entity Type: Database table

Description: A dashboardBlock (tile) represents a single pinned panel on a user's dashboard — what was pinned (type + config) and where it sits on the grid (position). Created via the universal pin action available on panels throughout the application; see Dashboard Management for the pin flow and the type-to-schema validation mechanism.

Data Attributes Table ​

Attribute NameDescriptionData TypeDefault ValueRequired (= Nullable)UniqueFormatValidationsIndexExample
idUnique identifier for the dashboard block (tile) record.UUIDGenerated in code (app layer)YesYesUUID v7Must be a valid UUID v7.Primary Key01960000-0000-7000-8000-000000000201
tenantIdTenant this dashboard block belongs to. Required on every entity — primary mechanism for data isolation across organisations.UUID-YesNoUUID v7Foreign Key → tenant.idname: idx_dashboardBlock_tenantId, type: btree01960000-0000-7000-8000-000000000099
dashboardLayoutIdThe dashboard layout this tile belongs to.UUID-YesNoUUID v7Foreign Key → dashboardLayout.idname: idx_dashboardBlock_dashboardLayoutId, type: btree01960000-0000-7000-8000-000000000101
typeIdentifies which tile renderer draws this block and which schema its config must satisfy. Extensible — new values are added as new panels gain a pin action; not a fixed enum.String-YesNoType-to-schema registry — see Dashboard Management, Tile type registry and validation.Must match a registered tile type.name: idx_dashboardBlock_type, type: btreeplaceholderChart
positionXHorizontal grid position of the tile's top-left corner.Integer-YesNoGrid unitsNon-negative integer.-0
positionYVertical grid position of the tile's top-left corner.Integer-YesNoGrid unitsNon-negative integer.-2
widthWidth of the tile in grid units.IntegerTile type's default widthYesNoGrid unitsPositive integer; resizing preserves the tile type's fixed aspect ratio (height is derived).-4
heightHeight of the tile in grid units.IntegerTile type's default heightYesNoGrid unitsPositive integer; derived from width and the tile type's fixed aspect ratio.-3
configConfiguration captured at pin time describing what the tile shows (not a data snapshot — the tile always renders live data from this config). Shape depends on type.JSON{}YesNoType-dependent — see Dashboard Management, Tile type registry and validation.Validated on write against the required-key schema registered for type. In this iteration, only presence of required keys is checked.-{"title": "Building A — electricity"}
createdAtTimestamp of entity creation (pin time). Immutable.Timestamp with time zoneSet in codeYesNoISO 8601--2026-07-24T10:05:00Z
updatedAtTimestamp of last entity update (e.g. moved or resized).Timestamp with time zoneSet in codeYesNoISO 8601--2026-07-24T10:05:00Z
deletedAtTimestamp of soft delete — set when the tile is unpinned/removed. Records with deletedAt IS NULL are considered active.Timestamp with time zonenullNoNoISO 8601--null
createdByIdentifier of the actor who created this record.String-YesNotype:actor--user:01960000-0000-7000-8000-000000000050
updatedByIdentifier of the actor who last updated this record.String-YesNotype:actor--user:01960000-0000-7000-8000-000000000050

Note. config's internal shape is not documented on the source page — it is validated only for presence of required keys against a registry described in the Dashboard Management feature, and is extensible per type. No JSON-DAT sibling file is created for it since no concrete shape is specified to document.

Audited fields ​

Recorded on created (in full), updated (changed only) and deleted (in full): dashboardLayoutId, type, positionX, positionY, width, height, config.

Excluded: none.

Every entry would carry subjectEntityType = dashboardLayout / subjectEntityId = dashboardLayoutId — a tile has no independent identity outside the dashboard it's pinned to.

Not registered for entityName resolution — identified by its position within a dashboardLayoutId, not a name a person would type.