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

# Template Path Configuration

> Nextedy RISKSHEET uses a template inheritance system to resolve configuration files.

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>;
};

## Template-Instance Model

Risksheet configuration follows a **template-instance** model:

* **Template** — a single sheet configuration defined once at the project or global level. The template specifies which columns appear, how levels are organized, which formulas calculate values, and how cells are styled.
* **Instances** — many Polarion LiveDoc documents bound to the template. Each instance is a risksheet that reads its structure from the shared template.
* **Binding context** — each instance is bound to a context: a specific LiveDoc within a Polarion project. Multiple instances can share the same template across many documents and projects.

This separation means a single sheet configuration can drive any number of risksheet instances. When the template changes, every bound instance reflects the new structure on the next load. To customize a single document independently, override the template (see [Override Template Workflow](#override-template-workflow) below).

Templates live in one of two locations:

| Location             | Scope                                          | Typical use                                                               |
| -------------------- | ---------------------------------------------- | ------------------------------------------------------------------------- |
| **Project template** | One Polarion project                           | Project-specific risk analysis structure                                  |
| **Global template**  | Shared across projects (e.g., `GlobalLibrary`) | Organization-wide standard for FMEA, HARA, TARA, or similar methodologies |

The project-level property `nextedy.risksheet.risksheetTemplatePath` points to the template document, with the format `PROJECTID:TEMPLATE_PATH` (for example, `GlobalLibrary:Risks/Risk Specification`).

## Template Resolution Flow

When Risksheet opens a document, it resolves the sheet configuration by searching in this order:

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

The resolution result includes metadata about where the sheet configuration was found. This metadata is exposed through the configuration API and shown in the Risksheet UI to help administrators understand which configuration is active for each instance.

## Configuration Source Properties

These properties track where the current sheet configuration was loaded from. They are set automatically by the configuration loader and are read-only.

| Property       | Type      | Default | Description                                                                                                                                                                                                                |
| -------------- | --------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `source`       | `string`  | `null`  | Path to the configuration source file (document or template) used to load the current Risksheet configuration.                                                                                                             |
| `templateName` | `string`  | `null`  | Display name of the template document from which configuration was inherited. Includes the project name prefix if the template is from a different project. Empty when configuration is directly attached to the document. |
| `fromTemplate` | `boolean` | `false` | Flag indicating whether the configuration was loaded from a template document rather than the target document itself. Set to `true` when configuration is inherited from a template module.                                |
| `configPath`   | `string`  | None    | URI path to the configuration attachment that was actually loaded, whether from the document itself or from a template. Useful for debugging configuration source tracking.                                                |
| `fileName`     | `string`  | None    | Path and name of the document where configuration was requested (not necessarily where it was found). Formatted as `folder/documentTitle`.                                                                                 |
| `revision`     | `string`  | None    | Data revision identifier of the cached configuration attachment. Used internally for cache invalidation when attachment content changes.                                                                                   |

## Template Path Project Setting

The template path setting controls where users can create new Risksheet documents in the project folder structure.

| Property                                  | Type     | Default                    | Description                                                                                                           |
| ----------------------------------------- | -------- | -------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `nextedy.risksheet.risksheetTemplatePath` | `string` | `Risks/Risk Specification` | One or more document template paths where risk documents can be created. Supports multiple paths separated by commas. |

### Single Path

```
Risks/Risk Specification
```

This is the default. New Risksheet documents are created in the `Risks/` folder using the `Risk Specification` template.

### Multiple Paths

```
Risks/Risk Specification,Risks/HARA Template,Safety/FMEA Template
```

When multiple paths are specified (comma-separated), the document creation wizard presents all available templates to the user. Each path points to a folder and template name combination. Pick the closest solution template for your industry and methodology, then modify the instance to match your process.

<Tip title="Template Path Format">
  Each path follows the format `FolderName/TemplateName`. The folder name determines where in the Polarion project structure new documents are created. The template name identifies which Polarion template module provides the initial document structure and default sheet configuration.
</Tip>

## Document Creation Wizard

The template path setting feeds into the document creation wizard accessible from the Risksheet home view. The wizard allows users to:

1. Browse available folders defined in the template path setting
2. Select a template from the configured options
3. Enter a document name
4. Create the document with the selected template's default sheet configuration

| Validation Rule    | Description                                                                   |
| ------------------ | ----------------------------------------------------------------------------- |
| Folder required    | The folder field cannot be empty. Validation rejects empty folder selections. |
| Template selection | When multiple template paths are configured, the user must select one.        |
| Document name      | A non-empty document name is required.                                        |

The document creation endpoint is `POST /document/create`. On success, the user is redirected to the new Risksheet document. On failure, an error message is displayed.

## Override Template Workflow

Risksheet provides a mechanism to detach a document's sheet configuration from its inherited template, creating a document-specific configuration:

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

* **Override Template**: Creates local copies of the configuration files (sheet configuration, PDF export configuration, and any other template attachments) directly on the document, detaching the instance from the global template.
* **Revert to Template**: Removes the document-level configuration attachments and restores template inheritance. This discards all document-specific customizations.

<Warning title="Revert Discards Changes">
  Reverting a document back to template inheritance permanently discards any document-specific configuration changes. There is no undo for this operation. Consider backing up the document's sheet configuration attachment before reverting.
</Warning>

## Configuration Editor

Risksheet provides a visual configuration editor accessible via the toolbar or context menu. The editor opens in a new browser window and supports YAML editing for the sheet configuration (v25.5.0+).

| Property        | Type     | Default                               | Description                                                                                                            |
| --------------- | -------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `configEditUrl` | `string` | `${baseUrl}/risksheet/configuration/` | Base URL for the Risksheet configuration editor interface.                                                             |
| `projectId`     | `string` | Current project                       | The Polarion project identifier passed as a query parameter to the editor.                                             |
| `document.id`   | `string` | Current document                      | The document identifier passed as a query parameter to specify which document's configuration to edit.                 |
| `type`          | `string` | See application                       | The type of configuration to edit (e.g., `columns`, `settings`, `levels`). Determines which editor panel is displayed. |

The configuration editor URL is constructed as:

```
${configEditUrl}?project=${projectId}&document=${document.id}&type=${type}
```

## Suggester Configuration

Project-level settings control the behavior of the autocomplete suggester used in item link and task link columns. These settings apply globally to all Risksheet documents in the project.

| Property                                      | Type      | Default | Description                                                                                                                                                               |
| --------------------------------------------- | --------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `nextedy.risksheet.suggester.keywordRequired` | `boolean` | `false` | Controls whether keywords are mandatory when using the suggester feature for finding and linking work items. When `true`, users must provide keywords to search.          |
| `nextedy.risksheet.suggester.fuzzySearch`     | `boolean` | `true`  | Enables or disables fuzzy searching in the item suggester. Fuzzy search allows approximate matches, helping users find items despite slight spelling variations or typos. |
| `nextedy.risksheet.suggester.resultLimit`     | `number`  | `20`    | Maximum number of suggestions shown when searching for items to link. Higher values provide more options but may impact performance.                                      |
| `nextedy.risksheet.suggester.wildcardSearch`  | `boolean` | `true`  | Enables or disables wildcard searching. When `true`, users can use wildcard characters (`*` and `?`) when searching for items.                                            |
| `nextedy.risksheet.suggester.allFieldSearch`  | `boolean` | `false` | When enabled, searches all fields of linked items instead of just primary fields. Provides more comprehensive search results but may impact performance.                  |

<Tip title="Performance Tuning">
  For large projects with thousands of work items, consider reducing `resultLimit` to `10` and disabling `allFieldSearch` to improve autocomplete responsiveness. Enable `keywordRequired` to force more targeted searches.
</Tip>

## UI Customization Settings

Project-level settings allow organizations to rebrand and customize the Risksheet interface.

| Property                          | Type     | Default         | Description                                                                                                                                           |
| --------------------------------- | -------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| `nextedy.risksheet.toolName`      | `string` | `Risksheet`     | Display name of the tool shown in the UI. Organizations can rebrand to match their terminology (e.g., `FMEA Tool`, `Risk Matrix`, `Safety Analysis`). |
| `nextedy.risksheet.documentNames` | `string` | `Risk Analyses` | Plural form of the document type name shown in the UI.                                                                                                |
| `nextedy.risksheet.documentName`  | `string` | `Risk Analysis` | Singular form of the document type name shown in the UI. Should match the plural form for consistency.                                                |

<Frame>
  <img src="https://mintcdn.com/none-17b4493f/yWl5nA2D0IzEnZC1/risksheet/diagrams/reference/configuration/template-path-configuration/diagram-3.svg?fit=max&auto=format&n=yWl5nA2D0IzEnZC1&q=85&s=e301779f1814cd1131c0e81100746f33" alt="diagram" style={{ maxWidth: "600px", width: "100%" }} width="600" height="260" data-path="risksheet/diagrams/reference/configuration/template-path-configuration/diagram-3.svg" />
</Frame>

## Additional Project Properties

| Property                               | Type      | Default                                           | Description                                                                                                                                                                                                                                          |
| -------------------------------------- | --------- | ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `nextedy.risksheet.disableAutoSuspect` | `boolean` | `false`                                           | Disables automatic suspect link marking when changes are made through Risksheet. When `true`, edits in Risksheet do not trigger suspect links on linked work items. Useful for workflows where Risksheet edits should not invalidate existing links. |
| `settings.global.help`                 | `string`  | `https://go.nextedy.com/risksheet-support-portal` | URL opened when users click the Help button. Override this to point to your organization's internal documentation.                                                                                                                                   |

## Configuration Loading and Caching

Risksheet caches sheet configuration files for performance. The cache uses the attachment revision identifier to detect changes:

| Behavior             | Description                                                                                      |
| -------------------- | ------------------------------------------------------------------------------------------------ |
| Cache key            | Document path + configuration file name                                                          |
| Cache invalidation   | Triggered when the attachment `revision` changes                                                 |
| Configuration update | Use **Menu > Override Template** or the configuration editor; changes take effect on page reload |

<Warning title="Error Handling">
  If the sheet configuration cannot be read or parsed, Risksheet logs an error: `"Error while reading configuration"`. Check the Polarion server logs for details. Common causes include malformed configuration syntax or missing template attachments.
</Warning>

## Complete Example

Project-level settings configured in Polarion Administration:

```
nextedy.risksheet.risksheetTemplatePath = Risks/FMEA Template,Risks/HARA Template,Safety/TARA Template
nextedy.risksheet.toolName = Risk Analysis Tool
nextedy.risksheet.documentNames = Risk Assessments
nextedy.risksheet.documentName = Risk Assessment
nextedy.risksheet.disableAutoSuspect = false
nextedy.risksheet.suggester.keywordRequired = false
nextedy.risksheet.suggester.fuzzySearch = true
nextedy.risksheet.suggester.resultLimit = 15
nextedy.risksheet.suggester.wildcardSearch = true
nextedy.risksheet.suggester.allFieldSearch = false
```

This configuration:

* Provides three template options (FMEA, HARA, TARA) in the document creation wizard
* Rebrands the tool as "Risk Analysis Tool" with "Risk Assessment" document naming
* Keeps auto-suspect links enabled for traceability compliance
* Configures the suggester with a 15-result limit and fuzzy/wildcard search enabled

## Related Pages

* [Sheet Configuration Format](/risksheet/reference/configuration/risksheet-json-format) for the complete sheet configuration schema
* [Document Configuration Override](/risksheet/reference/configuration/document-config-override) for detailed override workflow documentation
* [Default Configuration Values](/risksheet/reference/configuration/default-values) for default property values across all configuration sections
* [Configuration Properties Index](/risksheet/reference/configuration/properties-index) for a complete alphabetical list of all properties
* [Configuration Interactions](/risksheet/reference/configuration/config-interactions) for property dependencies and co-occurrence patterns

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