| Column Definition Binding System Polarion Work Item | ||||
|---|---|---|---|---|
| binding: “sev” | —> | Direct field | —> | sev (enum field) |
| type: rating | binding | |||
| binding: “req” | —> | Linked item | —> | Linked WI title |
| type: itemLink | resolution | (upstream) | ||
| binding: “task” | —> | Task prefix | —> | Task WI status |
| + “.status” | resolution | (downstream) |
Binding Property
Thebinding property on a column definition specifies which Polarion work item field the column reads from and writes to. This is the fundamental mapping mechanism in Risksheet.
| Property | Type | Default | Description |
|---|---|---|---|
binding | string | Same as column id | The Polarion work item field name. Supports direct field names, dot notation for linked item properties, and special prefixes. |
Direct Field Binding
The simplest binding maps a column directly to a Polarion work item field by name. The field name must match the Polarion custom field ID exactly.| Binding Pattern | Example | Resolves To |
|---|---|---|
fieldName | "sev" | The sev custom field on the risk item |
title | "title" | The work item title (standard field) |
description | "description" | The work item description (standard field) |
status | "status" | The workflow status (read-only) |
id | "id" | The work item ID (read-only) |
Type Detection from Binding
When thetype property is omitted from a column definition, Risksheet queries the Polarion field definition for the bound field and infers the column type automatically.
| Polarion Field Type | Inferred Column Type |
|---|---|
| String | text |
| Integer | int |
| Float | float |
| Date | date |
| Boolean | boolean |
| Enum (single) | enum |
| Enum (multi-select) | multiEnum |
| Currency | currency |
| DurationTime | duration |
binding and header:
dueDate is a Date field in Polarion and automatically sets the column type to date.
You can override the auto-detected type by explicitly setting the
type property. This allows displaying a field differently from its native Polarion type — for example, showing an integer field as a rating dropdown, or a string field as a date.Linked Item Bindings (Upstream)
ForitemLink and multiItemLink column types, the binding resolves to a linked work item rather than a field on the current row item. This enables upstream traceability columns that display properties of linked requirements, design elements, or other work items.
| Property | Type | Default | Description |
|---|---|---|---|
binding | string | Required | The link role name or linked item field identifier. |
type | string | Required | Must be itemLink or multiItemLink. |
canCreate | boolean | true | Whether users can create new linked items from the cell. |
Link Column Name Suffix
Item link columns support a_link suffix convention for accessing the hyperlink URL of the linked item. A column with binding requirement provides the linked item’s display value, while requirement_link provides the navigable URL.
See Item Link Columns and Multi-Item Link Columns for detailed configuration.
Task Bindings (Downstream)
Downstream task columns display properties of mitigation or control action items linked to the current risk item. Task bindings are configured through thedataTypes.task section and use task-level columns in the grid.
| Configuration | Purpose |
|---|---|
dataTypes.task.type | Work item type for tasks (e.g., "task", "mitigationAction") |
dataTypes.task.role | Link role connecting risk items to tasks |
dataTypes.task.showInMenu | Whether task creation appears in context menu (default: true) |
level property set (they exist at the task level below the configured hierarchical levels).
See Task Link Columns for task column configuration details.
Enumeration Binding
When a column is bound to a Polarion enumeration field, Risksheet handles the mapping between enum option IDs and display names:| Field Type | Display Behavior |
|---|---|
| Standard enum fields | Shows enum option ID in the grid |
status field | Shows enum option name (display label) |
| String backing enum | String value mapped to enum definition |
| Integer backing enum | Integer value mapped to enum definition |
enum:riskCategory type syntax references the riskCategory definition in the enums section of risksheet.json. See Enum Columns for complete enum configuration.
Relation Bindings (Dependent Enums)
Therelations array in risksheet.json defines cascading relationships between enum columns. When a parent enum value changes, related child enum values are automatically updated or filtered.
| Property | Type | Description |
|---|---|---|
from | string | Column ID of the parent enum |
to | string | Column ID of the child enum |
mapping | object | Map of parent value to array of valid child values |
- Forward propagation: Changing a parent value filters valid child options
- Backward propagation: Selecting a child value can auto-populate the parent if only one valid parent exists
- Multi-select handling: When a parent enum value is deselected, dependent child values are automatically removed
- Bulk edit: Relationship rules apply to all selected rows during bulk operations
- Undo/redo: All cascading updates are tracked in the undo stack as a single operation
System Field Bindings
Risksheet uses reserved system bindings for internal state management. These bindings are not user-configurable but are documented here for reference.| System Binding | Purpose |
|---|---|
ID | Standard item identity binding |
systemItemId | Polarion work item ID for cross-reference and linking |
systemReadOnly | Marks entire items as non-editable |
systemReadOnlyFields | Array of specific field names that are non-editable |
systemItemRevision | Work item revision for baseline comparison |
systemTaskReadOnly | Marks linked task items as non-editable |
systemTaskReadOnlyFields | Array of task field names that are non-editable |
reviewsRendered | Review status display column |
reviewsAdd | Review addition control column |
Read-Only Field Protection
The binding system enforces read-only protection on specific fields. The following fields are always read-only and cannot be modified through the Risksheet grid:| Field | Reason |
|---|---|
id | Work item identity |
status | Controlled by workflow transitions |
type | Immutable after creation |
project | Project assignment is immutable |
outlineNumber | Managed by Polarion document structure |
Column Properties for Binding Configuration
The full set of column properties that affect field mapping behavior:| Property | Type | Default | Description |
|---|---|---|---|
binding | string | Same as id | Polarion field name |
type | string | Auto-detected | Column data type. Overrides auto-detection. |
format | string | None | Display format string for dates, numbers |
isContentHtml | boolean | See application | Render cell content as HTML |
cellRenderer | string | None | Custom rendering function name |
multiLine | boolean | true | Multi-line text editing |
wordWrap | boolean | true | Text wrapping in cells |
Complete Example
Arisksheet.json demonstrating multiple binding patterns — direct fields, upstream links, downstream tasks, and enum relationships:
Related Pages
- Supported Field Types — Polarion field type compatibility and conversion
- System Fields — system-level binding constants
- Column Type Reference — column definition properties
- Data Types — data type behavior and OData mapping
- Enum Columns — enum binding and configuration
- Item Link Columns — upstream link binding
- Task Link Columns — downstream task binding
- Configuration Properties Index — full property reference
Sources
Sources
Source Code
AppConfigParser.tsRelationActionController.tsAppConfigHelper.ts