> ## 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.

# System Fields

> System fields are internal bindings managed by the Nextedy RISKSHEET grid infrastructure.

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/fields/system-fields/diagram-1.svg?fit=max&auto=format&n=yWl5nA2D0IzEnZC1&q=85&s=6f188f61d92cb16ce4b53a5390b53fd4" alt="diagram" style={{ maxWidth: "700px", width: "100%" }} width="700" height="200" data-path="risksheet/diagrams/reference/fields/system-fields/diagram-1.svg" />
</Frame>

## Item Identity Fields

These bindings track work item identity across revisions and enable baseline comparison. Risksheet uses them to maintain item relationships when viewing historical revisions or comparing baselines.

| Name                       | Type     | Default          | Description                                                                                                                                                                                                                                              |
| -------------------------- | -------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `systemItemId`             | `string` | Server-assigned  | The Polarion work item ID. Used for cross-reference, linking, and grouping tasks under parent items. This is the primary identifier that links grid rows to Polarion work items. Tasks use this field to reference their parent risk item.               |
| `systemOriginalItemId`     | `string` | Server-assigned  | The original item identifier preserved across revisions. When viewing historical document versions, this field maintains the identity of the item even when its revision changes. Enables Risksheet to track an item across its entire revision history. |
| `systemItemProjectId`      | `string` | Current project  | The project ID where the work item resides. Used in cross-project Risksheet configurations to identify which project a particular item belongs to. Critical when the grid displays items from multiple projects.                                         |
| `systemItemRevision`       | `string` | Current revision | The specific version/revision of the work item. Used in baseline comparison workflows to identify which revision of an item is being displayed. When viewing a specific document revision, this field reflects the item's state at that point in time.   |
| `systemItemFrozenRevision` | `string` | None             | The frozen revision identifier for baseline snapshots. Set when a document baseline is created, locking the item to a specific revision for traceability purposes.                                                                                       |

<Note title="Revision-Based Read-Only">
  When viewing a historical document revision (i.e., when the `revision` parameter is set in the URL), the entire Risksheet grid is automatically forced into read-only mode. This is controlled by the configuration parser, which sets `readonly` to `true` whenever a non-empty revision is detected.
</Note>

## Standard Item Data Bindings

These bindings provide access to common work item properties that appear in grid columns and drive navigation behavior.

