SAP SuccessFactors OCN integration

About the integration

At DataCamp, we can integrate with SAP SuccessFactors via OCN, making our content and completions available on the LMS.

What is OCN

OCN (open content network) is a standard defined by SAP to sync content between a learning provider and the SAP SuccessFactors LMS. It is designed as an extra layer between the learning provider and the LMS.

On the one hand, it allows the learning provider to send content and completions via an API. On the other hand, in SuccessFactors, the content can selectively be imported from the OCN layer.

Both content and content completions are supported. OCN is fully compatible with Successfactors learning features such as assignments, bundles, etc.

blobid0.png OCN Sync Process

SSO and deeplinking

All content items sent by DataCamp have a launch url, which is a so-called deeplink. If single sign-on is enabled and set to required for your organization on the DataCamp side, these links will redirect learners to their identity provider before redirecting them to the actual content on DataCamp.

If single sign-on with the same identity provider is configured on SuccessFactors, this allows a seamless experience between SuccessFactors and DataCamp. If learners are already logged into their LMS, they will not have to sign in again when they launch a content item on DataCamp.

Content sync process

DataCamp can sync its full content catalog to OCN. This includes courses, projects, practices, assessments, skill and career tracks, and custom tracks.

OCN only supports the concept of courses. Thus, our projects, assessments and practices will also be courses in SuccessFactors. For skill/career and custom tracks, a placeholder course will be synced, which contains a link to the track description page on the DataCamp platform. The course placeholder does not contain the contents of the track.

DataCamp syncs its content on a periodic basis, with an interval of 3 hours. The sync process consists of:

  • Adding new content;
  • Updating metadata of existing content (title, description …)
  • Marking archived content on DataCamp as inactive on OCN

Content mapping

The table below summarizes the metadata for each content item DataCamp sends to OCN.

Name Description
courseID,  content.contentID Unique identifier for the content item. Has the format “[contentType]-[contentId]”
title,  content.contentTitle The title of the content item (we only support the en-us locale). Titles are in the format “[title] - [contentType]”, e.g. “Wrangling and Visualizing Musical Data - Project”
description The description of the content item (we only support the en-us locale)
providerID,  content.providerID Set to “DATACAMP”
duration The duration of the content item in hours for courses, projects and (custom) tracks, null otherwise
content.launchUrl The launch url for the content item
thumbnailUri The URI for the thumbnail, based on the technology (R, SQL …) if available, the DataCamp logo if not
content.mobileEnabled Always set to “true”
state “active” for active content, “inactive” for archived content

 

Completions sync process

Next to content, DataCamp can optionally sync content completions via OCN. Currently, this only includes completions for courses, projects, practices and assessments.

Completions are synced close to real time, which means that if a learner completes some content item on DataCamp, the completion should appear in SAP Successfactors within a maximum of a few minutes.

Next to a reference to the content item that has been completed, a completion contains the completion date and a user identifier that ties the completion to a specific learner.

As user identifiers, DataCamp uses the nameid received from the identity provider when learners log in via single sign-on. It is thus important that these nameids match with the user identifiers used in SuccessFactors. If this is not the case, completions will not be matched with the appropriate users in SuccessFactors and will thus not be transferred.

Furthermore, if SSO is set to optional on DataCamp, some users could not be using their identity provider to log in. In this case, DataCamp will not have a user identifier for these users and will not be able to send their completions to OCN.

Note: for completions to appear on SuccessFactors, the related content must be imported from OCN. OCN doesn’t accept completions for non-imported courses, as such any of these completions will not be reflected in SuccessFactors.

Custom user identifiers

As mentioned above, we can include the user's email or nameid (sent via SSO) as the user's identifier in the completions we send. But, in case you want to send a completely different identifier that is neither of these (email or nameid), then we allow you to send over an identifier via a custom SAML attribute named "LMS_USERNAME". If you include this attribute in the SAML response, and let us know beforehand, we'll send this as the user identifier in upcoming completion syncs. 

For this field, we accept the following attribute names:

  • LMS_USERNAME
  • http://schemas.xmlsoap.org/ws/2005/05/identity/claims/lms_username

Prerequisites

In order to set up an integration with OCN, the following requirements must be met:

  • You must have access to an active SuccessFactors instance;
  • You must have an active enterprise subscription on DataCamp;
  • In order for completions to be synchronized: SSO for DataCamp must be enabled and configured correctly. This means:
    • Your identity provider should send the user identifiers used in SuccessFactors as nameid, and send the nameid format as “urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified”;
    • On the SSO settings page on DataCamp, the nameid-format should be set to “unspecified”
    • (optional but highly recommended) SSO must be set to required on DataCamp;
  • You must have admin privileges on the SuccessFactors instance

