-
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
Merged
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
24ea593
docs: Updated educator docs for using Open edX as an LTI tool provider
ayub02 3d3fd97
docs: Updated site operator docs for Open edX as LTI provider
ayub02 7ddf0e3
docs: minor styling and hierarchy changes
ayub02 1c11249
docs: cross-reference fixed
ayub02 ad459ef
docs: addressed Sarina's comments on PR 1448
ayub02 5d5a494
docs: addressed Sarina's comments on PR 1448 - round 2
ayub02 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+84.1 KB
source/_images/site_ops_how_tos/lti_provider_section_django_panel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
103 changes: 0 additions & 103 deletions
103
source/educators/concepts/advanced_features/lti_reuse_content.rst
This file was deleted.
Oops, something went wrong.
141 changes: 105 additions & 36 deletions
141
source/educators/concepts/advanced_features/using_openedx_as_LTI_provider.rst
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,63 +1,132 @@ | ||
| .. _Using Open edX as an LTI Tool Provider: | ||
|
|
||
| Using Open edX as an LTI Tool Provider | ||
| Your instance 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 platform 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 | ||
| ********************** | ||
| **Site operator**: Enables LTI provider functionality on the Open edX instance and creates LTI 1.1 | ||
| credentials for external LMS. See :ref:`Configuring an Open edX Instance as an LTI Tool Provider` (site | ||
| operator docs). | ||
|
|
||
| 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. | ||
| **Educator**: Identifies the Open edX course content to share, constructs LTI URLs for that content, | ||
| 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. | ||
|
|
||
| * 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. | ||
| Content You Can Deliver | ||
| ======================= | ||
|
|
||
| For more information about constructing an LTI URL for a course component, see | ||
| :ref:`Determine Content Addresses`. | ||
| The Open edX software lets you deliver specific parts of a course via LTI. | ||
| You can share a :ref:`subsection <About Course Subsections>`, | ||
| a :ref:`unit <About Course Units>`, or an individual :ref:`component <Add a Component>`. | ||
| :ref:`Sections <About Course Sections>` are not supported. | ||
|
|
||
| .. seealso:: | ||
|
|
||
| For details on which content types work well when delivered via LTI, see :ref:`Content Compatibility for LTI`. | ||
|
|
||
|
|
||
| Learner Authentication Options | ||
| ============================== | ||
|
|
||
| The authentication mode affects how seamlessly learners access your content and whether you | ||
| need to configure your external LMS to send learner identity information. This is configured | ||
| by your site operator. See :ref:`Authentication Modes` for the configuration steps. | ||
|
|
||
| #. **Anonymous (default)**: A user account is automatically created for the learner with a | ||
| randomly generated username and email address. No personally identifiable information is | ||
| stored. This mode provides the most seamless experience and the learner may not even notice | ||
| that your Open edX instance is involved. | ||
|
|
||
| Because accounts are created with randomly generated usernames and email addresses, you | ||
| cannot identify individual learners in your Open edX instance. | ||
|
|
||
| #. **Auto-create with personal information**: A user account is created using the learner's | ||
| email address. If an account with that email already exists, it is linked automatically. | ||
| 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 the LTI launch request. Without it, your Open edX instance cannot identify the learner | ||
| and will create an 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, but this is optional. | ||
|
|
||
| #. **Require existing account**: The learner must already be signed into your Open edX instance | ||
| in the same browser, and their account email must match the email address your external LMS | ||
| sends in the launch request. If either condition is not met, they see an error page with a | ||
| link to the sign-in page. This mode is useful when learners must have pre-existing accounts | ||
| on your Open edX instance. | ||
|
|
||
| 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 the learner sees the error | ||
| page, regardless of whether they are signed in. | ||
|
|
||
|
|
||
| Grading | ||
| ======= | ||
|
|
||
| When you include problem components from a graded subsection in an external LMS, the Open edX software grades | ||
| the learner responses and transfers the scores back to the external LMS. | ||
|
|
||
| If the content is an individual problem component, the Open edX instance returns the grade for each learner | ||
| immediately after they submit an answer. | ||
|
|
||
| If the content is a unit or subsection, the Open edX instance aggregates the grades and returns them after a | ||
| configurable delay (15 minutes by default). | ||
|
|
||
| :ref:`Create a Duplicate Course for LTI use` (how-to) | ||
| .. note:: | ||
|
|
||
| :ref:`Determine Content Addresses` (how-to) | ||
| 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. | ||
|
|
||
| :ref:`Planning for Content Reuse` (reference) | ||
| Or the user who launches the LTI material must be eligible to receive a grade (that is, a learner, | ||
| not a TA or course designer). | ||
|
|
||
| :ref:`Open edX as an LTI Provider to Canvas` (how-to) | ||
| What You Need from Your Site Operator | ||
| ===================================== | ||
|
|
||
| :ref:`Open edX as an LTI Provider to Blackboard` (how-to) | ||
| Before you can configure your external LMS to consume Open edX content, you need the following | ||
| from your site operator: | ||
|
|
||
| :ref:`Configuring an edX Instance as an LTI Tool Provider` (site operators) | ||
| #. Consumer key: A unique identifier for the external LMS. Your site operator creates this when | ||
| configuring the LTI consumer in Django admin. | ||
|
|
||
| #. Consumer secret: A shared secret used to authenticate the LTI connection. Created alongside the | ||
| consumer key. | ||
|
|
||
| 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`. | ||
|
|
||
|
|
||
| .. 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` (reference) | ||
|
|
||
| :ref:`Determine Content Addresses` (how-to) | ||
|
|
||
| :ref:`Configuring an Open edX Instance as an LTI Tool Provider` (concept) | ||
|
|
||
| :ref:`Configuring Credentials for a Tool Consumer` (site operators) | ||
|
|
||
|
|
||
| **Maintenance chart** | ||
|
|
||
| +--------------+-------------------------------+----------------+--------------------------------+ | ||
| | Review Date | Working Group Reviewer | Release |Test situation | | ||
| | Review Date | Reviewer | Release |Test situation | | ||
| +--------------+-------------------------------+----------------+--------------------------------+ | ||
| | 2025-06-04 | MITx | Teak | Pass | | ||
| | 2026-05-06 | Aamir Ayub | Verawood | Pass | | ||
|
sarina marked this conversation as resolved.
|
||
| +--------------+-------------------------------+----------------+--------------------------------+ | ||
| | 2025-06-04 | MITx | Teak | Pass | | ||
| +--------------+-------------------------------+----------------+--------------------------------+ | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.