| Name       | Type      | Default              | Description                                                                                                                                                                                                       |
| ---------- | --------- | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ID`       | `string`  | Server-assigned      | Standard binding key used to identify unique work items in the grid data model. Displayed in ID columns. For newly created items, this shows a temporary ID prefixed with `*` until the item is saved.            |
| `tempId`   | `string`  | Generated            | Temporary identifier assigned to newly created items before server assignment. Visible in the grid until the first save operation, after which it is replaced by the permanent Polarion work item ID.             |
| `revision` | `string`  | Current              | The current revision number of the work item. Appears in the grid when viewing historical document versions.                                                                                                      |
| `idNew`    | `boolean` | `true` for new items | Flag indicating the item has not been saved to the server yet. Items with `idNew` set to `true` show the temporary `*`-prefixed ID. After saving, this flag is cleared and the permanent ID is assigned.          |
| `link`     | `string`  | Generated URL        | Hyperlink URL to the Polarion work item in the standard Polarion editor. Enables click-to-navigate behavior in the grid -- clicking an item ID or using the **Open Row Item** context menu action opens this URL. |
| `title`    | `string`  | Empty                | The work item title text. Bound to the `title` column in the grid.                                                                                                                                                |
| `label`    | `string`  | Empty                | Display text label for the work item. Used for rendering item references in link columns and autocomplete suggestions.                                                                                            |

### Item Link Field Convention

For columns that reference linked work items, Risksheet uses a naming convention with a `_link` suffix.

| Name             | Type     | Default              | Description                                                                                                                                                                                                                                                                             |
| ---------------- | -------- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `{binding}_link` | `string` | Server-rendered HTML | Appended to any column binding name to access the pre-rendered HTML link for that linked item. For example, a column with binding `sysReq` has a corresponding `sysReq_link` property containing the HTML hyperlink. This suffix is used for both item link and task link column types. |

<Tip title="Link Suffix Pattern">
  The `_link` suffix convention applies throughout Risksheet. When you define an item link column with `"id": "sysReq"`, the system automatically creates a companion property `sysReq_link` containing the rendered HTML for that link. The same pattern applies to task link columns -- a column with `"id": "taskId"` generates `taskId_link`.
</Tip>

## Read-Only State Fields

These fields control which items and cells can be edited in the Risksheet grid. Read-only state operates at multiple levels: grid-level, item-level, field-level, and task-specific.

### Item-Level Read-Only

| Name                   | Type                    | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ---------------------- | ----------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `systemReadOnly`       | `boolean`               | `false` | Marks the entire item as non-editable. When `true`, all cells in the row are locked and cannot be modified by the user. This flag is set based on Polarion permissions, document state, or workflow conditions. The grid visually marks affected cells with a `readonly` CSS class.                                                                                                                                                                                                                                                                                 |
| `systemReadOnlyFields` | pipe-delimited `string` | `""`    | Lists specific field names that are non-editable for this item, even if the item itself is otherwise editable. This enables fine-grained control where certain fields (e.g., fields controlled by workflow transitions) are locked while others remain editable. The value is a pipe-delimited string in which each locked field is wrapped in pipes as `\|fieldId\|`. To lock a field, append `\|fieldId\|` to the string (string concatenation), e.g. `info.item.systemReadOnlyFields = (info.item.systemReadOnlyFields \|\| '') + '\|severity\|\|occurrence\|'`. |

### Task-Level Read-Only

| Name                       | Type                    | Default | Description                                                                                                                                                                                                                                                                                                                                         |
| -------------------------- | ----------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `systemTaskReadOnly`       | `boolean`               | `false` | Marks linked task items as non-editable, separate from the parent risk item's read-only state. When `true`, all task-specific columns in the task row are locked. This allows a risk item to be editable while its associated mitigation tasks are read-only (or vice versa).                                                                       |
| `systemTaskReadOnlyFields` | pipe-delimited `string` | `""`    | Lists specific fields that are non-editable in linked task items. Allows field-level control over task editing permissions independently from the parent risk item's permissions. Like `systemReadOnlyFields`, the value is a pipe-delimited string with each locked field wrapped in pipes as `\|fieldId\|`; append `\|fieldId\|` to lock a field. |

<Warning title="Resolution Field Restriction">
  The Polarion `resolution` field cannot be edited from within Risksheet. This field is typically a mandatory field during status transitions, and status changes from Risksheet only work when all transition conditions are met without mandatory field requirements. If you need to set the resolution, use the Polarion work item editor directly.
</Warning>

### Read-Only State Hierarchy

Read-only state is determined at multiple levels, with the most restrictive level taking precedence:

| Level                 | Source                                                   | Effect                                                                                 |
| --------------------- | -------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| Grid-level            | `readonly: true` in sheet configuration                  | All cells in the entire grid are non-editable                                          |
| Revision-based        | Non-empty `revision` URL parameter                       | Forces `readonly: true` for the entire grid                                            |
| Downstream-level      | `downstreamReadonly: true` in sheet configuration        | Items from linked documents are non-editable; task creation is blocked for those items |
| Reviewer mode         | `reviewer: true` in sheet configuration                  | Restricts editing and shows review-specific UI controls                                |
| Item-level            | `systemReadOnly` flag on the item                        | All cells in that specific row are locked                                              |
| Field-level           | `systemReadOnlyFields` pipe-delimited string on the item | Only the listed fields are locked; other fields in the row remain editable             |
| Column-level          | `readOnly` property in column definition                 | All cells in that column are locked regardless of item permissions                     |
| Formula columns       | `formula` property set on column                         | Cells are automatically read-only because values are calculated                        |
| Server render columns | `serverRender` property set on column                    | Cells are read-only because content is rendered server-side                            |
| Task item-level       | `systemTaskReadOnly` flag                                | All task-specific cells in that task row are locked                                    |
| Task field-level      | `systemTaskReadOnlyFields` pipe-delimited string         | Only the listed task fields are locked                                                 |

### System-Managed Fields

The following fields are always read-only because they are managed by Polarion:

| Field        | Reason                                                                      |
| ------------ | --------------------------------------------------------------------------- |
| `author`     | System-managed creation metadata -- set when the item is first created      |
| `resolution` | Controlled by workflow transitions -- cannot be set directly from Risksheet |
| `created`    | System-managed timestamp -- set at creation time                            |
| `updated`    | System-managed timestamp -- set on every modification                       |
| `type`       | Work item type is immutable after creation                                  |

### System Fields Excluded During Paste Operations

When using the **Insert Rows Below** command to paste items from the clipboard, the following system fields are automatically excluded from the pasted data to ensure proper identity generation for new items:

| Field                      | Reason                                     |
| -------------------------- | ------------------------------------------ |
| `systemItemId`             | New items receive fresh IDs                |
| `systemReadOnly`           | Permissions are re-evaluated for new items |
| `systemReadOnlyFields`     | Field-level permissions are re-evaluated   |
| `systemTaskReadOnlyFields` | Task permissions are re-evaluated          |

## Reference Item Fields

| Name                  | Type     | Default | Description                                                                                                                                                                                                                                                            |
| --------------------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `systemReferenceType` | `string` | None    | Identifies items that are external references from other projects or spaces in cross-project Risksheet configurations. Possible values: `reference` (read-only external item displayed with special indicators) or `overwrite` (local copy that allows modifications). |

<Tip title="Converting References to Local Copies">
  Right-click a referenced item (where `systemReferenceType` is `reference`) and select **Overwrite Row Item** from the context menu. This changes the value to `overwrite`, converting the item to a local copy that you can modify. This option requires `refreshOnSave` to be enabled (the default).
</Tip>

## Review Workflow Fields

These bindings enable the review workflow features in the Risksheet grid. They are available when the `reviews` section is configured in sheet configuration.

| Name              | Type     | Default | Description                                                                                                                                                                                                                                                                            |
| ----------------- | -------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `reviewsRendered` | `string` | Empty   | Column binding that displays review status and approval information for work items. Shows formatted review entries including reviewer name, timestamp, and comment text. The display format depends on the configured `reviewManager` (CommentBased, ApprovalBased, or WorkItemBased). |
| `reviewsAdd`      | `string` | Empty   | Column binding that provides UI controls to add new reviews or approvals to work items. When the review workflow is configured, this binding creates an interactive control in the grid row for initiating new review entries.                                                         |

### Review Manager Types

The `reviews.reviewManager` property determines which review strategy is used:

| Value           | Behavior                                                                                                  |
| --------------- | --------------------------------------------------------------------------------------------------------- |
| `CommentBased`  | Reviews are created as Polarion comments attached to the work item                                        |
| `ApprovalBased` | Reviews use Polarion's native approval comment system with fixed title `Approval comment`                 |
| `WorkItemBased` | Reviews are created as separate Polarion work items linked to the reviewed item via configured link roles |

## Complete Example

The following sheet configuration excerpt demonstrates how system fields interact with column configuration and permission settings:

```yaml theme={null}
readonly: false
downstreamReadonly: true
reviewer: false
columns:
- id: ID
  header: ID
  width: 80
  readOnly: true
