edX and SuccessFactors LMS Integration
In this article, you will learn how you can integrate the edX Course Catalog with the SAP SuccessFactors LMS Open Content Network and get access to best-in-class courses.
What can you expect from this blog post?
In this blog post, you will understand to integrate the edX Course Calendar with the SAP SuccessFactors LMS. This will be useful for SAP SuccessFactors LMS customers and the consultants who would like to integrate LMS with edX in order to access the subscribed course catalog.
SAP SuccessFactors LMS Key Users (Super Admin) and Certified Consultants
What Skills are required?
Basic know-how of the SuccessFactors Platform (Admin Center) and working knowledge of the Learning Management System is enough.
What topics we will be covering in this blog?
- Configuration Requirements
- Providing Information to edX
- Configuring SAML-Based Single Sign-On
- Enabling the Open Content Network
- Importing edX Content
- Learn More
Let’s get started!
Step 1: Configuration Requirements:
To successfully integrate the edX Course Catalog with SuccessFactors, you need to have:
- An agreement with edX covering the SuccessFactors integration
- SuccessFactors release Q2 2017 or later
- Super administrator privileges to your SuccessFactors instance
Step 2: Providing Information to edX:
edX needs some information about your organization and your SuccessFactors installation so that they can configure the SuccessFactors OCN integration correctly.
Send your edX integration manager the following information:
A) Organization Name – The name you want edX to display when your learners arrive at edx.org.
B) Organization Logo – The logo image you want edX to display when your learners interact with edx.org. The logo file should be in PNG format and should be 50K or less in size. EdX will display your logo image with an absolute height of 100px and relative width. Please ensure that your logo image is sized appropriately to work within this constraint.
C) Course Selection Criteria – Choose from the list of edX subject areas provided by your edX integration manager. edX will use your course selection criteria in selecting the courses that will be imported into SuccessFactors using the edX SuccessFactors OCN integration. Before you have made your actual selections, edX can test the integration using a default set of courses
D) SAML Identity Provider Metadata URL – The URL for the SAML configuration information that edX will use for Single-Sign-On authentication. edX will perform a daily refresh of metadata made available via this URL. Send the URL for both the production system and the test or staging system. You may instead submit a static copy (file) that contains your SAML IdP metadata.
To establish a SAML connection with your SuccessFactors instance, edX needs to upload your identity provider (IdP) metadata. The metadata includes configuration information such as your entity ID, endpoints, and signing certificate. edX needs the URL for both the production system and the test or staging system.
To locate your SuccessFactors metadata URL, follow the procedure below:
- In the SuccessFactors Admin Center menu, select Learning, then select Learning Administration.
- In the SuccessFactors navigation menu, select System Admin.
- In the left menu, select Configuration, then select System Configuration.
- Under Configuration, find the BizX option and click the view button (the magnifying glass icon).
- The BizX configuration file opens. In the configuration file, scroll down to the SAML Single Sign On section.
- Find metadataProviders.IDP1.value entry
The value should look like this sample URL: https://performancemanager.successfactors.com/idp/samlmetadata?company=<company_id>
- Copy and paste the metadata value into an email to your edX integration manager.
- Your edX integration manager will reply with your organization’s OrgID. You will need the edX OrgID to complete the Open Content Network property file configuration, as described in Step 4: Enabling the Open Content Network (section below).
E) OCN API Access Information – edX needs this information to import course metadata and to transmit learner completion data. You can find this information in your SuccessFactors instance at SuccessFactors > Admin Center > Learning Administration > System Admin > OAuth Token Server. You need to provide edX with the following information for both the production system and the test or staging system.
- Your Learning (LMS) hostname, which you can copy from the location bar of your web browser. For example, if the URL is https://partner123.example.successfactors.com/learning/admin/nativelogin.jsp, then the LMS hostname is partner123.example.
- Company ID, Client ID, Client Secret, and Client Secret Hash values. Note that if you generate a new Client Secret, that will invalidate any existing Client Secret value, which may be in use by other clients, applications, or OCN providers that you have configured.
Send the OCN API information for each system to edX in a password-protected ZIP file and send the ZIP password information to edX separately from the ZIP file.
F) OData API Access Information – To enable learner account auto-registration, edX needs to be registered as a client application in SuccessFactors. In addition, you need to generate and send to edX a certificate file and an API key.
Learner account auto-registration provides a smoother experience for your learners to enroll in edX courses that they discover through the OCN. To enable learner account auto-registration, you need to register the edX SuccessFactors OCN integration as a client application in SuccessFactors.
To do this, complete the steps below:
- In SuccessFactors, navigate to SuccessFactors > Admin Center > Company Settings > Manage OAuth2 Client Applications > Register Client Application.
- Under Application Name, enter edX OCN Integration.
- Under Description, enter OAuth configuration information to enable account auto-registration for the edX Open Content Network provider.
- Under Application URL, enter https://www.edx.org
- Click Generate X.509 Certificate.
- Under Common Name, enter your SuccessFactors company identifier (for example, SFPART011327). The remaining fields, such as Organization Name, are optional.
- Click Generate, then Download to obtain the certificate.pem file.
- Click Register, then View to obtain the API Key value.
- Send the pem file and the API Key to edX in a password-protected ZIP file. Send the ZIP file’s password to edX separately from the ZIP file.
G) SuccessFactors Admin Account – EdX needs a SuccessFactors Admin account so that we can use the OCN API to push course metadata and learner completion events to your OCN database. You can create an Admin account in SuccessFactors at SuccessFactors > Provisioning > Company Settings > Create Admin.
- Please specify “edx_admin” as the username of the administrator-level account.
- You do not need to share the password for this account with edX.
- Provision of this user in both the production system and the test or staging system.
It’s better to create the “edx_admin” account in the LMS Administrator Instance.
Follow the below steps:
- Click System Admin > Application Admin > Admin management > Add New
H) SuccessFactors Test User Account – edX needs a SuccessFactors user account for testing the SAML integration from our side.
- Specify “edx_test” as the username of the test user account.
- Provision this user in both the production system and the test or staging system.
- Send the username and password for the test account in each system to edX in a password-protected ZIP file. Send the ZIP password information to edX separately from the ZIP file
If you are unable to provide a test user account, provide edX with a technical contact who will be available for troubleshooting both during and after the integration effort.
Step 3: Configuring SAML-Based Single Sign-On:
The edX SuccessFactors OCN integration uses SAML-based single sign-on between edX and SuccessFactors, EdX does not currently support Single Log-Out; however, the edX platform does terminate stale SuccessFactors sessions.
Configure SAP SuccessFactors with the edX Assertion Consumer Service URL.
You can do this in SuccessFactors at SuccessFactors > Provisioning > Company Settings > Service Provider Settings > Authorized SP Assertion Consumer Service Settings.
Set the ACS URL value to – https://courses.edx.org/auth/complete/tpa-saml
Note – The SuccessFactors Customers who do not have access to the Provisioning can open dialog with the SuccessFactors team by creating a support ticket (https://launchpad.support.sap.com) and copy & paste the SSO configuration values from the edX interface into the template below.
My organization would like to integrate with edX via the Open Content Network. To complete the single sign-on setup, a new authorized SP assertion consumer service needs to be configured in your back-end provisioning settings. Below you will find the relevant details provided by edX for the assertion consumer service configuration:
ACS URL value to – https://courses.edx.org/auth/complete/tpa-saml
Step 4: Enabling the Open Content Network:
After you have completed the SSO configuration, the next step is to enable the Open Content Network (OCN). OCN is a joint initiative between SAP SuccessFactors, edX, and other online learning companies to integrate high-quality educational content with a SuccessFactors instance.
To enable OCN in your SuccessFactors instance, complete the steps listed below:
- In the SuccessFactors Learning Administration navigation menu, select System Admin.
- In the left menu, select Configuration, and then scroll down to System Configuration and select it.
- In the configuration file, find the Open Content Network option and click the edit button.
- In the configuration file, locate the edX Provider section.
- Edit the values in the edX Provider section to match the following:
# edX Provider
providers[EDX].orgID=[use the orgID provided by edX]
Note – You should not need to modify any other providers[EDX] values.
- Scroll Down and do the required amendments in the configuration.
- What will be the Domain of the courses:
- Do you want the courses to have an Approval Process If yes, set:
- What will be the Approval Process associated with these courses:
- Set the Item Type:
- Set the Item Completion Status:
- Set the Item Failure Status:
- Click Apply Changes
Step 5: Importing edX Content:
After you have configured SSO and configured the SuccessFactors LMS to load edX course content, you can import edX content to SuccessFactors LMS learning items.
To import content items into the SuccessFactors LMS, complete the steps listed below:
- Run the “Open Content Network Content Synchronization” Automatic Processes:
- Click System Admin > Automatic Processes > Open Content Network Content Synchronization
- Schedule this Process > Apply Changes
- Importing edX courses via Learning tab:
- In the SuccessFactors Learning Administration navigation menu, select Learning.
- In the left menu, select Content Network.
- Select edX, and then select Search.
- Select the content items that you want to import.
- Click Import Selected.
Step 6: Learn More:
FAQ-OCN and Personal Information Data – https://apps.support.sap.com/sap/support/knowledge/public/en/2388999
This Knowledge Base article includes links to the following PDF documents.
Web Services for Open Content Network Providers – https://apps.support.sap.com/sap/support/sapnotes/public/services/attachment.htm?iv_key=012003146900001563122016&iv_version=0001&iv_guid=6CAE8B28C71B1ED6A9E6E2BC397460C7
Open Content Network Overview – https://apps.support.sap.com/sap/support/sapnotes/public/services/attachment.htm?iv_key=012003146900001563122016&iv_version=0001&iv_guid=6EAE8B28C5091ED6A9E6E3E9B284A0C3