Skip to main content

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.

Widget Parameter Structure

widgets:
  plansWidget:
    planLevels:
      - name: "Release"
        type: "release"
        field: "targetRelease"
    riskLevelColumn: "severity"
    groupBy: "planLevel"
    filterByPlan: true
    expandedPlans: []
    showEmptyPlans: false

Core Widget Parameters

Parameter NameTypeDefaultDescription
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.
filterByPlanbooleantrueEnable 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.
showEmptyPlansbooleanfalseControls 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).
maxDepthnumber3Maximum 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 NameTypeDefaultDescription
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".
linkRolestringnullAlternative to field: use a specific link role to find related plan items. Useful when plans are linked via work item relationships.
hierarchyFieldstringnullField 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.
showInMenubooleantrueControls whether this plan level appears in the widget navigation menu.
iconstringnullMaterial Design icon name for visual identification. Example: "calendar", "flag", "target".

Display and Filtering Parameters

Parameter NameTypeDefaultDescription
showPlanMetadatabooleanfalseDisplay 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"].
hideCompletedPlansbooleanfalseAutomatically hide plans with completion status.
highlightCriticalPlansbooleantrueVisually highlight plans that contain critical risk items (highest severity/occurrence ratings).
riskCountBadgebooleantrueDisplay risk count badge next to each plan name.
planProgressBarbooleanfalseShow progress bar indicating percentage of risks reviewed/closed for each plan.
filterExpressionstringnullPolarionExpressionEvaluator expression to pre-filter which plans are displayed. Example: "status != 'archived'".

Interaction and Behavior Parameters

Parameter NameTypeDefaultDescription
allowMultiSelectPlansbooleanfalseAllow users to select multiple plans simultaneously to view combined risks.
allowDragDropToPlanbooleantrueEnable dragging risks between plan rows to reassign them.
confirmPlanChangesbooleantrueShow confirmation dialog when users reassign risks to different plans.
cascadeToSubplansbooleanfalseWhen reassigning a risk to a plan, automatically update the assignment in all sub-plans.
createRiskInPlanContextbooleantruePre-populate plan field when creating new risks from within plan context.
allowInlineRiskCreationbooleantrueAllow 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 NameTypeDefaultDescription
visibleColumnsarray(see defaults below)List of column IDs to display in the Plans widget. Subset of columns defined in the main configuration.
defaultColumnWidthnumber150Default width in pixels for columns not explicitly sized.
planRowHeightnumber32Height in pixels for plan header rows.
riskRowHeightnumber28Height 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"]}].
abbreviateHeadersbooleanfalseUse abbreviated column header names to save horizontal space.
showRiskCountbooleantrueDisplay total risk count per plan.
showRiskStatsbooleanfalseDisplay 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"

Performance and Caching Parameters

Parameter NameTypeDefaultDescription
cacheRiskDatabooleantrueCache risk data client-side to improve performance during plan switching.
cacheExpirationMsnumber300000Cache validity duration in milliseconds (5 minutes default). Set to 0 to disable caching.
lazyLoadRisksbooleantrueLoad risk data only when a plan is first expanded, rather than loading all at startup.
batchLoadSizenumber50Maximum number of risks to load in a single request when lazy-loading.
debounceFilterMsnumber300Milliseconds 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

diagram

Field Reference for Plan Assignment

Common Polarion fields used in field parameter for plan assignment:
Field NameTypeDescription
targetReleaseenumerationPolarion built-in field for release assignment.
plannedSprintenumerationCommon custom field for sprint assignment.
fixedInReleaseenumerationRelease where the risk is resolved.
affectedVersionenumerationProduct version affected by the risk.
plannedPhasestringCustom field for project phase.
targetMilestoneenumerationCustom 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