-
Notifications
You must be signed in to change notification settings - Fork 84
docs: Updated educator docs for using Open edX as an LTI tool provider #1448
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 4 commits
24ea593
3d3fd97
7ddf0e3
1c11249
ad459ef
5d5a494
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -5,59 +5,110 @@ Using Open edX as an LTI Tool Provider | |
|
|
||
| .. tags:: educator, concept | ||
|
|
||
| You can also include content from an LTI provider in your courses. For more | ||
| information, see :ref:`About the LTI Component`. | ||
| Open edX can act as a Learning Tools Interoperability (LTI) tool provider, allowing you to deliver Open edX course content inside | ||
| another LMS such as Canvas, Blackboard or any system that supports LTI 1.1. | ||
|
|
||
| .. _Grading Remote Content: | ||
| Setting this up involves 2 roles: | ||
|
|
||
| Grading Remote Content | ||
| ********************** | ||
| 1. Site operator: Enables LTI provider functionality on the Open edX instance and creates LTI 1.1 | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
| credentials for external LMS. See Configuring an Open edX Instance as an LTI Tool Provider (site | ||
| operator docs). | ||
|
sarina marked this conversation as resolved.
|
||
|
|
||
| When you include problem components from a graded subsection in your Open edX | ||
| instance in an external LMS, your Open edX instance will grade the learner | ||
| responses to those problems. Your instance then transfers the learner scores | ||
| back to the external LMS. This exchange between an external LMS, your Open edX | ||
| instance, and the external LMS again is near real time. It can take a few | ||
| moments to complete this exchange for a single problem component, and up to | ||
| several minutes to return aggregated scores of all of the problems in a unit or | ||
| subsection. | ||
| 2. Educator: Identifies the Open edX course content to share, constructs LTI URLs for that content, | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
| and adds LTI 1.1 configuration along with those URLs to the external LMS. | ||
|
|
||
| When you include problem components from your Open edX instance in an external | ||
| LMS, note the following requirements. | ||
| Learner Authentication Options | ||
| ============================== | ||
|
|
||
| * The problem component must be in one of the graded subsections in your course. | ||
| * Your external LMS might also require that you use a specific part of the | ||
| course for graded content. For example, in Canvas, you must add the LTI URL | ||
| of a problem component to the "Assignments" section of a course, or to a | ||
| module item that points to an assignment. In addition, the user who launches | ||
| the LTI material must be eligible to get a grade for the assignment; that is, | ||
| a learner and not a TA or course designer. | ||
| Site operators can configure 3 authentication methods via the LTI Consumer settings in Django admin: | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
|
|
||
| For more information about constructing an LTI URL for a course component, see | ||
| :ref:`Determine Content Addresses`. | ||
| 1. Anonymous (default): First time a learner accesses Open edX content from the external LMS, Open | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
| edX automatically creates a user account with a random username and a generated email address. No | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
| personally identifiable information is stored. This mode provides the most seamless experience and the learner may not even notice that Open edX is | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
| involved. | ||
|
|
||
| .. seealso:: | ||
|
|
||
| 2. Auto-create with personal information: When the "Use lti pii" option is enabled, Open edX creates | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
| a user account using the learner's email address from the LTI launch data. If a user with the same | ||
| email already exists, the existing account is linked. This mode is useful when you need to identify | ||
| learners or associate their LTI activity with an existing Open edX account. | ||
|
|
||
| For this to work, configure your external LMS to include ``lis_person_contact_email_primary`` in | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. [clarification] who has the ability to configure the external LMS?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This will depend on the org. But my assumption is that it'll be educators is most cases since they'll be the ones creating content in Open edX, constructing URLs and then configuring those URLs in other LMSes. |
||
| the LTI launch request. Without it, Open edX cannot identify the learner and will create an | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
| account using the LTI user ID instead. You can also send ``lis_person_name_full`` (or | ||
| ``lis_person_name_given`` and ``lis_person_name_family``) to populate the learner's display name | ||
| on the new account, but this is optional. | ||
|
|
||
| 3. Require existing account: When the "Require user account" option is enabled, the learner must | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
| already be logged into Open edX in the same browser, and their Open edX account email must match | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
| the email address the external LMS sends in the launch request. If either condition is not met, | ||
| they see an error page with a link to the Open edX login page. After signing in with the matching | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
| account, they can return to the LTI content. This mode is useful when learners must have | ||
| pre-existing accounts on the Open edX system. | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
|
|
||
| For this to work, configure your external LMS to include ``lis_person_contact_email_primary`` in | ||
| the LTI launch request. Without it, the email match fails and learner sees the error | ||
| page, regardless of whether they are signed in. | ||
|
|
||
| If both "Use lti pii" and "Require user account" are enabled, "Require user account" takes | ||
| precedence and "Use lti pii" is ignored. | ||
|
ayub02 marked this conversation as resolved.
Outdated
|
||
|
|
||
| Grading | ||
| ======= | ||
|
|
||
| When you include problem components from a graded subsection in an external LMS, Open edX grades | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
| the learner responses and transfers the scores back to the external LMS. | ||
|
|
||
| If the content is an individual problem component, Open edX returns the grade for each learner | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
| immediately after they submit an answer. | ||
|
|
||
| If the content is a unit or subsection, Open edX aggregates the grades and returns them after a | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
| configurable delay (15 minutes by default). | ||
|
|
||
| .. note:: | ||
|
|
||
| Your external LMS may have additional requirements for grading to work. For example, in Canvas, | ||
| the LTI URL of a problem component must be added to the Assignments section of a course, or to | ||
| a module item that points to an assignment. The user who launches the LTI material must be | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
| eligible to receive a grade (that is, a learner, not a TA or course designer). | ||
|
|
||
| :ref:`Create a Duplicate Course for LTI use` (how-to) | ||
| What You Need from Your Site Operator | ||
| ===================================== | ||
|
|
||
| :ref:`Determine Content Addresses` (how-to) | ||
| Before you can configure your external LMS to consume Open edX content, you need the following | ||
| from your site operator: | ||
|
|
||
| :ref:`Planning for Content Reuse` (reference) | ||
| 1. Consumer key: A unique identifier for the external LMS. Your site operator creates this when | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
| configuring the LTI consumer in Django admin. | ||
|
|
||
| :ref:`Open edX as an LTI Provider to Canvas` (how-to) | ||
| 2. Consumer secret: A shared secret used to authenticate the LTI connection. Created alongside the | ||
|
sarina marked this conversation as resolved.
Outdated
|
||
| consumer key. | ||
|
|
||
| :ref:`Open edX as an LTI Provider to Blackboard` (how-to) | ||
| You will enter these values into your external LMS when setting up the LTI integration. In | ||
| addition, you will need the LTI URL for each piece of Open edX content you want to deliver. | ||
| You'll need to construct these yourself using the course ID and usage ID. See :ref:`Determine Content Addresses`. | ||
|
|
||
| :ref:`Configuring an edX Instance as an LTI Tool Provider` (site operators) | ||
|
|
||
| :ref:`Configuring Credentials for a Tool Consumer` (site operators) | ||
| .. note:: | ||
|
|
||
| Not all Open edX content types work well when delivered via LTI. For details on which component types are | ||
| compatible, see :ref:`Content Compatibility for LTI`. | ||
|
|
||
|
|
||
|
|
||
| .. seealso:: | ||
|
|
||
| :ref:`Content Compatibility for LTI` | ||
|
|
||
| :ref:`Determine Content Addresses` | ||
|
|
||
| :ref:`Configuring an edX Instance as an LTI Tool Provider` (site operator) | ||
|
|
||
|
|
||
|
|
||
| **Maintenance chart** | ||
|
|
||
| +--------------+-------------------------------+----------------+--------------------------------+ | ||
| | Review Date | Working Group Reviewer | Release |Test situation | | ||
| +--------------+-------------------------------+----------------+--------------------------------+ | ||
| | 2025-06-04 | MITx | Teak | Pass | | ||
| +--------------+-------------------------------+----------------+--------------------------------+ | ||
| | 2026-05-06 | Aamir Ayub | Verawood | Pass | | ||
|
sarina marked this conversation as resolved.
|
||
| +--------------+-------------------------------+----------------+--------------------------------+ | ||
Uh oh!
There was an error while loading. Please reload this page.