# Configuring the Requirement Hierarchy Viewer (Registration & Dossier Management)

[Registration & Dossier Management](/en/lr/71498/) provides the [Requirement Hierarchy Viewer](/en/lr/623829/) for the _Registration_ and _Registration Item_ objects, which displays all active related _Requirements_ in a hierarchical structure, allowing users to review and adjust the records, nested order, and matched documents before generating a [Dossier Binder](/en/lr/76894/) for a root _Requirement_.

## Configuration Overview {#overview}

Configuring your Vault to use the Requirement Hierarchy Viewer involves the following steps:

1. [Configure the viewer][1]
2. [Configure actions][5], including the _Reorder_ and _Upload_ actions
3. [Configure user permissions][4]

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: Depending on your Vault’s creation date and which features are currently enabled and configured, some of the steps described in this article may be unavailable or already complete in your Vault.</p>
    </div>
  </div>
</div>



## Configuring the Viewer {#viewer}

To configure the viewer on the _Registration_ and _Registration Item_ objects:

1. Navigate to **Admin > Configuration > Objects > [Object] > Layouts > [Layout]**.
2. Insert the **Requirement Viewer** control section with the slider (<img class="inline" src="https://platform.veevavault.help/assets/images/CPC-Icon-Slider.png" alt="Slider Icon" style="" />) icon.
3. Optional: Enter a **Section Label**.
4. Optional: Enter a **Section Name**.
5. Optional: In the **Show the section only in these lifecycle states** field, select one (1) or more lifecycle states. This option only appears if the object uses a lifecycle.
6. Optional: Enter **Section Help** that users will see on object records.
7. Optional: Select the **Expand the section by default** checkbox so that the section is always open when users open the applicable object records.
8. Optional: Select up to 15 [supported fields][2] to display in the section. Drag and drop the fields to determine the order columns are displayed to users:
    * **Grid Columns for RIR**: Fields on the _Requirement_ object, which display to the left of any _EDL Item_ fields you add below.
    * **Grid Columns for EDL Items**: Fields on the _EDL Item_ object, which display to the right of any _Requirement_ fields you add above.
    * Optional: Select up to four (4) **RIR Fields for Default Filters** columns that appear as filters when users first open the viewer. Any fields you add as filters must also be included in the **Grid Columns for RIR** field. The viewer includes the _Status_ field filter by default, so you do not have to include it.
9.  Click **Done**.
10. If applicable, remove the pre-configured related object section for the _Requirement_ object.
11. Click **Save** when you are finished updating the layout.

You cannot insert multiple _Requirement Viewer_ sections to an object's layout.

### Supported Fields {#supported-fields}

Vault supports the following object field types in the _Grid Columns for RIR_ and _Grid Columns for EDL Items_ fields:

* Date
* Lifecycle State
* Name
* Number
* Object (excluding references to the _Document_ object)
* Object Type
* Picklist
* Text (excluding Long Text and Rich Text)
* Yes/No
* Formula (so long as the return type is Date, Icon, Number, Text, or Yes/No)
* Lookup (so long as the type is a supported type listed above)

The viewer always includes the _Requirement's_ _Name_ field as the first column in the grid, so you cannot add it to the _Grid Columns for RIR_ field.

## Configuring Actions {#actions}

From within the viewer, users can execute actions on active records and documents, including actions you've configured on the  _Requirement_ object. The following actions are available for users to select in the viewer:

* _Add Matched Documents_
* _Remove Document_
* _Exclude Document_
* _Lock Version_
* _Unlock Version_

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: The <em>Add Matched Documents</em> action differs from the <em>Add Documents</em> record action on the <em>EDL Item</em> object. The <em>Add Matched Document</em> action is only available in the viewer, and users cannot remove or exclude documents using this action.</p>
    </div>
  </div>
</div>



You can also add the following actions, which are only available on records in the viewer:

* **[Reorder][3]**: Allows users to reorder requirements
* **[Upload][6]**: Allows users to upload documents

### Configuring the Reorder Action {#reorder-action}

You can configure the _Reorder_ action on the _Requirement_ object to allow users to reorder active requirements directly in the viewer using the **Move Up** and **Move Down** options from a record's **Actions** menu. When a user selects either option for any descendant _Requirement_ in the viewer, they can move that record up or down within the same parent record. These options are only visible on _Requirements_ in the viewer. Users will not see these options when they access _Requirements_ outside of the viewer.

