# Configuring Process Hierarchy (Document Control)

<a href="/en/gr/78612/">QualityOne Vaults</a> allow you to display business processes and associated documents in a hierarchical interface. You can associate documents with one (1) or many processes and display the list of documents in the _Process Details_ page. You must configure several Vault components before your organization can <a href="/en/gr/519900/#creating-records">create _Visual Hierarchy_ records</a> for the <a href="/en/gr/519899/">_Process Hierarchy_ page</a>.

## About Visual Hierarchies {#about}

The _Visual Hierarchy_ and _Hierarchy Document_ objects support the content structures that users see when they land on the _Process Hierarchy_ page. 

After you configure a _Visual Hierarchy_ object type, you can configure the Viewer with _Visual Hierarchy_ object records. Once configured, the _Hierarchy Document_ object records allow you to establish the relationship between _Visual Hierarchy_ object records and your business process documents. Your users can arrange _Hierarchy Document_ object records to categorize and display collections of documents.

## Configuration Overview {#overview}

Configuring your Vault to use Process Hierarchy involves the following steps:

1. [Configure][1] a _Visual Hierarchy_ object type, fields, and object layout
2. Add the _Document_ field to the _Hierarchy Document_ <a href="/en/gr/26387/#how-to-show-hide-or-move-object-fields">object layout</a>
3. Optional: Create a <a href="/en/gr/23516/">custom tab</a> for the _Visual Hierarchy_ object
4. Optional: Configure the _Hierarchies_ page as the <a href="/en/gr/953/#how-to-set-the-user-landing-tab">landing tab</a> for applicable users
5. Provide appropriate [permissions][3] to users to manage and view Process Hierarchy

Once configured, your organization can <a href="/en/gr/519900/#creating-records">create and manage</a> _Visual Hierarchy_ records as needed for the <a href="/en/gr/519899/">_Process Hierarchy_ page</a>.

