Configuration Overview
The Plans widget parameters control how risk data is displayed, filtered, and interacted with in plan-based views. Configuration is specified in the risksheet.json file under the widget parameters section.
Plans widget parameters apply only to page instances where the Plans widget is configured. Document-level configuration in the dataTypes, columns, and levels sections applies to all widgets on that page.
widgets :
plansWidget :
planLevels :
- name : "Release"
type : "release"
field : "targetRelease"
riskLevelColumn : "severity"
groupBy : "planLevel"
filterByPlan : true
expandedPlans : []
showEmptyPlans : false
Parameter Name Type Default Description planLevelsarray []Array of plan level definitions. Each level corresponds to a planning hierarchy (release, sprint, phase). See Plan Levels section below. groupBystring "planLevel"How to organize risk items in the widget. Options: "planLevel" (group by plan), "riskType" (group by risk type), "status" (group by work item status). riskLevelColumnstring "severity"Column ID to use for risk level visualization. Typically points to a risk rating column like severity or FMEA criticality. filterByPlanboolean trueEnable filtering of risks by selected plan. When enabled, users can click a plan to view only its associated risks. expandedPlansarray []List of plan IDs that should be expanded by default when the widget loads. showEmptyPlansboolean falseControls whether plans with no associated risks are displayed in the widget. sortBystring "planHierarchy"Sort order for plans. Options: "planHierarchy" (tree order), "name" (alphabetical), "dueDate" (by plan due date). maxDepthnumber 3Maximum nesting depth for plan hierarchies. Plans deeper than this level are collapsed or hidden.
Plan Level Definition
Each entry in the planLevels array defines a planning dimension:
Parameter Name Type Default Description namestring (required) Display name for this plan level (e.g., “Release”, “Sprint”, “Milestone”). typestring (required) Plan type identifier. Must match Polarion work item types or custom plan identifiers (e.g., “release”, “sprint”, “phase”). fieldstring (required) Polarion field name or RISKSHEET column ID that contains the plan reference. Examples: "targetRelease", "plannedSprint", "phase". linkRolestring nullAlternative to field: use a specific link role to find related plan items. Useful when plans are linked via work item relationships. hierarchyFieldstring nullField for establishing parent-child relationships within this plan level. Example: "parent" for hierarchical sprints. sortFieldstring "name"Field to sort plans within this level. Default sorts by plan name. showInMenuboolean trueControls whether this plan level appears in the widget navigation menu. iconstring nullMaterial Design icon name for visual identification. Example: "calendar", "flag", "target".
Display and Filtering Parameters
Parameter Name Type Default Description showPlanMetadataboolean falseDisplay plan metadata (due date, owner, status) alongside plan names in the widget. planMetadataFieldsarray []List of plan fields to display when showPlanMetadata is true. Examples: ["dueDate", "owner", "status"]. hideCompletedPlansboolean falseAutomatically hide plans with completion status. highlightCriticalPlansboolean trueVisually highlight plans that contain critical risk items (highest severity/occurrence ratings). riskCountBadgeboolean trueDisplay risk count badge next to each plan name. planProgressBarboolean falseShow progress bar indicating percentage of risks reviewed/closed for each plan. filterExpressionstring nullPolarionExpressionEvaluator expression to pre-filter which plans are displayed. Example: "status != 'archived'".
Interaction and Behavior Parameters
Parameter Name Type Default Description allowMultiSelectPlansboolean falseAllow users to select multiple plans simultaneously to view combined risks. allowDragDropToPlanboolean trueEnable dragging risks between plan rows to reassign them. confirmPlanChangesboolean trueShow confirmation dialog when users reassign risks to different plans. cascadeToSubplansboolean falseWhen reassigning a risk to a plan, automatically update the assignment in all sub-plans. createRiskInPlanContextboolean truePre-populate plan field when creating new risks from within plan context. allowInlineRiskCreationboolean trueAllow creating new risks directly in the Plans widget by clicking “Add Risk” within a plan row. populateFieldsOnCreatearray []List of fields to auto-populate when creating risks in plan context. Example: ["targetRelease", "assignee"].
Column and Data Display Parameters
Parameter Name Type Default Description visibleColumnsarray (see defaults below) List of column IDs to display in the Plans widget. Subset of columns defined in the main configuration. defaultColumnWidthnumber 150Default width in pixels for columns not explicitly sized. planRowHeightnumber 32Height in pixels for plan header rows. riskRowHeightnumber 28Height in pixels for risk item rows. frozenColumnsarray ["name"]Column IDs that remain visible when horizontally scrolling. columnGroupingarray []Define column groups with headers. Example: [{"name": "Assessment", "columns": ["severity", "occurrence"]}]. abbreviateHeadersboolean falseUse abbreviated column header names to save horizontal space. showRiskCountboolean trueDisplay total risk count per plan. showRiskStatsboolean falseDisplay risk statistics (average severity, highest occurrence) per plan.
Default Visible Columns
When visibleColumns is not specified, the Plans widget displays these columns by default:
visibleColumns :
- "systemItemId"
- "title"
- "severity"
- "status"
- "assignee"
Parameter Name Type Default Description cacheRiskDataboolean trueCache risk data client-side to improve performance during plan switching. cacheExpirationMsnumber 300000Cache validity duration in milliseconds (5 minutes default). Set to 0 to disable caching. lazyLoadRisksboolean trueLoad risk data only when a plan is first expanded, rather than loading all at startup. batchLoadSizenumber 50Maximum number of risks to load in a single request when lazy-loading. debounceFilterMsnumber 300Milliseconds to wait after user stops typing in filters before applying filter.
Configuration Example: Multi-Level Plan Hierarchy
widgets :
plansWidget :
planLevels :
- name : "Program"
type : "program"
field : "program"
sortField : "startDate"
showInMenu : true
icon : "layers"
- name : "Release"
type : "release"
field : "targetRelease"
hierarchyField : "parent"
sortField : "dueDate"
showInMenu : true
icon : "flag"
- name : "Sprint"
type : "sprint"
field : "plannedSprint"
hierarchyField : "parent"
sortField : "startDate"
showInMenu : true
icon : "calendar"
groupBy : "planLevel"
riskLevelColumn : "severity"
filterByPlan : true
sortBy : "planHierarchy"
showPlanMetadata : true
planMetadataFields : [ "dueDate" , "owner" , "status" ]
highlightCriticalPlans : true
riskCountBadge : true
visibleColumns :
- "systemItemId"
- "title"
- "severity"
- "occurrence"
- "status"
- "assignee"
planRowHeight : 36
riskRowHeight : 30
frozenColumns : [ "systemItemId" , "title" ]
allowDragDropToPlan : true
confirmPlanChanges : true
allowInlineRiskCreation : true
lazyLoadRisks : true
batchLoadSize : 75
Configuration Example: Flat Plan Structure
For simpler use cases with a single plan dimension:
widgets :
plansWidget :
planLevels :
- name : "Release"
type : "release"
field : "targetRelease"
groupBy : "riskType"
riskLevelColumn : "severity"
filterByPlan : false
visibleColumns :
- "title"
- "severity"
- "status"
lazyLoadRisks : true
allowInlineRiskCreation : false
Configuration Flow and Priority
Field Reference for Plan Assignment
Common Polarion fields used in field parameter for plan assignment:
Field Name Type Description targetReleaseenumeration Polarion built-in field for release assignment. plannedSprintenumeration Common custom field for sprint assignment. fixedInReleaseenumeration Release where the risk is resolved. affectedVersionenumeration Product version affected by the risk. plannedPhasestring Custom field for project phase. targetMilestoneenumeration Custom field for milestone tracking.
For projects with many plans (100+) or complex hierarchies (3+ levels), enable lazyLoadRisks: true and adjust batchLoadSize based on your network performance. Using smaller batch sizes (25-50) may provide better responsiveness for users with slower connections.
Plans are matched to risks via the field specified in planLevels[].field. Ensure that risk work items have the corresponding field populated. If using linkRole instead, verify the link relationship exists between risk and plan items in Polarion.
See also:
Source Code
ShowConfigurationCommand.ts
RisksheetViewServlet.java
AppConfig.ts
AppConfigParser.ts