Set Up LinkedIn Learning Integration with Oracle Learning

Integrate LinkedIn Learning learning content seamlessly into Oracle Learning. The integration also lets you track learner progress and completions in Oracle Learning, whether the content is accessed through LinkedIn Learning or directly in Oracle Learning.

  1. Make sure that you have an active account with LinkedIn Learning that allows integrations.
  2. Configure single sign in between Oracle Learning and LinkedIn Learning to ensure the correct exchange of user information for learner progression tracking. You can use any identity provider you want.
  3. Map the user name or work email attribute, or both attributes depending on the provider's requirements. The provider includes the user name or work email in the xAPI statements it sends to Oracle Learning to identify the relevant learner.
  4. Enable self-paced learning.
  5. Set up the LinkedIn Learning app to generate a client app and credentials using this information:
    Property Value
    Application Name Enter a suitable name for your Oracle Learning content integration.
    Application Description Enter a suitable description for your Oracle Learning content integration.
    Choose keys Select the Content checkbox.

    When you finish, you should have these credentials:

    • LinkedIn Learning Client ID
    • LinkedIn Learning Client Secret
  6. In Oracle Cloud Infrastructure Identity and Access Management, generate unique Oracle client credentials for each POD where you're enabling integration.
    • Oracle Client ID
    • Oracle Client secret
    • Token URL or OAuth server URL: it's in the form https://<your_idcs_domain>/oauth2/v1/token. You get the domain value from the domain overview page, Domain information tab.
    • Scope

    This information lets you authenticate incoming requests from LinkedIn Learning to track learning completions.

    1. Sign in to the Oracle Cloud console.
    2. On the navigation menu, select Identity & Security > Domains.

      Complete the remaining steps as many times as you have PODs. For example, if you're enabling integration in a development and a production POD, complete steps c -- o twice.

    3. On the Integrated applications tab, add an application for LinkedIn Learning that's confidential and launch the workflow.
    4. In the Add application details step, enter a unique name that includes LinkedIn for easy identification, such as LinkedIn dev or LinkedIn prod.
    5. Click Next.
    6. In the Configure OAuth step, configure the app as a client now.
    7. For authorization, select Client credentials.
    8. Click Next.
    9. In the Configure policy step, add specific authorized resources that are accessible to the users.
    10. Add the Oracle Applications Cloud (Fusion) scope. The description shows the scope in the format <resource audience><resource scope>, for example, urn:opc:resource:fa:instsanceid=630113349urn:opc:resource:consumer::all. Make note of this scope, which is different for each of your environments, because you'll need it to complete step 5.
    11. Click Next and go with the default settings for the Web tier policy section.
    12. Click Finish.
    13. Close the Add Confidential Application page to open the page for the app you just created.
    14. Activate the app.
    15. From the OAuth configuration page of your activated app, copy the client ID and client secret values because you need them for step 5. You also use the client ID in step 4.
  7. Create a job role that includes the Learning Content Provider duty role. The role lets this account use the necessary Oracle APIs to receive content and completions from LinkedIn Learning. Use the Tools > Security Console page, Roles tab.
  8. Configure the Oracle client ID from step 2 as a user account that you'll use in step 5. Oracle Learning uses the account when querying LinkedIn Learning to get new and updated content.
    1. On the Tools > Security Console page, Users tab, add a user account.
    2. Set Associated Person Type to None. Make sure the user isn't associated with a person or worker account.
    3. Enter the appropriate user details so you can identify the account. Make sure that the user name is the same as the Oracle client ID value. Any discrepancy might lead to an unsuccessful configuration.
    4. Add the job role that you created in step 3.
  9. In LinkedIn Learning, set up the xAPI integration using this information
    Property Value Comments
    Integration Name Any meaningful name for your Oracle Learning integration
    User Type Email Included in xAPI statements sent by LinkedIn Learning, Oracle Learning uses the email to identify the appropriate learner.
    OAuth Server URL OAuth token URL obtained in step 2.

    Gets the access token using client credentials. It's in the format https://idcs-a79107525a3e47319c208830b3cfc15a.identity.oraclecloud.com/oauth2/v1/token

    The URL needs to be unique to each POD where you enable the integration.

    Tenant Server URL https://<hostname>/hcmRestApi/redwood/xAPI/statements where hostname is for your Oracle Learning environment.

    If the app URL is https://fa-eodv-test-saasfaprod1.fa.ocs.oraclecloud.com/fscmUI/faces/FuseWelcome, hostname should be fa-eodv-test-saasfaprod1.fa.ocs.oraclecloud.com.

    The tenant server URL would then be:

    https://fa-eodv-test-saasfaprod1.fa.ocs.oraclecloud.com/hcmRestApi/redwood/xAPI/statements
                     
    Client ID Oracle Client ID obtained in step 2. These credentials need to be unique for each POD where you enable the integration.
    Client Secret Oracle Client Secret obtained in step 2.
    Scope Scope obtained in step 2. Needed for integration to work, even though its shown as optional.
    Course Completions Select Leave Course Progress and Video Completions unchecked because the integration doesn't support them
    Learning Path Completions
  10. In Oracle Learning, enable the LinkedIn Learning external provider using the My Client Groups > Learning and Development > Configure External Providers task.
    1. Enter the LinkedIn Learning Client ID and Client Secret credentials for the provider client ID and secret.
    2. For user name, search for and select the Oracle Client ID created in step 1.
    3. Select a learning catalog profile that will apply to all imported LinkedIn Learning content. The profile identifies who can see and manage the learning.
    4. Validate the configuration.
    5. Optionally change the attribute mappings. These let you map certain LinkedIn Learning attributes to attributes in Oracle Learning that you might have extended or changed.
  11. Import the LinkdIn Learning content for the first time using the Tools > Scheduled Processes task and the Load and Synchronize External Course Data process. Keep Force Reload as No.

    This import adds the LinkedIn Learning content to your Oracle Learning catalog as self-paced learning and might take many hours to complete.

    Caution: To avoid any import failures, don't changes any settings for the LinkedIn Learning account, such as user name or status, while this process runs.
  12. If they're not already scheduled because another provider is already enabled or you've been creating and managing your own self-paced learning, schedule these background processes. Use the Tools > Scheduled Processes task:
    Process Input Parameter Recommended Frequency Description
    Load and Synchronize External Course Data Force Reload is No Once per day

    Get content updates

    • New content
    • Updates to existing content
    • Content retirements

    ESS job to run Bulk ingest to OSCS

    Program Name is OLC-REST Once per day, after the Load and Synchronize External Course Data process completes Make new content and updates visible to people in Oracle Learning.
    Process Learning Experience Statements NA Once per day Process any learner experience statements that for some reason weren't processed immediately.
    Process Learning Catalog Item Deactivations and Deletions NA Once per day, after the Load and Synchronize External Course Data process completes Deactivate content and withdraw active enrollments.