# Configuring Registration Field Population (Registration & Dossier Management)

[Registration & Dossier Management](/en/lr/71498/) allows users to [automatically populate certain fields on _Registrations_](/en/lr/492748/), including _Registration Objectives_, with values propagated from related _Registration Items_ based on pre-defined [Object Mappings](/en/lr/74401/). This allows users to quickly update _Registrations_ with the appropriate data based on details they've already defined on relevant _Registration Items_.

## Configuration Overview {#overview}

Configuring your Vault to populate _Registration_ fields involves the following steps:

1. [Create an Object Mapping with Field Mappings][2] to map fields between the _Registration Item_ and _Registration_ objects
2. [Configure object layouts and object types][3]
3. [Configure the _Populate Registration Record_ action][4]
4. [Configure the _Registration_ object lifecycle][6]
5. [Configure user permissions][7]

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



## Creating an Object Mapping with Field Mappings {#mapping}

You must create an Object Mapping with Field Mappings that map fields from the _Registration Item_ source object to the _Registration_ target object to specify which fields Vault propagates from source _Registration Items_ to target _Registrations_.

Do not map the _Name_ field on the _Registration_ object if it is [system-managed](/en/lr/30986/). 

See [Defining Object Mappings & Field Mappings](/en/lr/74401/) for more details.

## Configuring Object Layouts & Object Types {#object-config}

Ensure that all fields you selected for [Field Mappings][2] are included on the _Registration Item_ and _Registration_ [object layouts](/en/lr/26387/#fields) and [assigned to all relevant object types](/en/lr/32857/#assign).

<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>: If a mapped field is not assigned to a <em>Registration Item</em> object type, Vault considers that field blank when <a href="#populate-about">propagating field values</a> from <em>Registration Items</em> of that type to <em>Registrations</em>.</p>
    </div>
  </div>
</div>



If you've configured object types on the _Registration_ object, you must add the _Propagate Fields Job Status_ field to the _Registration_ object layout. This field value automatically updates to reflect the job's status when users trigger the _Populate Registration Record_ action.

## Configuring the Populate Registration Record Action {#action-populate}

After creating an [Object Mapping with appropriate Field Mappings][2], you must configure the _Populate Registration Record_ action on the _Registration_ object and all relevant [object types](/en/lr/32857/#assign). When creating the action, select the Object Mapping you created in the **Object Mapping** field to specify how Vault will populate fields on _Registrations_.

Depending on your business needs, you can:

* Add this action as an [entry action](/en/lr/59885/#entry-actions) on any _Registration_ lifecycle state.
* Add this action as a [user action](/en/lr/59885/#user-actions) on any _Registration_ lifecycle state.

### About the Populate Registration Record Action {#populate-about}
When users trigger the _Populate Registration Record_ action on a _Registration_, Vault identifies all active _Registration Items_ related to that record. For parent _Registrations_, this includes _Registration Items_ related to all active _Registration Objectives_ that are children of that _Registration_ parent record. Vault then populates and updates fields on the _Registration_ with values propagated from the related _Registration Items_ based on the Field Mappings of the Object Mapping you linked to the action:

<table>
  <tr>
    <th><strong>If the field value on all active related source <em>Registration Items</em> is…</strong></th>
    <th><strong>The mapped field on the target <em>Registration</em> is…</strong></th>
  </tr>
  <tr>
    <td>The same</td>
    <td>Populated with the same value on the related <em>Registration Items</em></td>
  </tr>
  <tr>
    <td>Not the same</td>
    <td>Cleared</td>
  </tr>
  <tr>
    <td>Blank</td>
    <td>Cleared</td>
  </tr>
</table>

<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>Populate Registration Record</em> action will fail if a mapped source value conflicts with any <a href="/en/lr/46866/">validation</a> or <a href="/en/lr/75340/">Criteria VQL</a> you configured on a target <em>Registration</em> field. The action will also fail if a <em>Registration</em> field requires a value, but the field mapping would clear an existing value.</p>
    </div>
  </div>
</div>



## Configuring the Registration Object Lifecycle {#registration-lc}

Ensure that there is an [object lifecycle](/en/lr/30683/) on the _Registration_ object. You can add custom lifecycle states to suit your organization's needs.

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

* For the _Registration_ object: _Edit_ permission, including _Edit_ permission on the _Propagate Fields Job Status_ field.
* For the _Registration Item_ object: _Read_ permission.
* _Read_ permission on all [mapped][2] fields.

## 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: 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 for users.</td>
  </tr>
</table>

[1]: #objects
[2]: #mapping
[3]: #object-config
[4]: #action-populate
[5]: #populate-about
[6]: #registration-lc
[7]: #user-permissions
