# Configuring LearnGxP ContentDirect

<a class="external-link " href="https://learngxp.com/" target="_blank" rel="noopener">LearnGxP<i class="fa fa-external-link" aria-hidden="true"></i></a> is Veeva's accredited regulatory and compliance training content product. With [ContentDirect](/en/lr/626994/), LearnGxP course subscribers with Veeva Training as their LMS solution can automatically receive content as it is published, eliminating the need for a Training Admin to manually upload and track new and updated course files.

<div class="note-border alert-important">
  <div class="alert alert-important" role="alert">
    <div><i class="far fa-exclamation-circle"></i></div>
    <div class="alert-text">
      <p><strong>Important</strong>: The configuration recommendations on this page are primarily for guidance and reference purposes. Though some configurations are simple and can be completed using existing Vault Help documentation, subscribers should still contact their LearnGxP representative for assistance in preparing a Training Vault for ContentDirect prior to activating a subscription.</p>
    </div>
  </div>
</div>





<div class="note-border alert-warning">
  <div class="alert alert-warning" role="alert">
    <div><i class="far fa-exclamation-triangle"></i></div>
    <div class="alert-text">
      <p><strong>Warning</strong>: Vault severs the connection between ContentDirect and subscriber sandbox Vaults each time the subscriber sandbox Vault is <a href="/en/lr/48988/#refresh">refreshed</a>. If your sandbox Vault requires refreshing, work with your LearnGxP representative to restore the connection.</p>
    </div>
  </div>
</div>



## Configuration Overview {#configuration-overview}

LearnGxP courses are [E-Learning](/en/lr/61957/) (SCORM) courses. As such, these instructions assume the E-Learning standard feature checkbox in **Admin > Settings > Application Settings** is already enabled.

To configure your subscribed Training Vault for ContentDirect:

