This blog is continuation of my previous blog Integrate LinkedIn Learning courses with SuccessFactors Learning (LMS)- Part 1, here i’ve explained the OCN configuration steps required in both SF Learning and LinkedIn Learning system so that both the system can talk to each other with ultimate goal being LinkedIn would be able to dynamically push all learning contents to SF Learning without any manual intervention.
As per linkedIn document, the LinkedIn Learning library contains over 12K+ courses , with 20-30 courses added per week. At that rate, it would take LMS admins a considerable amount of time to repeatedly upload new content from LinkedIn Learning manually.
LinkedIn Learning connects to SF Learning via SF’s inbuilt OCN APIs, so LMS admins do not have to manually upload new content packages at regular intervals. After initial setup, LinkedIn Learning uses OCN APIs to dynamically refresh the content library on an automated basis. This ensures new LinkedIn Learning content is available to learners within 24 hours of release. All content titles and descriptions are aggregated and indexed to accommodate keyword searches and support efficient discoverability.
What is Open Content Network(OCN):
Open Content Network (OCN) is a group of Massive Online Open Course (MOOC) partners who can provide content to SAP SuccessFactors Learning. SAP SuccessFactors Learning created Open Content Network (OCN) to partner with Massive Online OpenCourse (MOOC) providers [ in this case LinkedIn is the provider] so that employees can easily access their content from within SF LMS system. Employees can still take a MOOC with LinkedIn Learning system, outside the Learning Management System (LMS), but when we bring the courses into the SF LMS, the advantage is we can make it available for assignment, add it to catalogs, bundle it into a curriculum or program, or make it a part of company’s social learning through recommendations. Some of the other well know MOOC provider are Coursera, Lynda.com ,Open Sesame, OpenHPI, Udacity, Harvard Manage mentor etc.
SuccessFactors API Configuration
In order for LinkedIn Learning to push new content and learner progress into SuccessFactors LMS,a system user must be provisioned and API access must be granted. SSO must be configured as mentioned in the part one (i.e Integrate LinkedIn Learning courses with SuccessFactors Learning (LMS) ) of the blog, If content syncing is enabled before completing the SSO configuration, course launches will fail.
Step 1) Create OCN Admin role in LMS:
1. Log in to the SAP SuccessFactors Learning administration environment for your tenant and go to System Admin > Security > Role Management .
2. Select Add New .
3. In the Role ID field, type OCN_ADMIN. ( you can give any other name)
4. Provide an optional description.
5. Set the Domain to your preference ( if you are unsure about domain name, check in System Admin > Security > Domain)
6. Set Role Type to Admin.
7. Select Add.
8. In the learning administration sidebar, select Workflows.
9. In the Add a Workflow to the Role section, select add one or more from list.
10. Expand the Learning Management section and select all thirteen workflows below:
1. Add Item
2. Edit Item
3. Edit item Catalogs
4. Edit Item Commerce
5. Edit Item Cost/Price
6. Edit Item Custom Columns
7. Edit Item State
8. View Item
9. View Item Catalogs
10. View Item Commerce
11. View Item Cost/Price
12. View Item Custom Columns
13. Open Content Network Import
11. Scroll to the bottom of the page and select Add.
Step 2) Create System User
1. Log in to the SAP SuccessFactors Learning administration environment for your tenant and go to System Admin > Application Admin > Admin Management.
2. Select Add New .
3. In the Admin ID field, type LILADMIN ( you can give any other name)
4. Set a password.
5. Save the admin user.
6. In the learning administration sidebar, select Assigned Roles.
7. In the Role ID field, select type OCN_ADMIN (the one we created in last step) and select add.
Step 3) Obtaining SuccessFactors Tenant API Keys
1. Log in to the SAP SuccessFactors administration for your tenant and go to System
Admin > Configuration .
2. Select OAuth Token Server .
3. Save the Client ID value to copy into your LinkedIn Learning settings (this will be used in the “Configure LinkedIn Learning OCN Settings” section below).
4. Select Generate a new Client Secret. The secret key is only displayed once. Do NOT copy the hashed secret value. The client secret should not contain dollar signs or any special characters.
Important : The tenant secret key is only displayed once. You should save the Client Secret so you can use it for future OCN integrations. If you regenerate the Client Secret in the future, previously created API keys will expire and your integration with LinkedIn Learning will need to be reconfigured with the new Client Secret.
Step 4) OCN Property File Configuration
1. In the SuccessFactors Learning Administration navigation menu, select Admin Tools .
2. In left menu, select Configuration . Then select System Configuration .
3. Find the Open Content Network option in the configuration file and select Edit (pencil and paper icon).
4. Scroll to the bottom of the configuration file.
5. Copy / Paste the values below into the configuration file:
6. If LinkedIn Learning is your first OCN integration, you will need to fill in the three additional parameters.To find the possible values, follow the click paths below:
● defaultValues.itemType[default]: References > Learning > Item Types > Do a blank search > choose the necessary item type and add it to the value parameter in the OCN property file.( e.g CRSE)
● defaultValues.itemCompletionStatus[default]: References > Learning > Item Completions > Do a blank search > choose the necessary item completion and add it to the value parameter in the
OCN property file.(e.g CRSE-COMP)
● defaultValues.domainID[default]: System Admin > Security > Domains > Do a blank search >
choose the default domain where the item would be created and add it to the parameter in the
OCN property file.
7. Click on “Apply Changes”.
Step 5) Create LinkedIn Learning Label
1. Go to SAP SuccessFactors Learning administration and then go to References > Geography > Labels .
2. Select Add New .
3. In Label Type type LABEL .
4. Select Next .
5. In Label ID, type ProviderLinkedInLearning
6. In Description, type LinkedIn Learning Label .
7. In Use By dropdown select Both .
8. Select Assign to All Locales .
9. Select Add .
10. Select Locales .
11. For each Active Locale ID, type LinkedIn Learning .
12. Click Apply Changes .
13. To verify the label, within learning administration visit Learning > Content Network and confirm the list of content providers includes “LinkedIn Learning (LINKEDINLEARNING)”. If you see “null
(LINKEDINLEARNING)” confirm the label ID created in this section matches the
providers[LINKEDINLEARNING].label value provided in your OCN property file.
Step 6) Configure LinkedIn Learning OCN Settings:
1. In the LinkedIn Learning admin navigation menu, select Settings then Integrations.
2. In the side menu, select Reporting APIs .
3. In the SuccessFactors Integration, select drop-down arrow .
4. In the user type drop down, there are 3 options:
1. ID – SAML SSO IdP configured unique user ID (UUID) value for your account. You should select
this value if you are using SuccessFactors as your SAML IdP.
2. Username – SAML SSO custom attribute used solely for communication with external systems.
You should select this value if you are using a third party SAML IdP that is configured to send the
SuccessFactors UUID value as “username” in the SAML SSO payload.
3. Email – A user’s work email address value. Select this value if you are using email as
your UUID in both LinkedIn Learning and SuccessFactors.( I’ve used the 1st Option i.e ID).
5. In the OCN Server field enter your SuccessFactors host name.
6. In the OAuth Client ID and OAuth Secret field enter the values copied in Step 3 (make sure to enter correct value)
7. In the Admin User ID field enter the value LILADMIN.
8. To begin the content import, select Enable & Sync Content.
Initial content import might take several hours to complete. After the initial import completes, linkedIn claims, the delta content imports will take place on a daily basis in a fraction of the time.
Once content sync is in progress, one can see the content sync status update with number if items synced( as shown in the figure above). As understandable the initial content update takes sever hours ( it took a day in my case) and after that delta courses are updated on real time basis.
Step 7: Validate if the LinkedIn Learning content imported in SF Learning
go to Learning->Content Network ( Select content provider as “linkedIn Learning”) and hit Search
all the imported can be viewed with provider ID as “LINKEDINLEARNING” ( also it shows how many total courses are there)
LMS admin should be able to assign courses to different groups based on requirement. However for users to access any of the linkedIn courses, he/she should have a linkedIn learning account subscription. In my next blog i would explain how to create linkedIn account for bulk users manually or via an automated interface ( activate and deactivate users). Thanks everyone, i hope this article helps.