Setup

To set up an integration with SuccessFactors via OCN, some steps need to be taken.

Step 1: Configure the DataCamp OCN provider

DataCamp is not a standard third-party OCN provider on SAP Successfactors. As such, you need to manually create the provider.

Start by creating a label following the instructions on the SAP help portal. Give your label the id “DATACAMP”.

Next, follow these instructions to create and enable the DataCamp provider. The config for the DataCamp provider should look as follows:

# DataCamp OCN Course Provider.
providers[DATACAMP].enabled=true
providers[DATACAMP].name=DATACAMP
providers[DATACAMP].label=label.u.DATACAMP
providers[DATACAMP].baseLaunchUrl=https://www.datacamp.com
providers[DATACAMP].pricingModel=

 

Step 2: Create a new OCN role and admin

First, follow the below steps to create a new OCN admin role:

  1. Log in to the SuccessFactors learning admin panel and go to System Administration > Security > Role Management
  2. Click “Add new”
  3. In the role id field, enter an id for the role
  4. Click “Add”
  5. Select Permissions, then click the link under Add Permissions to the Role
  6. Under Add Permissions to Roles, enable Learning Activities, Search, and People Management.
  7. Under Permission Restrictions, set Status Restriction to ‘Active’ for the following activity:
  • Add Item
  • Add Item Libraries
  • Edit Item
  • Edit item Libraries
  • Edit Item Finance
  • Edit Item Cost/Price
  • Edit Item Custom Fields
  • Edit Item State
  • Open Content Network Import
  • View Item
  • View Item Libraries
  • View Item Finance
  • View Item Cost/Price
  • View Item Custom Fields
  • Search User
  • Add History Record
  1. Click “Apply Changes”

Next, create a system admin user following these steps:

  1. Log in to the SuccessFactors learning admin panel and go to System Administration > Security > Administrators
  2. In the upper right-hand corner of the screen, click “Add New”
  3. In the Admin ID field, enter an id for the new admin
  4. Enter a new password in the password fields
  5. Click “Add”
  6. Select the Assigned Roles tab and click “Edit”
  7. In the Role ID field, enter the id of the role we created above and click “Add”

Step 3: Generate an admin level system client id and secret and send it to DataCamp

As per these instructions, generate a client secret for the administrator we created in step 2.

Next, follow these steps to obtain the client ID for your instance:

  1. Log into the SuccessFactors learning admin panel and go to System Administration > Configuration
  2. Select OAuth Token Server
  3. Copy the Client ID value

Send the credentials you got above in a secured way to your contact at DataCamp. The data you send must include:

  • The URL of your SuccessFactors instance. The most common format of these URLs is https://<slug>.plateau.com, e.g. https://contoso.plateau.com (production) or https://contoso-stage.plateau.com (for staging)
  • The user id of the admin you created in step 2;
  • The client id;
  • The client secret;
  • Which content DataCamp should be syncing (courses, projects, practices, assessments, skill/career tracks and custom tracks)
  • Whether content completions should be synced to SuccessFactors

Step 4: Import content

After providing the credentials with DataCamp, the DataCamp team will set up the integration, and initiate the content and completions sync.

After the first sync has run, follow these instructions to import content from OCN into SuccessFactors. On the open content page, you can select the DATACAMP provider to view all content sent by DataCamp.

Step 5: Set up an automatic sync process

Finally, after you’ve verified that the content is visible in OCN, follow the instructions to set up an automatic sync process. This is very important, as it assures the content you’ve imported stays up-to-date with the DataCamp content catalog.

FAQ

Where do I find imported content in SuccessFactors?

After importing items from OCN, perform the following steps to view your imported content:

  1. Open the SuccessFactors learning admin panel
  2. Navigate to Content > Content Objects
  3. Search for objects with id’s starting with “datacamp”
  4. You should see a bunch of new content items, automatically created from OCN
  5. Click “View Details” on one of the items to view the details of the item

Where do I find completions?

To view a user’s OCN completions, perform the following steps:

  1. Log in to the SuccessFactors learning admin panel;
  2. Navigate to People > Users;
  3. Search for the user that completed the item;
  4. Click on the users id to show the user’s details;
  5. Go to the “Completed items” tab, you should see the completed item there.
  6. Click “View Details” on the item to view the completion details.

Can we use an entirely different user identifier for the completion sync and not touch our SSO NameIDs?

Yes, it's possible, by sending us an attribute named "LMS_USERNAME". See the "Completions sync process" section above for more info.

Will a user completion be registered in OCN if a course is skipped?

Completions are not sent to OCN when a course is skipped, and learning hours are not counted for skipped courses. (Courses can be skipped as part of a track, when passing a "test-out" assessment).