Technical Whitepaper

Pluralsight to Absorb Integration

V1.0 last revision 5/1/17
ProServ


Introduction

This document describes and provides examples of Pluralsight's integration capabilities as they relate to Absorb. Each implementation is unique and can be customized. Each solution is tested before used in production.

Why integrate with Absorb?

A full Absorb to Pluralsight integration provides a seamless, secure user experience that increases adoption and utilization. We accomplish this via Single Sign On, automated deliveries of our course metadata and the corresponding completion data.

What does an integration look like from start to finish at a high-level?

Every integration is initiated by either the Account Executive and/or Customer Success Manager via a request to the Professional Services team. Working with the Pluralsight Account Executive and/or Customer Success Manager, the Professional Services Implementations Consultant coordinates a call with the appropriate customer contact/s and Absorb consultant/s to better understand the customer’s Absorb instance, scope the integration, and assign ownership of responsibilities. Following which, the 3 main components of an integration are executed in the following order:

First, we configure Single Sign On, which allows users to pass seamlessly from Absorb into Pluralsight without having to create and manage another set of credentials. SSO increases security, reduces barriers to usage, simplifies license provisioning and eliminates admin time and costs. Setup begins with the customer configuring and sending the Implementations Consultant their SSO metadata from their federated server.

Second, once SSO is in production, Pluralsight provides recurring course uploads (daily, weekly or monthly) via automated delivery capabilities as a flat file (.csv or .txt) placed on the customer’s FTP/SFTP server. Absorb ingests the file and displays the courses as discoverable learning objects that link the user directly to the given Pluralsight course via SSO enabled URLs. After passing through directly to a course, the users now have access to the full Pluralsight suite of features (Paths, Notes, Adaptive Skills Assessments, Channels, etc.).

Third, we close the loop by configuring, producing, and delivering an automated recurring data export of course completion data via the same capabilities mentioned in step 2. We place a flat file on the customer's FTP/SFTP server (daily, weekly or monthly) from which Absorb ingests the data for use in the LMS.

Each component of the integration is covered in depth below.


Absorb Integration Components

img1

1. SSO (Single Sign On)

Single Sign On (or SSO) allows for users to pass between two systems without having to manually type in a username and password while maintaining trust between the two systems. It involves passing information about the user to Pluralsight from which Pluralsight creates an account and/or authorizes access. It has numerous benefits, a few of which are outlined below.

  • Seamless Experience - When a user clicks an SSO enabled link, they are instantly taken to the content they wish to view with no additional identification, authentication and authorization needed. This helps increase adoption by placing Pluralsight side by side with existing internal applications.
  • Auto Provisioning - Users are provisioned a license automatically upon clicking one of the SSO enabled learning objects in Absorb, bypassing the manual license assignment process.
  • Issuance Criteria (Optional) - This allows us to accept or reject an individual requesting Pluralsight access based on attributes (i.e. role, team, department, etc.). It’s a simple way to set rules around auto provisioning. Any issuance criteria needs to be passed over as an attribute in the assertion.
  • Team Assignments - This allows for a user to be automatically placed into a Team within Pluralsight upon license creation. This further automates the setup and organization of your Pluralsight experience.

Pluralsight supports SAML 1.0 and 2.0 as does Absorb. In order to set up SSO, the Pluralsight Implementations Consultant and customer will need to exchange federated server SSO metadata. This is typically a .xml file with the information needed for federated servers to communicate. Pluralsight’s metadata also exists in the app catalogues of Okta, Azure, PingOne, and One Login.

After the metadata is configured, exchanged and uploaded to the respective federated servers, the Implementations Consultant generates a vanity URL (e.g. app.pluralsight.com/sso/<SSO Identifier>) and sends it to the customer to test the configuration. Once the customer confirms the connection is working, we are ready to move to step 2.

NOTE: Often times customers will choose to do all the initial SSO setup and testing in a stage environment prior to moving to production. If so, the production metadata must be configured and provided (after testing is complete in stage) to the Implementations Consultant who uploads the new metadata to Pluralsight’s federated server. The customer then retests the connection in production using the same vanity URL previously provided.

2. Course Uploads - Courses

In the initial course upload, the Implementations Consultant provides Pluralsight’s course metadata for all 6,000+ courses using the Courses template. This includes modified SSO enabled course launch URLs for each course. We've pre-configured our template to align the course metadata with the Absorb Courses Data Mapping template. The Implementations Consultant will request the Courses Data Mapping Connector template, specific to the customer’s instance, from the Absorb consultant. NOTE: The Implementations Consultant can replicate the requisite template if it varies from the template example below.

Courses_DataMapping

Course Library Deltas: After the initial placement to and upload from the FTP/SFTP server of our course metadata, Pluralsight provides automated continued deliveries of our course library deltas, to add new and update existing courses, on a daily, weekly or monthly cadence via placement of a flat file (.csv or .txt) on the customer’s FTP/SFTP server for ingestion by Absorb (see “ Connecting to the FTP/SFTP Server ”).

3. Completion Data Delivery - Course Enrollments

Pluralsight provides the course completion data on the Absorb Course Enrollments template. We've pre-configured our template to align our course completion data with the Absorb Course Enrollments template (examples below). We provide automated ongoing deliveries to record new item based learning events on a daily basis via placement of a flat file on the customer's’ FTP/SFTP server for ingestion by Absorb (see “ Connecting to the FTP/SFTP Server”). NOTE: The value for User_ExternalId (unique user identifier) is to be provided by the IdP when SSO is configured.

CourseEnrollments_DataMapping


Connecting to the FTP/SFTP Server: FTP or SFTP Placement Requirements

  • Desired Cadence
  •     Daily, Weekly, Monthly
  • URL for placement (must include the relevant directory)
  • Username
  • Password

After the information above is collected, the Implementations Consultant places a test file to the server. The Consultant then notifies the customer and/or Absorb contact and asks them to confirm the test file has been placed on the server in the correct directory. Upon confirmation, the Implementations Consultant then places the first round of data files (Courses and Course Enrollments) on the server. Absorb then attempts to pull the files and ingest them into the LMS. When ingestion of the data files is confirmed successful, the Implementations Consultant sets the files for automated delivery of deltas at the specified cadence (Daily, Weekly, or Monthly).

API Placement Requirements (Option available if requested) :

  • Endpoint URL and Authentication key

OR

  •  Username & Password

 

What happens in the LMS?

img6

Now what?

Contact your sales representative and inform them that you’d like to engage Professional Services (professionalservices@pluralsight.com) to complete an Absorb to Pluralsight integration.