To configure the _Reorder_ action, [assign](/en/lr/43127/#assign-actions) the action to the _Requirement_ object and do one (1) of the following:

 * Select the **Available in All Lifecycle State** checkbox to apply [atomic action security](/en/lr/47850/#Atomic_Security_Actions) defaults for the applicable lifecycle states.
 * Add the action as a [user action](/en/lr/59885/#define-actions) to the applicable states of the _Requirement_ object lifecycle.

From within the viewer, users can also execute any record actions you've configured on the _Requirement_ object.

### Configuring the Upload Action {#upload-action}

You can configure the _Upload_ action on the _EDL Item_ and _Requirement_ objects to allow users to upload documents directly in the viewer. When a user uploads a document with this action, Vault adds it as a matched document to the record on which they ran the action and to your document library.

To configure the _Upload_ action, [assign](/en/lr/43127/#assign-actions) the action to the object and do one (1) of the following:

 * Select the **Available in All Lifecycle State** checkbox to apply [atomic action security](/en/lr/47850/#Atomic_Security_Actions) defaults for the applicable lifecycle states.
 * Add the action as a [user action](/en/lr/59885/#define-actions) to the applicable states of the _Requirement_ object lifecycle.

When users run this action, Vault does not apply any [default sharing settings](/en/lr/618/#settings-at-all-levels) you've configured for the document type. We recommend configuring [DAC](/en/lr/31824/) to control user access to uploaded documents.

<div class="note-border alert-info">
  <div class="alert alert-info" role="alert">
    <div><i class="far fa-info-circle"></i></div>
    <div class="alert-text">
      <p><strong>Note</strong>: Document upload will fail if the user selects a document for which you’ve configured multiple <a href="/en/lr/2306/">lifecycles</a> and does not populate the <em>Document Lifecycle Name</em> field on the parent <em>Requirement</em>.</p>
    </div>
  </div>
</div>



## Configuring User Permissions {#user-permissions}

You must ensure users have the appropriate read and create [permissions](/en/lr/22824/) to access the appropriate objects and object fields in addition to the permissions outlined below:

The viewer displays data and documents based on the following permissions on the _Requirement_ object:

* _Requirement_ object: _Read_ permission, including _Read_ permission on the following fields:
  * _Parent Request Requirement_, _Registration Item_, and _Registration Objective_.
  * Any fields included in the _Grid Columns for RIR_ field on the _Requirement Viewer_ section on the _Registration Objective_ and _Registration Item_ objects, including objects referenced in any object fields.
* If you configure [DAC](/en/lr/33946/) for the _Requirement_ object, ensure users have permission to view all parent records. Vault does not display the viewer to users that do not have permission to view all applicable parent records.
* _EDL Item_ object: _Read_ permission, including _Read_ permission on the following fields:
  * _Requirement_.
  * Any fields included in the _Grid Columns for EDL Item_ field on the _Requirement Viewer_ section on the _Registration Object_ and _Registration Item_ objects, including objects referenced in any object fields.
* If your Vault utilizes [Atomic Security](/en/lr/47850/) on fields, users must have _Read_ permission on the appropriate lifecycle states for the applicable fields.
* The viewer only displays matched documents for which users have a document role with [_View Document_ permission](/en/lr/2572/#perms) for the applicable lifecycle states. 
* Users can only open documents for which they have a document role with [_View Content_ permission](/en/lr/2572/#perms) for the applicable lifecycle states.

### Executing Actions {#permissions-actions}

To [execute actions][5] in the viewer, users must have the following permissions:

* _Execute_ permission on the applicable actions.
* _Edit_ permission on the _EDL Item_ object.
* The applicable [EDL-related permissions](/en/lr/32749/#related-permissions). 
* If you configure [DAC](/en/lr/33946/) for the _EDL Item_ object, users will not see actions for any record they do not have permission to edit.

#### Add Matched Documents Action

To run the _Add Matched Documents_ action, users must have the following permissions:

* To add a previously excluded document using the _Add Matched Documents_ action, users must also have _Execute_ permission on the _Include Document_ action.
* If users execute the _Add Matched Documents_ action on a steady state document linked to an _EDL_ with [automatic document version locking](/en/lr/32749/#auto-locking), the action locks the document even if the user does not have _Execute_ permission on the _Lock Version_ action.

#### Reorder Action

To run the _Reorder_ action, users must have the following permissions:

* _Requirement_ object: _Edit_
* _Reorder_ action on the _Requirement_ object: _Execute_

#### Upload Action

To run the _Upload_ action, users must have the following permissions:

* _Execute_ permission on the applicable actions.
* [_Create Document_ permission](/en/lr/618/#settings-at-all-levels) for the applicable document types.
* _Read_ permission on any object records referenced in the document's fields.

## Related Permissions {#related-permissions}

You can complete all the steps in this article with the standard _System Administrator_ or _Vault Owner_ security profile. If your Vault uses custom security profiles, your profile must grant the following [permissions](/en/lr/22824/):

<table>
  <tr>
    <th><strong>Type</strong></th>
    <th><strong>Permission</strong></th>
    <th><strong>Controls</strong></th>
  </tr>
  <tr>
    <td>Security Profile</td>
    <td>Admin: Configuration: Objects: Create, Edit</td>
    <td>Ability to create and modify Vault objects.</td>
  </tr>
  <tr>
    <td>Security Profile</td>
    <td>Admin: Security: Permission Sets: Edit</td>
    <td>Ability to modify permission sets for users.</td>
  </tr>
</table>

[1]: #viewer
[2]: #supported-fields
[3]: #reorder-action
[4]: #user-permissions
[5]: #actions
[6]: #upload-action