Skip to main content

File Location

LocationDescription
LiveDoc document attachmentAttached directly to the Polarion LiveDoc as risksheet.json. Takes precedence over template configuration.
Document templateDefined in a Polarion document template. Applied to all documents created from the template.
Global template pathConfigured via Risksheet project properties. Default path: Risks/Risk Specification.
Use template-based configuration for consistent settings across multiple documents. Override specific properties at the document level when individual documents need customization. See Template Path Configuration and Document Configuration Override.
See Configuration Examples for annotated, end-to-end risksheet.json configurations from real-world TARA and FMEA projects.

Top-Level Structure

{
  "columns": [],
  "dataTypes": {},
  "levels": [],
  "headers": {},
  "formulas": {},
  "styles": {},
  "cellDecorators": {},
  "enums": {},
  "ratings": {},
  "relations": [],
  "views": [],
  "global": {},
  "reviews": {},
  "sortBy": [],
  "readonly": false,
  "downstreamReadonly": false
}

Top-Level Properties

PropertyTypeDefaultDescription
columnsarray[]Column definitions for the grid. Each entry defines a column’s binding, type, header, and behavior.
dataTypesobject{}Work item type definitions for risk items, task items, and other data types.
levelsarray[]Hierarchical level definitions for multi-level row structures (e.g., failure mode / cause / effect).
headersobject{}Row header and column header configuration (widths, heights, renderers).
formulasobject{}Named JavaScript formula functions referenced by column formula properties.
stylesobject{}Named CSS class definitions for conditional cell formatting.
cellDecoratorsobject{}Named JavaScript functions that apply conditional CSS classes to cells.
enumsobject{}Enumeration definitions mapping enum IDs to arrays of options with id, name, description, and icon.
ratingsobject{}Rating enumeration definitions. Structure identical to enums but semantically distinct for risk parameter scales.
relationsarray[]Relationship definitions for dependent enum behavior and cascading selections.
viewsarray[]Saved column visibility presets.
globalobject{}Global settings: culture/locale, help URL, refresh behavior, menu organization.
reviewsobject{}Review workflow configuration.
sortByarray[]Default sort order as an array of column ID strings.
readonlybooleanfalseMakes the entire grid read-only. Automatically true when viewing historical revisions.
downstreamReadonlybooleanfalseMakes downstream linked items (tasks, controls) read-only.
canAdminbooleanfalseIndicates administrative privileges. Set by server based on user permissions.
reviewerbooleanfalseEnables reviewer mode with restricted editing and review-specific UI controls.
sourcestringnullPath to configuration source file. Set by server.
templateNamestringnullTemplate name when loaded from global template. Set by server.

columns

Each entry in the columns array defines one grid column.

Column Properties

PropertyTypeDefaultDescription
idstringAuto-generated from header or bindingUnique column identifier. Referenced by cellDecorators, views, sortBy, and collapseTo.
bindingstringSame as idPolarion work item field ID that this column reads from and writes to.
headerstringNoneDisplay text in the column header.
typestringAuto-detected from Polarion field typeColumn data type. See Data Types for all supported types.
levelnumber1Hierarchical level (1 = top level, 2 = second level). Not set for task columns.
widthnumberSee applicationColumn width in pixels.
minWidthnumberSee applicationMinimum column width in pixels for resizing.
readOnlybooleanfalsePrevents cell editing. Automatically true for formula, serverRender, reference columns, and system fields (id, status, type, project, outlineNumber, author, resolution, created, updated).
canCreatebooleantrueFor itemLink and multiItemLink columns: controls whether users can create new linked items. Ignored for other column types.
filterablebooleantrueEnables column-level filtering.
formulastringNoneNamed formula reference from the formulas section. When set, column becomes read-only.
serverRenderstringNoneVelocity template script for server-side rendering. When set, column becomes text type and read-only.
cellRendererstringNoneCustom client-side cell renderer function name.
headerGroupstringNoneHeader group name for multi-level column headers.
collapseTostringNoneColumn ID to collapse into when header group is collapsed.
headerTooltipstringNoneTooltip text displayed when hovering over the column header.
cellCssstringNoneCSS class name(s) applied to cells in this column.
headerGroupCssstringNoneCSS class name(s) applied to the header group row.
multiLinebooleantrueEnables multi-line text display and editing.
wordWrapbooleantrueControls text wrapping within cells.
formatstringNoneDisplay format string (date format, number format).
isContentHtmlbooleanSee applicationIndicates cell content should be rendered as HTML.

