> ## Documentation Index
> Fetch the complete documentation index at: https://learn.nextedy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Default Configuration Values

> When properties are not explicitly set in the sheet configuration, Nextedy RISKSHEET applies default values during configuration loading.

export const LastReviewed = ({date}) => {
  if (!date) return null;
  const formatted = new Date(`${date}T00:00:00Z`).toLocaleDateString("en-US", {
    year: "numeric",
    month: "long",
    day: "numeric",
    timeZone: "UTC"
  });
  return <p className="mt-10 text-sm text-gray-400 dark:text-zinc-500 not-prose">
      Last reviewed on {formatted}
    </p>;
};

<Frame>
  <img src="https://mintcdn.com/none-17b4493f/yWl5nA2D0IzEnZC1/risksheet/diagrams/reference/configuration/default-values/diagram-1.svg?fit=max&auto=format&n=yWl5nA2D0IzEnZC1&q=85&s=2b2fed41ac003030228cb0fab3d2aefa" alt="diagram" style={{ maxWidth: "700px", width: "100%" }} width="700" height="220" data-path="risksheet/diagrams/reference/configuration/default-values/diagram-1.svg" />
</Frame>

## Top-Level Properties

The sheet configuration supports the following top-level sections. All sections are optional unless noted; missing sections receive the defaults below.

| Property         | Type     | Default | Description                                                                                  |
| ---------------- | -------- | ------- | -------------------------------------------------------------------------------------------- |
| `global`         | `object` | `{}`    | Global settings including culture/locale, help URL, and menu organization.                   |
| `columns`        | `array`  | `[]`    | Column definitions for the grid. An empty array results in no visible data columns.          |
| `levels`         | `array`  | `[]`    | Visual hierarchy levels with display name, control column, and zoom column.                  |
| `dataTypes`      | `object` | `{}`    | Risk and task work item type configuration including types, link roles, and display names.   |
| `formulas`       | `object` | `{}`    | Named JavaScript formula definitions referenced by column `formula` properties.              |
| `styles`         | `object` | `{}`    | Named CSS class definitions for conditional cell formatting.                                 |
| `cellDecorators` | `object` | `{}`    | Named JavaScript functions that apply conditional CSS classes to cells.                      |
| `headers`        | `object` | `{}`    | Row header and column header sizing and rendering configuration.                             |
| `reviews`        | `object` | `{}`    | Review workflow configuration.                                                               |
| `sortBy`         | `array`  | `[]`    | Default sort order. Column IDs with optional tilde prefix for descending.                    |
| `views`          | `array`  | `[]`    | Saved column visibility presets for staged or role-based workflows.                          |
| `queryFactories` | `object` | `{}`    | Named Lucene query functions used by `itemLink` columns for advanced autocomplete filtering. |

<Note title="Rating scales and enumerations come from Polarion">
  Risksheet does not define rating scales or enumerations in the sheet configuration. Rating scales and enums are defined as **Polarion enumerations** under **Administration > Enumerations**. A custom field on the risk work item type binds to the enum, then a column uses `type: rating:<enumId>` (or `type: enum:<enumId>` / `type: multiEnum:<enumId>`) with `bindings: <fieldId>`. The server loads the enum values automatically — no top-level config section is required.
</Note>

## Column Property Defaults

When a column entry in the `columns` array omits optional properties, these defaults apply:

