Skip to main content

Step 1: Locate the PowerSheet YAML Configuration

PowerSheet configurations are stored in .polarion/nextedy/sheet-configurations/ within your project’s SVN repository.
# Navigate to PowerSheet configurations
cd .polarion/nextedy/sheet-configurations/

# List available PowerSheets
ls -1 *.yaml
Each YAML file corresponds to a PowerSheet document. For example:
  • Whole RTM Sheet.yaml — full traceability matrix
  • System Verification Sheet.yaml — system requirement verification
  • Characteristics.yaml — component characteristics sheet

Step 2: Understand Column Group Structure

PowerSheets organize columns into column groups that represent different entity types in your RTM model. Each group corresponds to a section in the visual display: diagram
Use consistent color themes to help users visually distinguish entity types: blue for requirements, green for design artifacts, yellow for verification, red for risks.

Step 3: Edit Column Definitions

Open the target YAML file and modify the columns array within each columnGroup:
columnGroups:
  - label: "System Requirements"
    color: "#0d47a1"  # Dark blue
    collapseTo: "title"
    columns:
      - id: "id"
        caption: "ID"
        width: 80
        format: "bold"

      - id: "title"
        caption: "Requirement Title"
        width: 300
        format: "bold"
        sort: "asc"
        hasFocus: true

      - id: "status"
        caption: "Status"
        width: 100
        dataType: "enum"
        enumId: "requirement-status"

      - id: "asilInherited"
        caption: "ASIL"
        width: 80
        dataType: "enum"
        enumId: "hara-asil"
        cellDecoratorId: "asil-traffic-light"

Key Column Properties

PropertyPurposeExample
idWork item field ID"title", "customField.asilInherited"
captionColumn header text"Requirement Title"
widthColumn width in pixels300
formatText styling"bold"
sortInitial sort direction"asc", "desc"
hasFocusKeyboard navigation entry pointtrue
dataTypeField data type"enum", "text", "date"
enumIdEnumeration ID for dropdowns"hara-asil"
cellDecoratorIdVisual formatter (traffic lights, icons)"asil-traffic-light"

Step 4: Configure Relationship Expansions

For columns that display linked work items (e.g., “Design Requirements that refine this System Requirement”), use dotted path syntax:
columnGroups:
  - label: "Design Requirements"
    color: "#2e7d32"  # Dark green
    collapseTo: "refinedBy.designRequirement.title"
    columns:
      - id: "refinedBy.designRequirement.id"
        caption: "Design Req ID"
        width: 100
        format: "bold"

      - id: "refinedBy.designRequirement.title"
        caption: "Design Requirement"
        width: 300
        hasFocus: true

      - id: "refinedBy.designRequirement.scccClassification"
        caption: "SC/CC"
        width: 80
        dataType: "enum"
        enumId: "sc-cc-classification"
The syntax follows the RTM model expansion path defined in rtmModelQuery.expand:
rtmModelQuery:
  from: "SystemRequirement"
  expand:
    - name: "refinedBy"
      expand:
        - name: "designRequirement"
Column IDs must match the exact relationship names defined in your RTM domain model (.polarion/nextedy/models/*.yaml). Mismatched paths will cause columns to display empty or throw errors.

Step 5: Configure Column Group Collapse Behavior

The collapseTo property defines which column remains visible when users collapse a column group:
columnGroups:
  - label: "Verification Test Cases"
    color: "#f57c00"
    collapseTo: "verifiedBy.testCase.title"  # Show only test case title when collapsed
    columns:
      - id: "verifiedBy.testCase.id"
        caption: "Test ID"
        width: 100

      - id: "verifiedBy.testCase.title"
        caption: "Test Case"
        width: 300
        hasFocus: true

      - id: "verifiedBy.testCase.testResult"
        caption: "Result"
        width: 100
When collapsed, only the title column displays, reducing visual clutter while preserving key relationship information.

Step 6: Add Custom Renderers for Advanced Formatting

PowerSheet supports custom JavaScript renderers for specialized column display logic:
columns:
  - id: "customField.traceabilityStatus"
    caption: "Trace Status"
    width: 120
    renderer: "traceabilityStatusRenderer"
The renderer references a JavaScript module in .polarion/pages/spaces/<Space>/modules/:
// traceabilityStatusRenderer.js
function traceabilityStatusRenderer(value, item) {
  if (item.linkedWorkItems && item.linkedWorkItems.length > 0) {
    return '<span style="color:green;">✓ Linked</span>';
  } else {
    return '<span style="color:red;">⚠ Missing Links</span>';
  }
}
Store commonly used renderers in the Solution Template space and reference them from multiple PowerSheets to maintain consistency.

Step 7: Reload the PowerSheet

After saving changes to the YAML file:
  1. Commit your changes via SVN
  2. Navigate to the PowerSheet document in Polarion
  3. Refresh the page (🔄 or Ctrl+R)
The PowerSheet engine reads the YAML configuration at page load time—no server restart required.

Verification

You should now see:
  • Modified column headers, widths, and ordering in the PowerSheet grid
  • Updated color-coded column groups reflecting your new structure
  • Properly expanded relationship columns displaying linked work item data
  • Collapsed column groups showing only the collapseTo column when minimized

Common Pitfalls

PowerSheet YAML parsing is strict. Use exactly 2 spaces per indentation level. Tabs or inconsistent spacing will cause the entire configuration to fail silently, displaying an empty grid.
Custom fields must be prefixed with customField. in column IDs (e.g., customField.asilInherited). Standard fields like id, title, status do not use this prefix. Mixing conventions causes columns to render blank.
If you modify the RTM domain model (.polarion/nextedy/models/*.yaml) by renaming relationships, you must update all PowerSheet column IDs that reference those paths. Use global search to find affected YAML files.

See Also