Column Example

{
  "columns": [
    {
      "id": "systemItemId",
      "binding": "systemItemId",
      "header": "ID",
      "type": "string",
      "readOnly": true,
      "level": 1,
      "width": 80
    },
    {
      "id": "title",
      "binding": "title",
      "header": "Failure Mode Description",
      "type": "string",
      "level": 1,
      "width": 250,
      "headerTooltip": "Describe the potential failure mode"
    },
    {
      "id": "severity",
      "binding": "severity",
      "header": "S",
      "type": "rating:severity",
      "level": 1,
      "width": 60,
      "headerGroup": "Initial Risk Assessment",
      "headerTooltip": "Severity rating (1-10)"
    },
    {
      "id": "rpn",
      "binding": "rpn",
      "header": "RPN",
      "formula": "commonRpn",
      "level": 1,
      "width": 70,
      "headerGroup": "Initial Risk Assessment"
    },
    {
      "id": "measure",
      "binding": "measure",
      "header": "Mitigation",
      "type": "taskLink",
      "canCreate": true
    }
  ]
}

dataTypes

Defines work item types and their creation/removal behavior.

Risk Data Type Properties

PropertyTypeDefaultDescription
typestringNone (required)Polarion work item type ID. Error if missing: No type attribute is defined for dataType. Supports expression evaluation for dynamic resolution.
rolestringNoneLink role for relationships. Supports expression evaluation.
removeStrategystringdeleteRisk item removal strategy.
rejectedActionstringrejectWorkflow action for rejection. Must be available from the work item’s current state.
rejectedStatusstringrejectedTarget status after rejection.
rejectedResolutionstringinvalidResolution value after rejection.
showInMenubooleantrueControls toolbar menu visibility for item creation.
documentstringNoneRestricts loaded items to a specific LiveDoc path.
createInDocumentstringNoneTarget document path (folder/documentId) for new items. Independent from document. Without this, new items go to the project tracker.

Task Data Type Properties

PropertyTypeDefaultDescription
typestringNoneTask work item type ID. Supports expression evaluation.
rolestringNoneLink role for task relationships. Supports expression evaluation.
showInMenubooleantrueControls menu visibility for task creation.
documentstringNoneRestricts task scope.
createInDocumentstringNoneTarget document for new tasks (folder/documentId).

dataTypes Example

{
  "dataTypes": {
    "risk": {
      "type": "failureMode",
      "role": "relates_to",
      "removeStrategy": "delete",
      "rejectedAction": "reject",
      "rejectedStatus": "rejected",
      "rejectedResolution": "invalid",
      "showInMenu": true
    },
    "task": {
      "type": "mitigationTask",
      "role": "mitigates",
      "showInMenu": true,
      "createInDocument": "Risks/Tasks"
    }
  }
}
Use the folder/documentId path format. Example: "Risks/Tasks" creates items in the Tasks document within the Risks folder. Without createInDocument, new items go to the project tracker instead of a document.

Dynamic Type Resolution (typeProperties)

Data type properties support dynamic resolution from Risksheet Configuration Properties using expression evaluation:
{
  "dataTypes": {
    "risk": {
      "type": "$config.getRisksheetProjectProperties().getProperties().getProperty('riskType', 'failureMode')",
      "role": "$config.getRisksheetProjectProperties().getProperties().getProperty('riskRole', 'relates_to')"
    }
  }
}
This pattern makes configurations portable across projects by reading project-specific values from Risksheet Configuration Properties with fallback defaults.

levels

Defines hierarchical row structure.
PropertyTypeDefaultDescription
showInMenubooleantrueControls level visibility in the navigation menu.
controlColumnstringsystemItemIdColumn ID that controls navigation and hierarchy.
{
  "levels": [
    {"showInMenu": true, "controlColumn": "systemItemId"},
    {"showInMenu": true, "controlColumn": "systemItemId"}
  ]
}

headers

