File Overview
Top-Level Structure
| Property | Type | Default | Description |
|---|---|---|---|
domainModelTypes | object | (required) | Root container defining all entity types. Each key is an entity type name. |
relationships | array | [] | Array of relationship definitions between entity types. |
domainModelTypes
Each key underdomainModelTypes defines an entity type:
Entity Type Properties
| Property | Type | Default | Description |
|---|---|---|---|
polarionType | string | Entity type name (lowercase first letter) | Maps the entity type to a Polarion work item type. Override when the names differ. |
properties | object | {} | Set of properties (fields) available for this entity type. Keys are property names; null values indicate the property exists without constraints. |
constraints | object | See application | Validation rules and filtering constraints for picker dialogs and relationships. |
Built-in Properties
All entity types automatically receive these properties:| Property | Type | Description |
|---|---|---|
objectId | string | Unique identifier (primary key) |
id | string | Polarion work item ID |
title | string | Work item title |
projectId | string | Foreign key to the containing project |
Built-in Entity Types
| Entity Type | Description |
|---|---|
Document | Represents Polarion LiveDoc modules. Automatically available in all domain models. |
Project | Represents Polarion projects. Automatically linked to all work item entity types. |
constraints
Constraints define picker dialog filtering and validation rules.| Property | Type | Default | Description |
|---|---|---|---|
pick | object | See application | Constraints for picker dialogs when selecting entities |
pick.document | object | See application | Document-level constraints for picker filtering |
pick.document.moduleFolder | string | See application | Filters picker results to items in a specific module folder |
pick.document.moduleName | string | See application | Filters picker results to items in a specific module by exact name |
pick.document.type | string | See application | Filters picker results to documents of a specific document type |
pick.document.component | string | See application | Filters by document component. Supports $context.source.document.component for dynamic filtering |
Dynamic Context References
The$context.source.document.component syntax dynamically resolves to the component property of the source entity’s document at runtime, enforcing component-scoped relationships.
relationships
Each relationship entry defines a navigable link between two entity types:Relationship Properties
| Property | Type | Default | Description |
|---|---|---|---|
from | string | (required) | Source entity type. Must match a key in domainModelTypes. |
to | string | (required) | Target entity type. Must match a key in domainModelTypes. |
cardinality | string | (required) | Multiplicity: one-to-one, many-to-one, one-to-many, or many-to-many. See Cardinality. |
storage | string | (required) | Persistence mechanism: linkedWorkItems (Polarion link) or customField. See Storage. |
linkRole | string | (required) | Polarion link role used to store the relationship. Must match a defined link role. See Link Roles. |
direct | object | (required) | Forward navigation property on the source entity type. |
direct.name | string | (required) | Property name used in binding paths, queries, and the UI. |
back | object | See application | Reverse navigation property on the target entity type. |
back.name | string | See application | Property name for backward traversal in binding paths. |
Polarion Type Mapping
When the domain model entity type name matches the Polarion work item type ID (with lowercase first letter),polarionType is optional:
| Entity Type | Derived Polarion Type | Override Needed? |
|---|---|---|
Requirement | requirement | No |
UserNeed | userNeed | Only if Polarion type differs |
Hazard | hazard | Only if Polarion type differs |
Model Helper
Powersheet provides a Model Helper widget for visualizing the domain model structure and determining correct binding paths. Configure it as a LiveReport page with parameters:| Parameter | Description |
|---|---|
model | Model name to investigate |
projectId | Project ID where the model is used |
startEntity | Main entity type (starting point for expansion) |
depth | Number of levels to expand |
Complete YAML Example
Related Pages
- Sheet Configuration YAML Structure — sheet configuration file reference
- Domain Model Types — detailed entity type reference
- Relationships — relationship definition reference
- Properties — property definition reference
- Constraints — constraint configuration reference
- Example Models — complete working model examples
Source: Model Helper KB article, Core Concepts KB article, model.yaml configuration, metadata generation features
Sources
Sources
KB ArticlesSource Code
prod-powersheet-src/com.nextedy.powersheet.client/src/modules/Powersheet/Powersheet.tsxQueryExecutorTest.javaprod-powersheet-src/com.nextedy.editor/src/types.d.tsMetadataTest.javaprod-powersheet-src/com.nextedy.powersheet/src/com/nextedy/powersheet/enumProvider/SheetConfigEnumProvider.java