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

# Document Checklist

> By the end of this tutorial, you will have a working checklist attached to a Polarion LiveDoc.

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

## What you will achieve

By the end of this tutorial, you will have a working checklist attached to a Polarion LiveDoc. You will create a custom field for documents, embed the checklist widget into the document report page, configure a document-level template, and verify the setup by interacting with checklist items on a live document.

## Prerequisites

* Nextedy CHECKLIST plugin installed and active (see [Installation](/checklist/getting-started/installation))
* A Polarion project with administrator access
* Permission to create custom fields and edit document report pages
* Familiarity with Polarion LiveDoc structure

## Setup overview

<Frame>
  <img src="https://mintcdn.com/none-17b4493f/Jklvz9qm2AdmIvBG/checklist/diagrams/getting-started/document-checklist/diagram-1.svg?fit=max&auto=format&n=Jklvz9qm2AdmIvBG&q=85&s=f2aea81b697e833267311316f6631de5" alt="diagram" style={{ maxWidth: "720px", width: "100%" }} width="720" height="180" data-path="checklist/diagrams/getting-started/document-checklist/diagram-1.svg" />
</Frame>

<Steps>
  <Step title="Create a checklist custom field for documents">
    Create a new custom field on the Module (document) object to store checklist data.

    1. Open your Polarion project and navigate to **Administration > Custom Fields > Module Custom Fields**
    2. Click **Add** to create a new field
    3. Set the following values:

    | Field Property | Value                            |
    | -------------- | -------------------------------- |
    | ID             | `docReview`                      |
    | Name           | `Document Review Checklist`      |
    | Type           | **Text (multi-line plain text)** |

    4. Save the custom field

    <Warning title="Field type is critical">
      The custom field **must** be of type **Text (multi-line plain text)**. Other field types will produce an error when the checklist widget attempts to render.
    </Warning>

    You should see the `docReview` field listed in the Module Custom Fields table.
  </Step>

  <Step title="Embed the checklist widget in the document report page">
    Unlike work items, document checklists are displayed using a script block widget on the document report page rather than a form extension.

    1. Open the LiveDoc where you want to add the checklist
    2. Click **Customize Report Page** in the document toolbar
    3. Select **Customize Shared Report** to share the configuration across documents of the same type

    <Tip title="Shared vs. individual report">
      Use **Customize Shared Report** when you want all documents of a given type to display the checklist. Use individual customization only if a specific document needs a unique layout.
    </Tip>

    4. In the report page editor, place a **Script Block Widget** in the location where you want the checklist to appear
    5. Enter the following rendering call in the script block:

    ```velocity theme={null}
    $checklistService.getChecklistView().document($module).checklist("docReview").render()
    ```

    <Note title="Field ID reference">
      The `"docReview"` string in the `checklist()` call must match the ID of the custom field you created in Step 1. If your field has a different ID, substitute it here.
    </Note>

    6. Save the report page

    You should now see the checklist widget appear on the document page. It displays an empty checklist until you configure a template.
  </Step>

  <Step title="Configure a document template">
    Set up a template so that documents inherit a predefined checklist. Document templates use a different configuration property than work item templates.

    1. Navigate to **Administration > Configuration Properties**
    2. Add the following configuration property, replacing the document location path with the path to the document that holds your master checklist:

    ```properties theme={null}
    nextedy.checklist.docReview.documentTemplateId=MyProject/Design Documents/Review Template
    ```

    This tells the Checklist plugin to merge the checklist items from the specified template document into every document that uses the `docReview` field.

    <Note title="Configuration property hierarchy">
      You can scope the template to a specific document type using the hierarchical property pattern:

      ```properties theme={null}
      nextedy.checklist.<typeId>.<fieldId>.documentTemplateId=<document-location>
      ```

      For example, to apply a template only to documents of type `specification`:

      ```properties theme={null}
      nextedy.checklist.specification.docReview.documentTemplateId=MyProject/Templates/Spec Review
      ```
    </Note>

    Alternatively, you can use the `nextedy.checklist._TYPEID._FIELDID.documentTemplateHolder` configuration property to point to a custom field that dynamically holds the template document location, allowing different documents to use different templates.

    <Info title="Verify in application">
      The document location path format may vary depending on your project structure. Verify the path by checking the document properties in Polarion.
    </Info>
  </Step>

  <Step title="Verify the checklist on a document">
    1. Open a LiveDoc that has the report page configured in Step 2
    2. Scroll to the location where you placed the script block widget

    You should see the checklist items from the template rendered in the document page. Each item displays its current result state.

    3. Click a checklist item to change its result state (OK, NOK, N/A, Pending)
    4. The checklist state saves automatically to the document

    | Result State | Typical Use in Document Reviews           |
    | ------------ | ----------------------------------------- |
    | OK           | Review criterion passed                   |
    | NOK          | Review criterion failed -- action needed  |
    | N/A          | Criterion not applicable to this document |
    | Pending      | Criterion deferred to next review cycle   |
    | Empty        | Criterion not yet evaluated               |

    <Tip title="PDF export">
      Document checklists can render in PDF exports as static HTML tables. If you want to hide the checklist in PDF output, add `.hideInPdf()` to the rendering call:

      ```velocity theme={null}
      $checklistService.getChecklistView().document($module).checklist("docReview").hideInPdf().render()
      ```
    </Tip>
  </Step>
</Steps>

## Next steps

Your document checklist is now operational. Continue with these topics:

* [Work Items Checklist](/checklist/getting-started/work-items-checklist) -- set up checklists on individual work items within documents
* [Test Run Checklist](/checklist/getting-started/test-run-checklist) -- attach checklists to test runs
* [Plan Checklist](/checklist/getting-started/plan-checklist) -- add checklists to project plans
* [Baselines and Comparison](/checklist/guides/baselines) -- freeze checklist states for document baselines and audit compliance
* [Workflow Gates and Validation](/checklist/guides/workflow-gates) -- enforce checklist completion before document status transitions
* [Configuration Properties](/checklist/reference/configuration-properties) -- full reference of all `nextedy.checklist.*` properties

<LastReviewed date="2026-07-02" />