| Property       | Type      | Default                                    | Description                                                                                                                            |
| -------------- | --------- | ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
| `id`           | `string`  | Auto-generated from `header` or `bindings` | Unique column identifier. If omitted, generated from the header text or `bindings` name.                                               |
| `type`         | `string`  | Auto-detected from Polarion field type     | Column data type. Inferred from the bound Polarion field when not specified.                                                           |
| `level`        | `number`  | `1`                                        | Visual hierarchy level for cell merging (1-indexed: `level: 1` maps to `levels[0]`). Task columns have no level assigned.              |
| `readOnly`     | `boolean` | `false`                                    | Editability. Automatically set to `true` for formula columns, server-rendered columns, reference columns, and protected system fields. |
| `filterable`   | `boolean` | `true`                                     | Whether column values can be filtered.                                                                                                 |
| `canCreate`    | `boolean` | `true`                                     | For `itemLink` and `multiItemLink` columns, allows creation of new linked items.                                                       |
| `formula`      | `string`  | None                                       | No formula. When set, the column becomes read-only.                                                                                    |
| `serverRender` | `string`  | None                                       | No server render script. When set, the column becomes `text` type and read-only.                                                       |
| `collapseTo`   | `boolean` | `false`                                    | When `true`, the column stays visible while its header group is collapsed.                                                             |

<Tip title="Auto-detection of column types">
  When you omit the `type` property, Risksheet queries the Polarion field definition and maps it to the corresponding column type. For example, a Polarion `Integer` field becomes `int`, a `Date` field becomes `date`, and a native `Enum` field becomes `enum`. See [Data Types](/risksheet/reference/columns/data-types) for the complete mapping.
</Tip>

<Info title="Text wrapping is controlled by styles">
  Multi-line behavior and text wrapping are controlled through CSS classes in the `styles` section and applied via `cellCss` on the column or through a `cellDecorator`. They are not column-level boolean properties.
</Info>

## Levels Property Defaults

Each entry in the `levels` array defines one visual hierarchy level. Every level entry should declare three properties — `name`, `controlColumn`, and `zoomColumn` — with `showInMenu` controlling whether the level appears in the row-creation menu:

| Property        | Type      | Default            | Description                                                                                                                                |
| --------------- | --------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
| `name`          | `string`  | None (recommended) | Display name shown in the navigation/zoom menu (for example, `Item`, `Failure mode`, `Cause`).                                             |
| `controlColumn` | `string`  | None (required)    | Column ID used as the grouping key. Cells in columns of this level merge when consecutive rows share the same value in the control column. |
| `zoomColumn`    | `string`  | None (recommended) | Column ID used as the target for zoom/drill-down navigation from this level.                                                               |
| `showInMenu`    | `boolean` | `true`             | Level appears in the row creation menu.                                                                                                    |

```yaml theme={null}
levels:
  - name: Item
    controlColumn: item
    zoomColumn: item
    showInMenu: true
  - name: Failure mode
    controlColumn: failureMode
    zoomColumn: failureMode
    showInMenu: true
  - name: Cause
    controlColumn: systemItemId
    zoomColumn: causes
    showInMenu: true
```

See [Levels Configuration](/risksheet/reference/levels-configuration) for the full level hierarchy setup and the relationship between visual levels (defined here) and data model levels (always two: risk and task work items).

## DataTypes Property Defaults

The `dataTypes` object configures the two work item entities of the Risksheet data model: `risk` (the main rows) and `task` (downstream linked items).

### Risk Data Type Defaults

| Property                            | Type     | Default         | Description                                                                                               |
| ----------------------------------- | -------- | --------------- | --------------------------------------------------------------------------------------------------------- |
| `dataTypes.risk.type`               | `string` | None (required) | Polarion work item type ID for risk items. Evaluated through the expression evaluator for dynamic values. |
| `dataTypes.risk.role`               | `string` | None            | Link role for relationships from risk items. Evaluated through the expression evaluator.                  |
| `dataTypes.risk.removeStrategy`     | `string` | `delete`        | Strategy when removing risk items: `delete`, `rejected`, `recycle_bin`, or `hide` (v23.7.7+).             |
| `dataTypes.risk.rejectedAction`     | `string` | `reject`        | Workflow action executed when a risk item is rejected during review.                                      |
| `dataTypes.risk.rejectedStatus`     | `string` | `rejected`      | Status value set when a risk item is rejected.                                                            |
| `dataTypes.risk.rejectedResolution` | `string` | `invalid`       | Resolution value set when a risk item is rejected.                                                        |

