About the integration
DataCamp supports integration with Moodle via LTI 1.3 (Learning Tools Interoperability). This integration allows your institution to:
- Use Deep Linking to embed DataCamp content directly in Moodle.
- Sync completions through the Assignments and Grade Services (AGS) standard.
With this setup, learners can launch DataCamp content from Moodle, and their completions can be reflected as grades in Moodle.
Deep Linking
With Deep Linking, Moodle admins or instructors can browse DataCamp content from within Moodle and add them into their course modules.
To use Deep Linking, the user must be an admin, manager, or team manager in the DataCamp group.
The supported content types are:
- Courses
- Projects
- Assessments
- Practices
- Tracks
- Custom tracks
- Certifications
A DataCamp content item can be inserted by adding an activity to the Moodle course. After LTI is configured, "DataCamp" should be visible in the list of activities to add.
Adding an activity to a course
In the form, by clicking on "Select content" (seen below) you will start the deep linking flow, where you'll be shown a list of DataCamp content to select from and embed into your course.
Assignment and Grading
The integration uses Assignments and Grade Services (AGS) to sync completions:
- When a learner completes a DataCamp course, the completion is immediately sent back to Moodle.
- The corresponding activity in the Moodle course is marked as complete for the user. The score is hardcoded to 100 out of 100.
This ensures that Moodle instructors can easily track learner progress on DataCamp content.
A learner must first launch the content item from Moodle for the grade to be recorded. The content can still be completed on DataCamp at a later time, and we will send the completion, but the course must always be launched from Moodle first.
Below is a screenshot of the instructor's view of the grades of several DataCamp assignments within their course:
Instructor's view of the gradebook of their course
Student view of their grades in the course
User provisioning
DataCamp uses Just-in-time (JIT) provisioning for learners launching from Moodle. When a learner clicks a DataCamp course in Moodle, if they don’t already have a DataCamp account, one is created instantly and they will be added, with the highest available license, to the organization in DataCamp.
With JIT provisioning, learners can move from Moodle into DataCamp seamlessly, without any extra steps.
Pre-requisites
In order to set up an integration with LTI, the following requirements must be met:
- You must have access to an active Moodle LMS instance
- You must have an active enterprise subscription on DataCamp
- You must have admin privileges on the Moodle LMS instance
Setup
Step 1: Receive & prepare necessary information
As a first step, you’ll need to gather some information to provide us, as well as receive information from us.
Receive the following information from your DataCamp point of contact:
- Public JWK URL
- Redirect URIs
Step 2: Setup the DataCamp LTI Tool in Moodle
In Moodle, go to Site Administration > Plugins > Manage Tools. Click on the "configure a tool manually." anchor link.
Under “Tool Settings”, enter the following values:
- Tool name: DataCamp
- Tool URL: https://lms-api.datacamp.com
- Tool description: DataCamp enables seamless access to interactive data and AI learning directly within your LMS via LTI integration.
- LTI version: 1.3
- Public key type: Keyset URL
- Public keyset: Provided by DataCamp
- Initiate login URL: https://lms-api.datacamp.com/lti/oidc/initiate
- Redirect URIs: Provided by DataCamp (please insert these as separate lines in the field)
- Custom parameters: (Leave blank)
- Tool configuration usage: “Show as preconfigured tool when adding an external tool”
- Default launch container: New Window
- Supports Deep Linking (Content-Item Message): check this field
- Content Selection URL: https://lms-api.datacamp.com/lti/launch
Under “Restrict to Category”, set this up as you wish, or leave as default.
Under “Services”, enter the following values:
- IMS LTI Assignment and Grade Services: “Use this service for grade sync only”
- IMS LTI Names and Role Provisioning: “Do not use this service”
- Tool Settings: “Do not use this service”
Under “Privacy”, enter the following values:
- Share launcher's name with tool: “Always”
- Share launcher's email with tool: “Always”
- Accept grades from the tool: “Always” or “As specified in deep linking definition”
- Force SSL: Checked
Under “Miscellaneous”, leave as default.
Finally, save your changes.
Step 3: Share details with DataCamp
In Site Administration > Plugins > Manage Tools, you should see the newly created integration. Click the "View configuration details" (Magnifying glass) button to see the details of the integration:
- Platform ID
- Client ID
- Deployment ID
- Public keyset URL
- Access token URL
- Authentication request URL
Share these details safely with your DataCamp point of contact.
Step 4: Test the integration
Once enabled by DataCamp, test the setup by embedding a DataCamp course into Moodle using Deep Linking (explained above).
When launching the embedded course, you should be redirected seamlessly to DataCamp, already logged in, and taken directly to the selected piece of content.
FAQ
Why can’t DataCamp content be embedded in an iframe inside Moodle?
DataCamp courses are interactive and cannot be packaged or served from another platform. Our courses combine video with live coding exercises that only run on the DataCamp platform.
Note: Deep Linking can (and will) be performed in an iframe.
Can learners access DataCamp directly if they were provisioned through Moodle?
Yes, but only after setting a password via the "Forgot my password" feature. This is because accounts created via Moodle through JIT provisioning do not initially have a password.
What if a learner has already completed a DataCamp course that I have added to my Moodle course?
The learner needs to only launch the course once from Moodle and we will immediately send the completion to Moodle, which will mark the course as completed. They will not have to re-complete the course on DataCamp.
Can I set up LTI with Dynamic Registration?
Dynamic registration is not supported at the moment.