PropertyTypeDefaultDescription
headers.rowHeader.rendererstringNoneNamed cell decorator function for row header rendering.
headers.columnHeader.heightnumber32Column header height in pixels. Increase for multi-line header text.
headers.columnGroupHeader.heightnumber32Column group header height in pixels.
{
  "headers": {
    "rowHeader": {
      "renderer": "rowHeaderRpnNew"
    },
    "columnHeader": {
      "height": 48
    },
    "columnGroupHeader": {
      "height": 32
    }
  }
}

formulas

Named JavaScript functions for calculated columns. Each formula receives an info object with info.item containing the current row’s field values.
{
  "formulas": {
    "commonRpn": "function(info){ var value = info.item['occ']*info.item['det']*info.item['sev']; return value?value:null;}",
    "commonRpnNew": "function(info){ var value = info.item['occNew']*info.item['detNew']*info.item['sevNew']; return value?value:null; }"
  }
}
Always check for null/undefined values. If any input is null, arithmetic operations return NaN. Use the pattern return value ? value : null; to convert falsy results to null.

cellDecorators

Named JavaScript functions that apply conditional CSS classes based on cell values. Each function receives an info object with info.value (cell value), info.item (row data), and info.cell (DOM element).
{
  "cellDecorators": {
    "rpn": "function(info){ var val = info.value; $(info.cell).toggleClass('boldCol', true); $(info.cell).toggleClass('rpn1', val>0 && val <= 150); $(info.cell).toggleClass('rpn2', val > 150 && val <= 350); $(info.cell).toggleClass('rpn3', val > 350);}",
    "rowHeaderRpnNew": "function(info){ var val = info.item['rpnNew']; $(info.cell).toggleClass('rpn1', val>0 && val <= 150); $(info.cell).toggleClass('rpn2', val>0 && val > 150 && val <= 350); $(info.cell).toggleClass('rpn3', val>0 && val > 350);}"
  }
}

styles

CSS class definitions referenced by cellDecorators. Use !important to override grid default styles.
{
  "styles": {
    ".boldCol": "font-weight:600;",
    ".rpn1": "background-color: #eaf5e9 !important; color: #1d5f20 !important;",
    ".rpn2": "background-color: #fff3d2 !important; color: #735602 !important;",
    ".rpn3": "background-color: #f8eae7 !important; color: #ab1c00 !important;"
  }
}
Styles can target specific row positions within header groups:
{
  "styles": {
    ".firstRow .headSysReq": "background-color:rgba(62, 175, 63, 0.12) !important; color:#2A792D !important;",
    ".lastRow .headSysReq": "background-color:#FFF !important; color:#2A792D !important;"
  }
}

enums and ratings

Both define enumeration options with identical structure. enums is for general dropdowns; ratings is for risk parameter scales.
{
  "enums": {
    "riskCategory": [
      {"id": "electrical", "name": "Electrical", "description": "Electrical hazard", "icon": "flash"},
      {"id": "mechanical", "name": "Mechanical", "description": "Mechanical hazard"}
    ]
  },
  "ratings": {
    "severity": [
      {"id": "1", "name": "1 - Negligible"},
      {"id": "5", "name": "5 - Catastrophic"}
    ]
  }
}

global

PropertyTypeDefaultDescription
global.culturestringenCulture/locale code affecting date formats, number formats, and localization. See Culture and Localization Codes.
global.helpstringhttps://go.nextedy.com/risksheet-support-portalURL opened when users click the Help button.
{
  "global": {
    "culture": "de",
    "help": "https://internal.company.com/risksheet-docs"
  }
}

reviews

PropertyTypeDefaultDescription
reviews.reviewManagerstringCommentBasedReview workflow type.
{
  "reviews": {
    "reviewManager": "CommentBased"
  }
}

views

Saved column visibility presets.
{
  "views": [
    {
      "name": "Full View",
      "columns": ["systemItemId", "title", "severity", "occurrence", "detection", "rpn", "measure"]
    },
    {
      "name": "Summary",
      "columns": ["systemItemId", "title", "rpn"]
    }
  ]
}

sortBy

Default sort order as column ID array.
{
  "sortBy": ["severity", "rpn"]
}

Complete Example