<Warning title="Required: `dataTypes.risk.type`">
  The `dataTypes.risk.type` property has no usable default — you must define the Polarion work item type for risk items. Without it, Risksheet cannot query or create risk items, producing the error: `"No type attribute is defined for dataType"`.
</Warning>

### Task Data Type Defaults

| Property                         | Type      | Default            | Description                                                                                                                              |
| -------------------------------- | --------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `dataTypes.task.type`            | `string`  | None               | Polarion work item type ID for task/mitigation items. Since v25.3.1, supports comma-separated values for multiple types.                 |
| `dataTypes.task.role`            | `string`  | None               | Link role connecting risk items to task items (for example, `mitigates`).                                                                |
| `dataTypes.task.name`            | `string`  | None (recommended) | Display name shown in the toolbar and menus (for example, `Task`, `Safety Requirement`).                                                 |
| `dataTypes.task.zoomColumn`      | `string`  | None (recommended) | Column ID used as the target for zoom navigation after task creation.                                                                    |
| `dataTypes.task.canCreate`       | `boolean` | `true`             | Global switch for task creation. When `false`, users can only link to existing tasks, not create new ones.                               |
| `dataTypes.task.linkToRisksheet` | `boolean` | `false`            | When `true`, the task ID column becomes a clickable hyperlink to a downstream risksheet document specified by `dataTypes.task.document`. |

```yaml theme={null}
dataTypes:
  risk:
    type: failureMode
  task:
    type: safetyRequirement
    role: mitigates
    name: Safety Requirement
    zoomColumn: taskTitle
    canCreate: true
```

## Header Property Defaults

| Property                           | Type     | Default | Description                                                                                                            |
| ---------------------------------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------- |
| `headers.columnHeader.height`      | `number` | `32`    | Column header row height in pixels.                                                                                    |
| `headers.columnGroupHeader.height` | `number` | `32`    | Column group header row height in pixels.                                                                              |
| `headers.rowHeader.renderer`       | `string` | None    | Custom renderer function for row headers. When set, applies conditional styling (for example, RPN-based color coding). |

```yaml theme={null}
headers:
  rowHeader:
    renderer: rowHeaderRpnNew
  columnHeader:
    height: 32
  columnGroupHeader:
    height: 32
```

## Global Settings Defaults

| Property         | Type     | Default | Description                                                                                                                                             |
| ---------------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `global.culture` | `string` | `en`    | Culture/locale code affecting date formats, number formats, and localization. See [Culture and Localization Codes](/risksheet/reference/culture-codes). |

<Info title="Verify in application">
  Additional `global` properties (help URL, refresh behavior, menu organization) have defaults that may vary by Risksheet version. Consult the [Configuration Properties Index](/risksheet/reference/configuration/properties-index) for the complete list.
</Info>

## Review Configuration Defaults

| Property                | Type     | Default        | Description                                                                                                    |
| ----------------------- | -------- | -------------- | -------------------------------------------------------------------------------------------------------------- |
| `reviews.reviewManager` | `string` | `CommentBased` | Review workflow mechanism. Three managers are available: `CommentBased`, `ApprovalBased`, and `WorkItemBased`. |

<Note title="Approval review limitation">
  Risksheet's approval-based review records approval-tagged comments. It does **not** trigger Polarion's formal approval state transitions (draft to reviewed to approved). For full Polarion approval workflow, configure the document workflow separately.
</Note>

## Auto-Read-Only Rules

Risksheet automatically overrides the `readOnly` default (`false`) to `true` for columns matching these conditions, regardless of your explicit configuration:

| Condition             | Applied To  | Reason                                                        |
| --------------------- | ----------- | ------------------------------------------------------------- |
| `formula` is set      | Column      | Calculated values cannot be manually edited                   |
| `serverRender` is set | Column      | Server-rendered content is display-only                       |
| Reference column      | Column      | Cross-project referenced items are read-only                  |
| System field binding  | Column      | Fields `author`, `resolution`, `created`, `updated`, `type`   |
| Permission denied     | Column      | User lacks write access to the bound field                    |
| Historical revision   | Entire grid | Viewing a past revision forces read-only on the entire config |

