The map key becomes the entity type name automatically. When the domain model is loaded, Powersheet copies each map key into the corresponding type object so the name is consistently available regardless of how the type is accessed.
domainModelTypes must be a YAML map. Array format is not supported.
Entity type names must be single words without spaces or special characters. Relationship from and to fields reference these entity type names — not Polarion work item type IDs. Using an invalid name causes configuration errors.
PascalCase (e.g., UserNeed, SystemRequirement) is a common convention for entity type names, but it is not a requirement. Names are case-sensitive.
The entity type name is the primary identifier used throughout the domain model. It is set automatically from the YAML map key and does not need to be specified separately.
domainModelTypes: UserNeed: # name = "UserNeed" polarionType: user_need SystemRequirement: # name = "SystemRequirement" polarionType: sys_req
Entity type names are used in:
relationships[].from and relationships[].to to reference participating types
Sheet source query.from to identify the root entity type
Expansion paths to navigate between related entities
Maps the domain model entity to one or more Polarion work item types. This property is critical for Powersheet’s integration with Polarion — it determines which work items this entity type can represent.Single type mapping:
SystemRequirement: polarionType: sys_req
Multiple type mapping:
Requirement: polarionType: - sys_req - des_req
When multiple types are specified, the entity type matches work items of any of the listed Polarion types. This enables a single entity type to aggregate work items across multiple Polarion types. See Polarion Type Mapping for details on type resolution.
Specifies the Polarion prototype (object type) this entity maps to. Most entity types use the default work item prototype and do not need to set this property.
Setting readable: false hides the property entirely from the metadata system. Setting updatable: false makes the property read-only in the sheet while still allowing it to be displayed. See Permissions for additional access control options.
Defines data scoping rules at three lifecycle points. Constraints control which work items are loaded, which can be selected in pickers, and how new entities are created. See Constraints for full reference.
Filters which entities are fetched during initial data loading. Applies a Lucene query scope.
create
Configures defaults for newly created entities: document location, project routing, default field values, and type/relation constraints.
pick
Restricts which entities appear in picker dialogs when creating or editing relationships.
The load constraint affects what data is visible in the sheet. The pick constraint independently controls what items appear in reference pickers. The create constraint controls the full creation workflow including where new items are placed and what defaults they receive.
Powersheet provides the Document entity type without explicit declaration. All other entity types, including Chapter, must be declared in the domainModelTypes map.
Entity Type
Requires Declaration
Description
Document
No
Represents Polarion documents (LiveDoc modules). Exposes module properties like moduleName, title, and allowedWITypes. Not a work item type.
Project
No
Represents the Polarion project. Linked to all work item entities via projectObjectId.
Chapter
Yes
Represents heading work items in document structures. Must be explicitly declared with polarionType: heading.
The Document entity type is not a work item. It provides navigation access to the containing document’s properties for filtering and constraints. It uses a different Polarion prototype than standard entity types.
Powersheet provides several methods for accessing entity type definitions at runtime:
Method
Return Type
Description
getDomainModelTypes()
Collection
Returns all entity type definitions. Ensures type names are mapped before returning.
getDomainModelTypesMap()
Map
Returns entity types keyed by name for lookup access.
getDomainModelType(name)
Optional
Retrieves a specific entity type by name. Returns empty if the type does not exist.
getProperty(name)
Property
Retrieves a specific property definition from an entity type. Returns null if the property does not exist.
addProperty(name, property)
void
Programmatically adds a property definition to an entity type. Validates that the property name is not null or empty.
Programmatic access is primarily used in server-side extensions and custom Velocity templates. Standard sheet configuration uses the YAML declaration approach.