The Configuration File
At the heart of every Risksheet document is a single JSON file namedrisksheet.json. This file is stored as an attachment to the Polarion LiveDoc document and contains the complete definition of the grid layout, data behavior, and visual presentation.
Think of risksheet.json as a blueprint for a spreadsheet. Just as an architect’s blueprint specifies room dimensions, materials, and wiring, the configuration file specifies columns, data types, formulas, and styles. The Risksheet engine reads this blueprint each time the document opens and constructs the interactive grid accordingly.
The configuration is loaded through the /api/config endpoint, which returns a rich configuration object containing all settings the grid needs: enumeration values, rating scales, link relations, custom formulas, cell styling rules, and query factories. The global.culture setting within this object also controls localization, affecting date and number formatting.
Configuration Sections
Therisksheet.json file is organized into distinct sections, each governing a specific aspect of the grid:
| Section | Purpose | Default |
|---|---|---|
columns | Grid column definitions (bindings, types, headers, rendering) | [] |
dataTypes | Risk and task work item type configuration | {} |
levels | Hierarchical level definitions with control columns | [] |
formulas | Named JavaScript formula functions for calculated columns | {} |
styles | CSS class definitions for conditional formatting | {} |
cellDecorators | Column-to-style mapping logic for dynamic cell formatting | {} |
enums | Enumeration options for dropdown columns | {} |
ratings | Rating scale definitions for risk parameters | {} |
relations | Dependent enum relationships for cascading selections | [] |
views | Saved column visibility presets | [] |
reviews | Review workflow configuration | {} |
headers | Row and column header dimensions and renderers | {} |
global | Culture, help URL, refresh behavior, menu organization | {} |
sortBy | Default sort order by column ID sequence | [] |
How Configuration Is Loaded
When you open a Risksheet document, the configuration undergoes a loading and enrichment process before the grid renders:- Column type inference: If a column does not specify a
type, it is automatically detected from the Polarion field binding. For example, a column bound to a date field becomes adatecolumn. - Column ID generation: If no
idis provided, one is auto-generated from theheaderorbindingproperty. - Read-only enforcement: Columns with a
formulaorserverRenderproperty are automatically set to read-only. System fields such asauthor,resolution,created,updated, andtypeare also locked.
Data Type Configuration
ThedataTypes section defines how Risksheet interacts with Polarion work items. Two primary data types exist:
dataTypes.risk— Defines the work item type for risk items, the link role for relationships, the removal strategy (default:delete), and rejection workflow settings (rejectedAction,rejectedStatus,rejectedResolution).dataTypes.task— Defines the work item type for downstream mitigation tasks, the link role, and menu visibility (showInMenudefaults totrue).
Behavioral Properties
Several top-level properties control grid-wide behavior:readonly(default:false) — Makes the entire grid read-only. Also automatically enabled when viewing a historical revision.downstreamReadonly(default:false) — Prevents edits to linked items from other documents.reviewer(default:false) — Enables reviewer mode, restricting editing and showing review-specific controls.canAdmin(default:false) — Indicates whether the current user has administrative privileges to edit configuration.source— Tracks which configuration file (document or template) was used to load this configuration.templateName— Records the template name when configuration inherits from a global template.
Configuration Source Tracking
Configuration Source Tracking
The
source and templateName properties let you trace where your configuration originated. This is particularly useful when troubleshooting unexpected behavior — you can verify whether the document is using its own configuration or inheriting from a template.Configuration Updates
Configuration changes can be applied through the configuration editor interface, accessible at the/risksheet/configuration/ URL path. The editor supports updating the configuration with a scope parameter that indicates whether changes are being copied from a template.
All configuration updates execute within a write transaction, ensuring that partial updates cannot corrupt the document state. After a successful update, the system redirects back to the document view with the new configuration active.
Related Topics
For details on how configurations inherit across templates and documents, see Configuration Hierarchy. To understand the role of columns and data types in defining the grid structure, see Data Model and Work Items. For practical guidance on editing configuration, visit the How-To Guides.Sources
Sources
KB ArticlesSource Code
RisksheetViewServlet.javaRisksheetProjectProperties.javaAppConfig.tsAppConfigParser.tsPolarionAppConfigManager.java