## Runtime Properties (Server-Managed)

The following properties appear in the runtime configuration object but are **set by the server at request time** and must not be authored in the sheet configuration. They are listed here for completeness only:

| Property       | Type      | Description                                                                                  |
| -------------- | --------- | -------------------------------------------------------------------------------------------- |
| `canAdmin`     | `boolean` | Whether the current user has admin privileges. Set from the user's Polarion role at runtime. |
| `reviewer`     | `boolean` | `true` when the current request is rendering review mode.                                    |
| `source`       | `string`  | Path of the configuration source actually used (document attachment or template).            |
| `templateName` | `string`  | Name of the template when the document inherits configuration from a global template.        |

Do not set these in the sheet configuration — values you provide will be overwritten by the server.

## Configuration File Location

The sheet configuration is stored as an attachment on the Polarion LiveDoc document. The configuration resolution order is:

1. **Document-specific** sheet configuration — attached directly to the LiveDoc.
2. **Template-based** — loaded from a global template referenced by the document's `templateDoc` custom field.
3. **Defaults applied** — factory defaults fill in any missing properties.

Since v25.5.0 the sheet configuration can be edited in a YAML editor with syntax highlighting, error detection, and history. See [Document Configuration Override](/risksheet/reference/configuration/document-config-override) and [Template Path Configuration](/risksheet/reference/configuration/template-path-configuration) for inheritance details.

## Complete Minimal Example

The smallest valid sheet configuration that produces a working FMEA risksheet. All other properties use their documented defaults. The `severity` and `occurrence` rating scales are defined as Polarion enumerations under **Administration > Enumerations**, with matching custom fields (`sev`, `occ`) on the `failureMode` work item type:

```yaml theme={null}
global:
  culture: en
dataTypes:
  risk:
    type: failureMode
levels:
  - name: Failure mode
    controlColumn: title
    zoomColumn: title
  - name: Cause
    controlColumn: systemItemId
    zoomColumn: systemItemId
columns:
  - bindings: title
    header: Failure Mode
  - bindings: sev
    header: Severity
    type: rating:severity
  - bindings: occ
    header: Occurrence
    type: rating:occurrence
```

In this example:

* `columns[].id` is auto-generated from `bindings` (for example, `title`, `sev`, `occ`).
* `columns[].type` is auto-detected for the `title` column (becomes `text`) and explicitly set for rating columns.
* `columns[].level` defaults to `1` for all columns.
* `columns[].readOnly` defaults to `false`.
* `columns[].filterable` defaults to `true`.
* `levels[].showInMenu` defaults to `true` for both levels.
* `dataTypes.risk.removeStrategy` defaults to `delete`.
* `dataTypes.risk.rejectedAction` defaults to `reject`.
* `global.culture` defaults to `en` (shown explicitly for clarity).
* `reviews.reviewManager` defaults to `CommentBased`.

The `severity` and `occurrence` rating values come from the Polarion enumerations of the same name — the server loads them automatically when a column uses `type: rating:<enumId>`.

## Related Pages

* [Sheet Configuration Format](/risksheet/reference/configuration/risksheet-json-format) — full sheet configuration format reference
* [Configuration Properties Index](/risksheet/reference/configuration/properties-index) — alphabetical property listing
* [Configuration Validation Rules](/risksheet/reference/configuration/config-validation-rules) — validation rules and error messages
* [Document Configuration Override](/risksheet/reference/configuration/document-config-override) — document-level config overrides
* [Template Path Configuration](/risksheet/reference/configuration/template-path-configuration) — template inheritance
* [Column Type Reference](/risksheet/reference/columns/column-types) — column definition properties
* [Data Types](/risksheet/reference/columns/data-types) — data type behavior and field mapping
* [Levels Configuration](/risksheet/reference/levels-configuration) — hierarchical level setup

<LastReviewed date="2026-06-08" />