{
  "columns": [
    {"id": "systemItemId", "binding": "systemItemId", "header": "ID", "type": "string", "readOnly": true, "level": 1, "width": 80},
    {"id": "title", "binding": "title", "header": "Failure Mode", "type": "string", "level": 1, "width": 200},
    {"id": "sev", "binding": "severity", "header": "S", "type": "rating:severity", "level": 1, "width": 50, "headerGroup": "Initial Assessment"},
    {"id": "occ", "binding": "occurrence", "header": "O", "type": "rating:occurrence", "level": 1, "width": 50, "headerGroup": "Initial Assessment"},
    {"id": "det", "binding": "detection", "header": "D", "type": "rating:detection", "level": 1, "width": 50, "headerGroup": "Initial Assessment"},
    {"id": "rpn", "binding": "rpn", "header": "RPN", "formula": "commonRpn", "level": 1, "width": 60, "headerGroup": "Initial Assessment"},
    {"id": "measure", "binding": "measure", "header": "Mitigation Task", "type": "taskLink", "canCreate": true}
  ],
  "dataTypes": {
    "risk": {
      "type": "failureMode",
      "role": "relates_to",
      "removeStrategy": "delete",
      "rejectedAction": "reject",
      "rejectedStatus": "rejected",
      "rejectedResolution": "invalid"
    },
    "task": {
      "type": "mitigationTask",
      "role": "mitigates",
      "showInMenu": true,
      "createInDocument": "Risks/MitigationTasks"
    }
  },
  "levels": [
    {"showInMenu": true, "controlColumn": "systemItemId"}
  ],
  "headers": {
    "rowHeader": {"renderer": "rowHeaderRpnNew"},
    "columnHeader": {"height": 32},
    "columnGroupHeader": {"height": 32}
  },
  "formulas": {
    "commonRpn": "function(info){ var value = info.item['occ']*info.item['det']*info.item['sev']; return value?value:null;}"
  },
  "cellDecorators": {
    "rpn": "function(info){ var val = info.value; $(info.cell).toggleClass('boldCol', true); $(info.cell).toggleClass('rpn1', val>0 && val<=150); $(info.cell).toggleClass('rpn2', val>150 && val<=350); $(info.cell).toggleClass('rpn3', val>350);}",
    "rowHeaderRpnNew": "function(info){ var val = info.item['rpnNew']; $(info.cell).toggleClass('rpn1', val>0 && val<=150); $(info.cell).toggleClass('rpn2', val>0 && val>150 && val<=350); $(info.cell).toggleClass('rpn3', val>0 && val>350);}"
  },
  "styles": {
    ".boldCol": "font-weight:600;",
    ".rpn1": "background-color:#eaf5e9 !important; color:#1d5f20 !important;",
    ".rpn2": "background-color:#fff3d2 !important; color:#735602 !important;",
    ".rpn3": "background-color:#f8eae7 !important; color:#ab1c00 !important;"
  },
  "ratings": {
    "severity": [
      {"id": "1", "name": "1 - Negligible"},
      {"id": "2", "name": "2 - Minor"},
      {"id": "3", "name": "3 - Moderate"},
      {"id": "4", "name": "4 - Major"},
      {"id": "5", "name": "5 - Catastrophic"}
    ],
    "occurrence": [
      {"id": "1", "name": "1 - Almost impossible"},
      {"id": "2", "name": "2 - Remote"},
      {"id": "3", "name": "3 - Occasional"},
      {"id": "4", "name": "4 - Frequent"},
      {"id": "5", "name": "5 - Inevitable"}
    ],
    "detection": [
      {"id": "1", "name": "1 - Almost certain"},
      {"id": "2", "name": "2 - High"},
      {"id": "3", "name": "3 - Medium"},
      {"id": "4", "name": "4 - Low"},
      {"id": "5", "name": "5 - Undetectable"}
    ]
  },
  "global": {
    "culture": "en"
  },
  "reviews": {
    "reviewManager": "CommentBased"
  },
  "views": [
    {"name": "Full FMEA", "columns": ["systemItemId", "title", "sev", "occ", "det", "rpn", "measure"]},
    {"name": "Risk Summary", "columns": ["systemItemId", "title", "rpn"]}
  ],
  "sortBy": ["rpn"],
  "readonly": false,
  "downstreamReadonly": false
}

See Also

KB ArticlesSupport TicketsSource Code
  • PolarionAppConfigManager.java
  • risksheet.json
  • AppConfigParser.ts
  • AppConfig.ts
  • OpenHelpCommand.ts