Cornerstone


Cornerstone On Demand (CSOD) - UPDATE

  • Prior integrations were API based which were limited by:
    • CSOD APIs provided version level course information
      • Resulted in duplicate content being surface on the LXP - Each version is a different card
    • CSOD APIs provided version level deep link URL
    • CSOD APIs did not enable us to extract data within a time frame hence - we had to sync the whole catalog every time - which resulted in infrequent updates and lengthy syncing process
    • CSOD APIs did not provide a clear way to identify if a course has been “deactivated” on their platform - hence we could not archive any courses that we pulled in from the CSOD
  • Based on consultation with CSOD, we are solving these issues by converting our integrations to be CSV based instead

Cornerstone On Demand (CSOD)

  • CSOD new connectors are based on CSV files
  • The customer must generate custom reports on CSOD and export them on a daily basis to an SFTP folder on CSOD, based on EdCast defined format
  • Our connectors connect to the SFTP folder on the CSOD servers – read the catalog and transcript reports
    • Catalog (current capability)
    • Assignments & completions (current capability)
    • And withdrawals as well (planned)
  • The catalog will give us each version of a course independently but the launch URL will be at the course level
  • When we receive the each version of a course – we check if we already have a previous version by calling an API on CSOD to give us the older version of the same course and update the links
    - We will always make sure that there is only one version available – no duplicate cards are
    created
  • The launch URL will take the user to the course page – that CSOD automatically resolves to the right version for that specific user
  • Transcripts - when a user gets assigned a course or completes a course we get the details from CSOD at a version level
    - We perform a basic look up in our DB - Does this version of the course exist in our
    environment as a card?
    - If yes - we create the assignments or completions against that card
    - If no, we call CSOD API to give us all the related versions for this assignment or completion and
    look up these different versions if they exist in our DB - Does any version of this course exist in our
    environment as a card?
    - If yes, then we update the assignment or completions against that card
    - If no, we ignore it. Since this course has not been imported in the platform

CornerStone Connector

CornerStone Connector can be configured from LXP Admin Console -> Content -> LMS Integrations


CornerStone Connector - Configuration Parameters


Name

Description

Sample Value

server_ip

Sftp host name to be procured from customer

ftp.org-pilot.csod.com

server_username

Sftp username to be procured from customer

username

password

Password to be procured from customer

admin123

folder

Catalog sftp folder path to be procured from customer

/Edcast/csod/sandbox/catalog

completions_folder

Completions sftp folder path to be procured from customer

/Edcast/csod/sandbox/completions

organizations_lms_host

To be procured by customer from CSOD

org-pilot

api_key

To be procured by customer from CSOD

155g5i684te2w

api_secret

To be procured by customer from CSOD

iKOOF2ODFVx5+4Jcmyz6j3teXj
LTtjNfgn9STGZ9yQtyiSmv3BxtH
kXM2wD7QxOVErtJDLkCUdon
Y8mUtX6+K7w==_test

username

To be procured by customer from CSOD

soapadmin

custom_lms_user_key

Custom Field in edcast to store the CSOD Id of the user

csod_id

organization_lms_sso_url

To be procured by customer from CSOD

https://org-
pilot.csod.com/samldefault.aspx
?ouid=2&returnurl=

odata_enabled

To be set as true

true

enable_versioning

To be set as true

true

processed_completions_folder

Processed completions sftp folder path to be procured from customer

/Edcast/csod/sandbox/processe
d/completions

processed_catalog_folder

Catelog completions sftp folder path to be procured from customer

/Edcast/csod/sandbox/processe
d/catalog