<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 Visual Hierarchy Object {#object}

Perform the following object configuration changes on the _Visual Hierarchy_ object.

### Visual Hierarchy Object Fields {#object-fields}

Configure any custom informational <a href="/en/gr/15057/#how-to-add-object-fields">fields</a> to have available alongside supporting documents on the _Visual Hierarchy_ object. 

### Visual Hierarchy Object Types {#object-types}

Create a Process <a href="/en/gr/32857/">object type</a> in the _Visual Hierarchy_ object configuration. _Visual Hierarchy_ object types comprise the top-most organizational-level in each hierarchy. Vault displays all active _Visual Hierarchy_ object types in a drop-down <a href="/en/gr/519899/#selector">Hierarchy Selector</a> on the _Process Hierarchy_ page.

You can configure which fields display in the _General_ section of the _Process Details_ page for different object types by configuring fields on _Visual Hierarchy_ object types, then following the steps to make a _Visual Hierarchy_ configuration.

#### Configuring Fields on Visual Hierarchy Object Types {#configuration-page}

The _Visual Hierarchy Configuration_ page lets you specify the fields that display in the _General_ section of a _Visual Hierarchy's Process Details_ page, as well as their order. To do this you must create a configuration for each _Visual Hierarchy_ object type.

To make a configuration for a _Visual Hierarchy_ object type:

1. Navigate to **Admin > Configuration > Application Configurations > Component Setup > Visual Hierarchy Configurations**.
2. Click **Create**. 
3. Enter a **Name**. The name for the configuration must match the name of the object type for which you are making the configuration.
4. Enter a **Label**.
5. Select an **Object Type**. The _Object Type_ must be the same as the object type for which you are making the configuration.
6. Specify if the _Visual Hierarchy_ is **Active**.
7. Click **Save** to reveal the _Visual Hierarchy Configuration Fields_ section. 
8. Add a new field to the configuration by clicking **Create** in the _Visual Hierarchy Configuration Fields_ section.
9. In the _Create Visual Hierarchy Configuration Field_ page, enter a **Name**.
10. In the **Object** field, select **Visual Hierarchy**.
11. Specify a **Field** <a href="/en/gr/32857/#assign">assigned</a> to the object type. You must use the format [field.fieldname]. For example, the input to select the _Description_ (`description__v`) field would be "field.description__v". You cannot select the _Object Type_ field to display in a _Visual Hierarchy_ configuration. 
12. Optional: Enter a **Label**.
13. Optional: Enter a **Display Order**.
14. Specify if the field is **Active**.
15. Click **Save**.
16. Optional: Click **Create** in the _Visual Hierarchy Configuration Fields_ section to add additional fields.  

### Visual Hierarchy Object Layouts {#layouts}

In the _Visual Hierarchy_ object configuration, create a <a href="/en/gr/26387/">layout</a> for the _Process_ object type and configure it with the following changes:

* Insert a **Related Object** section for _Hierarchy Documents_ so users can <a href="/en/gr/519900/#adding-documents">relate their business process documents to _Visual Hierarchy_ records</a>.
* Insert a **Related Object** section for _Child Visual Hierarchies_, allowing users to create and arrange related _Visual Hierarchy_ records to suit their business process structure. Under **Filter Related List**, filter by _Visual Hierarchy Type_ > _equals_ > _Business Process_. This filter ensures that users relating _Visual Hierarchy_ records cannot choose a record of an inappropriate object type.

If you have additional _Visual Hierarchy_ object types, you should configure an object layout for each object type.

## Limitations {#limitations}

The following limitations apply to Process Hierarchy:

* Depending on configuration, you can create a maximum of three (3) _Visual Hierarchy_ records without a parent record and a maximum of five (5) levels of parent-child record relationship. For additional help on this configuration, contact your Veeva Representative for more details.
* Depending on configuration, each parent _Visual Hierarchy_ record can have up to ten (10) child records. For additional help on this configuration, contact your Veeva Representative for more details.
* You cannot associate _Visual Hierarchy_ records of a given object type with a parent record of a different _Visual Hierarchy_ object type. 

## Configuring User Permissions {#permissions}

You must ensure users have the appropriate read and create <a href="/en/gr/22824/">permissions</a> to access the appropriate objects and object fields in addition to the permissions outlined below:

* For the _Hierarchy Document_ object: _Create_, _Read_, _Edit_, and _Delete_ permission.
* For the _Visual Hierarchy_ object and object types: _Create_, _Read_, _Edit_, and _Delete_ permission. 
* For the _Hierarchies_ Tab: _View_ permission.
* For the _Visual Navigation Detail Page_: _View_ permission.
* For the _Visual Navigation Landing Page_: _View_ permission.
* To restrict views at the individual record level, you can enable <a href="/en/gr/33946/">matching sharing rules (Dynamic Access Control)</a> on the _Visual Hierarchy_ object, and configure the _Visual Hierarchy Lifecycle_ with lifecycle states. If you use this method, it is recommended that users still be provided _Read_ permission to the _Parent_, _Position within Parent_, _Icon_, _Name_, and _Description_ fields on the _Visual Hierarchy_ object via <a href="/en/gr/47850/">Atomic Security</a>.

## 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 <a href="/en/gr/22824/">permissions</a>:

<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: Document Lifecycles: Create, Edit</td>
    <td>Ability to create and modify document lifecycles.</td>
  </tr>
  <tr>
    <td>Security Profile</td>
    <td>Admin: Configuration: Document Types: Edit</td>
    <td>Ability to modify document types.</td>
  </tr>
  <tr>
    <td>Security Profile</td>
    <td>Admin: Configuration: Object Lifecycles: Create, Edit</td>
    <td>Ability to create and modify object lifecycles.</td>
  </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.</td>
  </tr>
</table>

[1]: #object
[2]: #configuration-page
[3]: #permissions