1. Activate the _LearnGxP Training Materials_ document type.
2. Add the _LearnGxP Training Requirement?_ field to the _Training Requirement_ and _Classroom Training Requirement_ object page layouts. This allows Training Admins to track LearnGxP courses in the training matrix.
3. Review your Vault's _Base Document_ type to ensure its configuration does not include required fields. See [About Required Base Document Fields][2].
4. Review your Vault's available document lifecycles and assign or create a lifecycle for the _LearnGxP Training Materials_ document type. Assessing document lifecycles also includes determining which states should include the _Preview E-Learning Content_ action. See [Document Lifecycle Recommendations][4].
5. Review your Vault's _Training Requirement Impact Assessment_ object lifecycle and update according to your organization's requirements. See [TRIA Recommendations][5].
6. If your Training Vault includes in-use LearnGxP courses, your organization must decide whether or how to reuse them. See [Linking Existing LearnGxP Courses][6].
7. Contact your LearnGxP representative to activate your subscription, providing your _Vault Name_, _Vault ID_, and _Domain Name_, obtained from **Admin > About > Vault Information**. All configuration steps prior to this must be completed before activation.
8. Recommended: Add [LearnGxP-specific fields](/en/lr/626994/#learngxp-metadata-fields) to the _Training Requirement Impact Assessment_ object page layout. Vault will still set these fields, however this configuration is recommended for maximum Training Admin visibility.
9. Optional: To allow Training Admin visibility into current license usage, for the [_LearnGxP Users Licensed_ object](/en/lr/626994/#about-the-learngxp-users-licensed-object):
    * Enable the _Display in Business Admin_ option and/or create a custom tab.
    * Create a report type and/or report views.
    * Grant Training Admin access to the object and report(s).

### About LearnGxP Course Images {#enabling-learngxp-course-images}

The [Learner Homepage](/en/lr/66151/)'s card view quickly shows Learners an assignment's relevant details, including an image related to assignment content. In most subscriber Vaults, ContentDirect automatically manages all LearnGxP-provided course images. To do this, Vault displays the image currently associated with the course in ContentDirect at the time the Learner views it.

To instead allow a Training Admin to manually populate course images from your Vault Library via a requirement's _Learner Homepage Card Image_, contact <a class="external-link " href="https://support.veeva.com/hc/en-us" target="_blank" rel="noopener">Veeva Support<i class="fa fa-external-link" aria-hidden="true"></i></a> or your LearnGxP representative.

## About Required Base Document Fields {#about-required-base-document-fields}

If your Vault's _Base Document_ (`base_document__v`) type uses any required fields, you must adjust field configuration such that these fields are not required for the _LearnGxP Training Materials_ document type. Required fields on this document type prevents Vault from automatically creating course files in the Library.

<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>: This guidance excludes required fields configured with a default value, for example defaulting the <em>Global</em> picklist value for the <em>Scope</em> field. Vault automatically creates course files as long as a required field contains a value.</p>
    </div>
  </div>
</div>



To ensure Vault can automatically create course files:
  1. For all impacted fields, deselect the _User must always enter a value (required)_ option.
  2. Create Field Dependencies to require impacted fields based on document type. See [QualityDocs Base Document Field Updates][3] for an example.

### QualityDocs Base Document Field Updates {#qualitydocs-base-document-field-updates}

If your QualityDocs Vault was created on or before the 21R2 release, it likely includes required fields on the _Base Document_ type. If this is the case for your Vault, you will need address them in one of the following ways:
  * Convert them with Field Dependencies.
  * Convert them to shared fields, then add the fields to all document types except _LearnGxP Training Materials_.
  * Update the field configuration to default to a certain value.

For example, in the 21R3 QualityDocs template, the _Owning Facility_ and _Owning Department_ fields were re-defined as optional by default, with Field Dependencies added based on document type. For the _Executed Records_ document type, the resulting Field Dependency is configured as follows:

<a href="https://platform.veevavault.help/assets/images/learngxp-configuration-field-dependencies.png" data-lightbox="learngxp configiuration" data-title="" data-alt="sample field dependencies">
  <img class="docimage" src="https://platform.veevavault.help/assets/images/learngxp-configuration-field-dependencies.png" alt="sample field dependencies" style="max-width: 100%;width: 600px;"  />
</a>

## Document Lifecycle Recommendations {#document-lifecycle-recommendations}

When selecting a lifecycle for the _LearnGxP Training Materials_ document type, we primarily recommend using an existing lifecycle assigned to other training documents and/or E-Learning files.

Additionally, if this lifecycle requires that a document reaches its Steady state (for example, _Approved_) as the result of a user task, we recommend configuring the lifecycle such that LearnGxP courses are automatically moved to that state once created. This further enhances the automated delivery of courses to your Vault.

Before configuring, however, consider your organization's requirements such as:
  * Quality checks prior to approving E-Learning courses. This recommendation allows courses to be approved "silently", aside from the notification and a related _Training Requirement Impact Assessment_ record.
  * Different behavior for when a course is new, versus when it is updated. This recommendation does not make this distinction.

To accomplish this:
  1. Create a notification indicating a LearnGxP course has been sent and is now approved.
  2. Add an entry action in the Steady state to send the notification.
  3. Create a Date Based Document Operation job to process a state change based on lifecycle parameters. For example:

<a href="https://platform.veevavault.help/assets/images/learngxp-configuration-job.png" data-lightbox="learngxp configiuration" data-title="" data-alt="sample job configuration">
  <img class="docimage" src="https://platform.veevavault.help/assets/images/learngxp-configuration-job.png" alt="sample job configuration" style="max-width: 100%;width: 600px;"  />
</a>

## TRIA Recommendations {#tria-recommendations}

When creating or updating a LearnGxP course, Vault sets [various LearnGxP-specific document fields](/en/lr/626994/#learngxp-metadata-fields) with metadata from ContentDirect. These field values are copied to the resulting _Training Requirement Impact Assessment_ (TRIA) record, and can be used for various lifecycle and workflow configurations.

For example, if you'd like Vault to automatically close the _TRIA_ record for LearnGxP courses based on certain conditions, and only reissue assignments to Learners who have not yet completed the course: Update the impact assessment workflow to set the _Re-Issue Training?_ field to "No" and _Cancel Open Training Assignments?_ to "Yes" only when the _LearnGxP Update Type_ and _LearnGxP Update Definition_ are "Minor" and "Grammar Fix", respectively.

## Linking Existing LearnGxP Courses {#linking-existing-learngxp-courses}

If your Training Vault includes in-use LearnGxP courses, your organization must decide whether and how to convert them so that ContentDirect can deliver updated files.

Generally, the options are re-linking or re-creation:
* **Re-linking**: Convert existing LearnGxP courses as they currently exist within your Library and training matrix, then allow ContentDirect to maintain them once enabled. Your organization may opt for this path if there are a large number of courses.
* **Re-creation**: Allow ContentDirect to re-create new courses in your Library, then obsolete or retire the existing ones.

### Re-Linking LearnGxP Courses {#re-linking-learngxp-courses}

If your organization wishes to re-link existing courses, at minimum, any existing courses must be:
  * Reclassified to the _LearnGxP Training Material_ document type. This can be completed individually, or in bulk via <a class="external-link " href="https://developer.veevavault.com/api/23.2/#reclassify-multiple-documents" target="_blank" rel="noopener">Vault API<i class="fa fa-external-link" aria-hidden="true"></i></a>.
  * Updated with new _Document Link_ field metadata from the ContentDirect Vault. This may require temporarily adding a Security Override to this field so that it may be edited during migration.
  * Added to the existing _Training Requirement_.



<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>: This guideline is not fully comprehensive, as it requires ContentDirect Vault metadata, as well as decisions based on your Training Vault’s current configuration and your organization’s requirements. Contact your LearnGxP representative for assistance.</p>
    </div>
  </div>
</div>



### Re-Creating LearnGxP Courses {#re-creating-learngxp-courses}

If your Training Vault includes relatively few LearnGxP courses, you may consider using its existing capabilities to:
* Allow ContentDirect to re-create new courses in your Library once enabled.
* Manually work with _Training Requirements_, either by updating existing records or replacing retired records with new ones. If you do not want to trigger re-training, we recommend the update option.
* Retire or obsolete the existing LearnGxP course.

[1]: #configuration-overview
[2]: #about-required-base-document-fields
[3]: #qualitydocs-base-document-field-updates
[4]: #document-lifecycle-recommendations
[5]: #tria-recommendations
[6]: #linking-existing-learngxp-courses
[7]: #re-linking-learngxp-courses
[8]: #re-creating-learngxp-courses
