In Powersheet, the YAML file defining entity types and relationships is called the domain model (not “data model”). “Entity type” refers to domain model concepts; “work item type” refers to the underlying Polarion type.
Domain Model Basics
What is a domain model and why do I need one?
The domain model is a YAML configuration file that defines the semantic layer between Polarion’s native work item types and Powersheet’s sheet views. It maps Polarion types, link roles, and custom fields into structured entity types and relationships that Powersheet uses for querying, displaying, and editing data. Without a domain model, Powersheet cannot understand which work items to load or how they relate to each other. See the Data Model Reference for the complete property reference.Where do I manage domain models?
Domain models are managed through the Polarion administration interface at Administration > Nextedy POWERSHEET > Domain Models. You can create both global models (available to all projects) and project-specific models. Multiple models can coexist, and each sheet configuration references a specific model by name.What is the relationship between domain model, sources, and columns?
The three configuration layers are connected through navigation property names:- Domain model defines entity types and relationships (with
directandbacknavigation names) - Sources define how to query and expand those relationships (using the navigation names)
- Columns define how to display the resulting data (using dot-notation binding paths)
Entity Types and Properties
How do I define entity types in the domain model?
Entity types are defined in thedomainModelTypes section of the YAML file using map format only — each key is the entity type name, and the value contains its configuration. The polarionType property maps the entity type to a Polarion work item type.
How do entity type properties work?
Each entry underproperties defines a field exposed in the Powersheet sheet. Properties are listed as keys under the entity type. Key property attributes include:
| Attribute | Purpose | Default |
|---|---|---|
name | Client-facing property name | Required |
serverName | Polarion field name override | Same as name |
customFieldName | Polarion custom field ID | — |
readable | Can be read by users | true |
updatable | Can be modified by users | true |
scalar | Single value vs. collection | true |
enumValues | Valid enum option IDs | — |
serverName to alias Polarion field names to more user-friendly names, and customFieldName when a property maps to a Polarion custom field rather than a built-in field.
Relationships and Cardinality
What relationship cardinalities are supported?
Powersheet supports two relationship cardinality types in the domain model, plus the implicit reverse of many-to-one:| Cardinality | Direction | Navigation Property | UI Behavior |
|---|---|---|---|
many-to-one | direct | Scalar (e.g., chapter) | Single-value reference picker |
| One-to-many | back (reverse of N:1) | Collection (e.g., userNeeds) | Child rows (new sheet level) |
many-to-many | back | Collection via association (e.g., systemRequirements) | Multi-item reference picker |
relationships array of the domain model and map to Polarion link roles via the linkRole property. Each relationship specifies a direct and back navigation property name.
How do I configure a many-to-one relationship?
A many-to-one relationship links multiple entities to a single target. Use thedirect navigation property name in your source expand and column binding:
chapter for a reference picker or chapter.title for a read-only display of the referenced entity’s title.
How do many-to-many relationships differ from many-to-one?
Many-to-many relationships use an association entity between the two types. This requires a two-level expand in the source configuration and dot-notation in column bindings:systemRequirements) reaches the association entity; the second level (systemRequirement) reaches the actual target entity. See the Data Model Guides for walkthrough examples.
Configuration Tips
Should I start with a complex or simple domain model?
Always start with the simplest possible configuration and extend incrementally. Begin with a single entity type and one or two properties, verify it works in a sheet, then add relationships and additional entity types one at a time. Jumping directly to a complex multi-entity model leads to hard-to-diagnose configuration errors.How does Powersheet know which Polarion link role to use?
ThelinkRole property in a relationship definition specifies the Polarion link role used to persist the connection. This must match a link role defined in your Polarion project’s link role configuration. The storage property determines how the relationship is persisted — linkedWorkItems is the only supported storage mechanism, using Polarion’s native linking to persist connections.
How do picker constraints filter related entities?
Theconstraints section on an entity type restricts which items appear in picker dialogs. You can filter by document location, type, or component:
$context.source.document.component expression dynamically filters results based on the source entity’s document component, enforcing component-scoped relationships. See the Configuration FAQ for more on validation and constraints.
Sources
Sources
Support TicketsSource Code
DatabridgeConstants.javaDomainModelV2.javawhole_rtm.template.yaml