About the integration
DataCamp supports integrating with Cornerstone LMS via SFTP. In the integration, the DataCamp content catalog and learning events are sent to an SFTP server provided by Cornerstone in the form of flat CSV files on a periodic basis. Cornerstone then uses these files to update its internal catalog and progress/completion records.
Content and events sync process
DataCamp can sync its full catalog to Cornerstone. This includes courses, projects, practices, assessments, tracks, custom tracks, and certifications. For courses, projects, practices, assessments, certifications, tracks, and custom tracks content completions can be synced.
The sync interval is customizable. Furthermore, the timestamp on which the sync happens can be customized to your needs. It’s also possible to plan the first sync ahead of time.
CSV file structure
The structure of the CSV file is defined in a template, customized for use with the Cornerstone LMS. On request, additional fields can be added to the CSV template.
Content fields
The table below summarizes the fields that are used in the content CSV files.
| Cornerstone field | Description |
| id | The unique identifier for the content item on DataCamp |
| title | The content’s title, suffixed with an indication of its content type |
| description | The content’s description |
| image_url | URL of the thumbnail for the content |
| deeplink_url | An SSO deeplink to the content |
| keywords | The content’s technology if it is available |
| duration | The duration of the content in seconds |
| archive | “Y” if the content is archived, “n” otherwise |
| language | Hardcoded to “English” |
| is_private | Hardcoded to “false” |
| content_type | Hardcoded to “course” |
The table below summarizes the fields used in the learning events CSV files.
| Cornerstone field | Description |
| User ID | User identifier. Can be e-mail, SSO nameID, or LMS username |
| Learning Object ID or Material ID | DataCamp id of the content item |
| Transcript Status | Hardcoded to “Completed” |
| Request Date/Time | The date when the user completed the item |
| Registration Date/Time | The date when the user completed the item |
| Completion Date/Time | The date when the user completed the item |
| Score | Empty |
SSO and deeplinking
All content items sent by DataCamp have a 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 in Cornerstone, this allows a seamless experience between Cornerstone and DataCamp. If learners are already logged into Cornerstone, they will not have to sign in again when they launch a content item on DataCamp.
Full and delta files
DataCamp sync its catalog and events via SFTP in two ways: full files and delta files.
The first time the DataCamp content catalog and learning events are synced, the CSV files will contain all items in the DataCamp catalog and a full historical backfill of all learning events. Cornerstone will ingest these files using Edge Import.
Subsequent CSV files from DataCamp are delta files. This means that they will only contain:
- New content items launched since the last successful sync
- Updates to existing content items that happened since the last successful sync
- events that occurred since the last successful sync
File naming
The integration can be set up to flexibly name the files. Files can have a fixed name, in which case files uploaded during a sync will overwrite any existing files from the previous sync. In the case of flexible names, a timestamp can be included in the filename. This timestamp is the timestamp on which the file is generated. We currently support all common date and time formats.
Server authentication
DataCamp supports password and public key authentication for SFTP. In the first case, you can provide DataCamp with a username and password. In the second case, DataCamp can provide a public key that you can whitelist on your server.
Prerequisites
Before setting up an integration via SFTP, the following requirements must be met:
- You need to have an SFTP server available with either:
- An account created that can be used by DataCamp to upload files
- The possibility to add trusted public keys
Setup
In order to set up an integration via SFTP, start by configuring your Cornerstone Edge Import to download and process CSV files from the SFTP server.
Next, provide DataCamp with the following information:
- What content types should be synced (courses, projects …)
- If learning events should be synced
- The credentials for your SFTP server, including:
- Hostname
- Port
- Username/password in case of password-based SFTP authentication
- Path to which the files should be uploaded, with sufficient permissions for the provided user
- How the files should be named
- The sync cadence and timestamp of the first sync
The DataCamp team will set up the integration based on the information provided.
FAQ
Will a user completion be included in an SFTP sync if a course is skipped?
Completions for skipped courses are not included in SFTP files containing learning events files.(Courses can be skipped as part of a track, when passing a "test-out" assessment).