Two Configuration Systems
Work item visibility and organization are controlled by two separate but interconnected configuration sections:Data Types: What Work Items Are Shown
ThedataTypes section defines:
- Risk items: The primary work item type(s) displayed in the grid (typically “risk” or “requirement”)
- Task items: The downstream/mitigation work item type(s) linked to risks (typically “task” or “issue”)
- Link roles: How tasks connect to risks (e.g., “mitigates” role)
dataTypes.risk.type as "risk" and dataTypes.task.type as "task,issue" with role set to "mitigates" means:
- Only work items of type “risk” will appear as risk rows
- Work items of type “task” or “issue” linked via the “mitigates” role will appear as downstream items
- Any other work item types in the document are invisible to RISKSHEET
Levels: How Risk Items Are Grouped
Thelevels configuration controls visual organization through merging behavior, not parent-child relationships. This is the most misunderstood aspect of RISKSHEET.
For example, a two-level configuration with Level 1 using controlColumn: "failureMode" and Level 2 using controlColumn: "systemItemId" works as follows:
- Level 1 columns (associated with “Failure Mode”) merge rows where the
failureModecolumn has the same value - Level 2 columns (associated with “Cause”) merge rows based on
systemItemId(the work item ID), which effectively means no merging since every work item has a unique ID - All risk items are stored as the same Polarion work item type—levels don’t create separate types
| Column | Level 1 (Merged) | Level 2 (Not Merged) |
|---|---|---|
| Failure Mode | Brake failure | — |
| Cause | — | Worn pads |
| Severity | — | 9 |
| RPN | — | 180 |
| (merged cell spans 3 rows) | Low fluid / 9 / 162 | |
| Air in line / 9 / 144 |
controlColumn groups rows by the failureMode field.
Common Misconceptions
Misconception 1: Levels Create Parent-Child Relationships
Reality: Levels control visual merging only. All risk items at all levels are peers in Polarion’s data model—they’re the same work item type with different field values. In the example above:- “Brake failure” is not a parent work item containing “Worn pads”, “Low fluid”, and “Air in line” as children
- Instead, three separate risk items happen to share the same “Brake failure” value in their
failureModefield - The merged cell is a UI convenience that reduces visual redundancy
Misconception 2: Last Level +1 Represents Child Items
Partially correct: The “Last Level +1” columns (typically Level 3) do represent actual child work items—but they’re linked via Polarion link roles (e.g., “mitigates”), not through hierarchical containment. Structure:- Levels 1 through N: Different visual groupings of the same risk work items
- Level N+1: Linked task/mitigation work items (different work item type, actual parent-child links)
Misconception 3: Changing Level Configurations Changes Work Item Types
Reality: ChangingcontrolColumn or adding/removing levels only affects how existing work items are displayed. It does not:
- Create new work item types in Polarion
- Move work items between types
- Alter link relationships
- Change stored data
Level Configuration Properties
controlColumn
Defines which column’s value determines merging behavior:- Field-based merging (e.g.,
"controlColumn": "failureMode"): Rows with identical values in this column are visually grouped, and Level 1 cells merge - ID-based merging (e.g.,
"controlColumn": "systemItemId"): Since every work item has a unique ID, this effectively disables merging for that level
zoomColumn
Specifies which column receives focus when a new item is created at this level:- When a user clicks ”+ Failure Mode” in the toolbar, the new row is created with the cursor in the
failureModecolumn (ifzoomColumnis set to"failureMode") - This guides users to immediately fill in the defining characteristic of that level
name
Controls the label shown in the toolbar for creating new items at this level. Settingname to "Failure Mode" produces a toolbar button labeled ”+ Failure Mode”.
showInMenu
Controls visibility of the creation button. SettingshowInMenu to false hides the ”+ [name]” button for this level. Useful when you want visual grouping but don’t want users creating items at that abstraction level.
Filtering and Scope
By default, RISKSHEET shows all work items in the associated Polarion document that match the configured types. You can further restrict visibility using:Document Scoping
Thedocument property on dataTypes.risk filters work items to specific LiveDoc folder paths. For example, setting document to "Risks/Safety" limits the view to risk items located under that folder. This is useful for:
- Multi-document FMEA setups where different RISKSHEETs cover different subsystems
- Reuse templates that need to scope work items to specific document hierarchies
- Projects with shared work item types across multiple domains
Rejected Status Filtering
Work items with statuses matchingrejectedStatus are automatically hidden. Setting rejectedStatus to "rejected,closed-invalid" on dataTypes.risk implements soft-delete behavior — changing a risk’s status to “rejected” removes it from the RISKSHEET without deleting the underlying Polarion work item.
Permission-Based Filtering
RISKSHEET respects Polarion’s security model. Work items the current user lacks read permission for are automatically excluded, ensuring users only see data they’re authorized to view. See User Roles and Permissions for details on permission enforcement.Upstream and Indirect Relationships
RISKSHEET can display work items connected through multi-level relationships using custom data rendering: By default, RISKSHEET shows:- The risk item (primary row)
- Direct downstream links (tasks linked to the risk)
- Item link columns: Configure columns that traverse link roles upward
- Custom renderers: Write JavaScript to query and display items multiple hops away
Practical Decision Matrix
| Goal | Configuration Approach |
|---|---|
| Show only “risk” type work items | Set dataTypes.risk.type = "risk" |
| Allow both “task” and “issue” as mitigations | Set dataTypes.task.type = "task,issue" |
| Group risks by failure mode | Set Level 1 controlColumn = "failureMode" |
| Prevent merging at a level | Set controlColumn = "systemItemId" |
| Hide ”+ [Level Name]” button | Set showInMenu = false |
| Limit risks to specific document folder | Set dataTypes.risk.document = "Risks/Folder" |
| Hide rejected risks | Set dataTypes.risk.rejectedStatus = "rejected" |
| Show upstream requirements | Add item link column with upstream link role |
Visual Element Reference
| Aspect | Level 1 Columns | Level 2 Columns | Level 3 (Tasks) |
|---|---|---|---|
| Merge behavior | Merged by controlColumn | Not merged (systemItemId) | Linked items |
| Example columns | Failure Mode, Severity | Cause, Occurrence | Task, Status |
| Work item type | Same risk type | Same risk type | Different type (linked via role) |
| Example data | Power loss, 9 | Battery fail/7, Wiring issue/5, Fuse blown/3 | T-1 Open, T-2 Open |
Related Concepts
- Data Model and Work Items explains how Polarion work items map to RISKSHEET rows
- Traceability and Linking covers link roles and upstream/downstream relationships
- User Roles and Permissions explains permission-based filtering
- Configuration System describes where levels and dataTypes are configured
Sources
Sources
KB Articles
- What Work Items are visible on the Risksheet and understanding levels
- Multiple Downstream Work Item Types
RiskSheetContextMenu.tsRisksheetDataStorage.javaStatusComboBox.tsResultFilter.javaAppConfig.ts