- id: title
  header: Failure Mode
  width: 200
  readOnly: false
- id: severity
  header: Severity
  width: 80
  type: rating:severity
- id: rpn
  header: RPN
  width: 80
  formula: commonRpn
- id: sysReq
  header: System Requirement
  width: 150
  type: itemLink
  readOnly: true
reviews:
  reviewManager: ApprovalBased
```

In this configuration:

* `readonly: false` allows grid-level editing
* `downstreamReadonly: true` prevents editing of linked items from other documents and blocks task creation for downstream items
* The `ID` column is explicitly read-only via the column-level `readOnly` property
* The `rpn` column is automatically read-only because it has a `formula` property
* The `sysReq` column has a companion `sysReq_link` binding available via the `_link` suffix convention
* Review columns (`reviewsRendered`, `reviewsAdd`) are implicitly available because `reviews` is configured
* Items with `systemReadOnly: true` override all column-level settings and lock the entire row
* Items with `systemReferenceType: "reference"` appear as read-only cross-project references with an **Overwrite Row Item** context menu option

## Related Pages

* [Field Mapping](/risksheet/reference/fields/field-mapping) -- how Polarion fields map to Risksheet column bindings
* [Supported Field Types](/risksheet/reference/fields/supported-field-types) -- complete list of supported field types and their grid behaviors
* [Calculated Columns](/risksheet/reference/columns/calculated-columns) -- formula columns and automatic read-only behavior
* [Configuration Properties Index](/risksheet/reference/configuration/properties-index) -- full property reference for sheet configuration
* [Column Type Reference](/risksheet/reference/columns/column-types) -- column definition properties including `readOnly`, `formula`, and `cellRenderer`

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