Skip to content
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.
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.
2 changes: 1 addition & 1 deletion source/community/release_notes/sumac/sumac_lti_cert.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ View the `1EdTech listing for the Open edX platform here

:ref:`Enabling and using LTI Advantage features` (how-to)

:ref:`Using Open edX as an LTI Tool Provider` (concept)
:ref:`Using your Open edX instance as an LTI Tool Provider` (concept)


**Maintenance chart**
Expand Down
2 changes: 1 addition & 1 deletion source/community/release_notes/teak/teak_lti_cert.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ View the `1EdTech listing for the Open edX platform here

:ref:`Enabling and using LTI Advantage features` (how-to)

:ref:`Using Open edX as an LTI Tool Provider` (concept)
:ref:`Using your Open edX instance as an LTI Tool Provider` (concept)


**Maintenance chart**
Expand Down
2 changes: 1 addition & 1 deletion source/community/release_notes/ulmo/ulmo_lti_cert.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ View the `1EdTech listing for the Open edX platform here

:ref:`Enabling and using LTI Advantage features` (how-to)

:ref:`Using Open edX as an LTI Tool Provider` (concept)
:ref:`Using your Open edX instance as an LTI Tool Provider` (concept)


**Maintenance chart**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
.. _Using Open edX as an LTI Tool Provider:
.. _Using your Open edX instance as an LTI Tool Provider:

Your instance as an LTI Tool Provider
######################################

.. tags:: educator, concept

Open edX platform can act as a Learning Tools Interoperability (LTI) tool provider, allowing you to deliver Open edX course content inside
The 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.

Setting this up involves 2 roles:
Expand Down Expand Up @@ -66,8 +66,10 @@ by your site operator. See :ref:`Authentication Modes` for the configuration ste
page, regardless of whether they are signed in.


Grading
=======
.. _Grade Passback:

Grade Passback
================

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.
Expand All @@ -93,10 +95,10 @@ What You Need from Your Site Operator
Before you can configure your external LMS to consume Open edX content, you need the following
from your site operator:

#. Consumer key: A unique identifier for the external LMS. Your site operator creates this when
#. **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 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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ interact with into the LMS for a course.

:ref:`Enabling and using LTI Advantage features` (how-to)

:ref:`Using Open edX as an LTI Tool Provider` (concept)
:ref:`Using your Open edX instance as an LTI Tool Provider` (concept)


**Maintenance chart**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
.. _Open edX as an LTI Provider to Blackboard:
.. _Open edX platform as an LTI Provider to Blackboard:

Use Open edX Platform as an LTI Provider to Blackboard (Example)
####################################################################
Open edX platform as an LTI Provider to Blackboard
##################################################

.. tags:: educator, how-to

.. note:: This feature has not been recently tested with Blackboard. However, it works as of Teak with :ref:`Canvas <Open edX as an LTI Provider to Canvas>`.

.. note:: This feature has not been recently tested with Blackboard.
It has been tested with :ref:`Canvas <Open edX platform as an LTI Provider to Canvas>` as of Verawood release.


To use Open edX course content in the Blackboard LMS, you add a new app to the course and then add external tool module items.

Expand Down Expand Up @@ -40,25 +43,29 @@ To use Open edX course content in the Blackboard LMS, you add a new app to the c
#. Review the content to verify that it appears as you expect.

.. image:: /_images/educator_references/lti_blackboard_example.png
:alt: An Open edX drag and drop problem shown as part of a course running on a
:alt: An Open edX platform drag and drop problem shown as part of a course running on a
Blackboard system.

.. seealso::


:ref:`Using Open edX as an LTI Tool Provider` (concept)
:ref:`Using your Open edX instance as an LTI Tool Provider` (concept)

:ref:`Determine Content Addresses when using Open edX as an LTI Provider<Determine Content Addresses>` (how-to)
:ref:`Determine Content Addresses` (how-to)

:ref:`Content Compatibility for LTI` (reference)

:ref:`Example - Open edX as an LTI Provider to Canvas<Open edX as an LTI Provider to Canvas>` (reference)
:ref:`Configuring an Open edX Instance as an LTI Tool Provider` (site-operator)

:ref:`Open edX platform as an LTI Provider to Canvas` (how-to)


**Maintenance chart**

+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
| Review Date | Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
| 2026-05-12 | Aamir Ayub | Verawood | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
| | | | |
| 2025-06-04 | MITx | Teak | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
206 changes: 180 additions & 26 deletions source/educators/how-tos/advanced_features/lti_canvas_example.rst
Original file line number Diff line number Diff line change
@@ -1,52 +1,206 @@
.. _Open edX as an LTI Provider to Canvas:
.. _Open edX platform as an LTI Provider to Canvas:

Use Open edX Platform as an LTI Provider to Canvas (Example)
#############################################################
Open edX platform as an LTI Provider to Canvas
###############################################

.. tags:: educator, how-to

To use Open edX course content in the Canvas LMS, you add a new app to the course and then add external tool module items.

.. note:: This example relies on the use of a third-party tool. Because this
tool is subject to change by its owner, the steps and illustrations provided
here are intended as guidelines and not as exact procedures.
.. note::

#. In Canvas, select your course. In **Settings**, select **Add New App**.
This example relies on the use of a third-party tool. Because this
tool is subject to change by its owner, the steps and illustrations provided
here are intended as guidelines and not as exact procedures.

.. image:: /_images/educator_references/lti_edit_external_app_Canvas.png
:alt: The Canvas page where you enter identifying values for the edX host
site as a LTI tool provider.

#. In **Modules**, add a new **External Tool** item. The **URL** is the LTI
URL that you determined for the your course content.
This guide assumes:

.. image:: /_images/educator_references/lti_edit_problem_Canvas.png
:alt: The Canvas page where you add an external tool and supply the LTI
URL.
- You have been provided with LTI *Consumer Key* and *Consumer Secret* by your site
operator (see :ref:`Configuring Credentials for a Tool Consumer`)
- You have constructed URLs for content you want to show in Canvas
(see :ref:`Determine Content Addresses`)

For more information, see :ref:`Determine Content Addresses`.

#. Review the content to verify that it appears as you expect.
Configuring an LTI tool in Canvas has two steps:

#. **Tool Configuration**: Establishes the connection between Canvas and
your Open edX instance using the consumer key, secret, and domain. This is
typically done once, at the account or course level.

#. **Tool Placement**: How learners reach a specific piece of Open edX content,
such as a module item or an assignment. A single tool configuration can be
reused in multiple locations. Instructors can override launch URLs during
placement.

Canvas has two roles relevant to these steps:

#. **Account Admin**: Has access to Account Settings and can configure an External Tool at the account level
which will then be available across all courses in the account. Instructors can place this tool
anywhere in the course and also override the launch URL.

#. **Instructor**: Has access to Course Settings and can configure an External Tool at the course level
which will then be available in that course only.


**************************************************************
Step 1: Configuring your Open edX instance as an External Tool
**************************************************************

The Open edX platform supports LTI 1.1 only as a tool provider. You can configure it as
an External Tool in Canvas.

#. Navigate to the External Apps page:

#. Account Nav → Settings → Apps if you have an Admin role.

.. figure:: /_images/educator_how_tos/canvas_external_apps_account_nav.png
:alt: Screenshot of accessing External Apps page via account navigation.
:width: 100%

In account navigation, select Settings and then the Apps tab to access configuration page for External Apps.


#. Course Nav → Settings → Apps if you have an Instructor role.

.. figure:: /_images/educator_how_tos/canvas_external_apps_course_nav.png
:alt: Screenshot of accessing External Apps page via course navigation.
:width: 100%

In course navigation, select Settings and then the Apps tab to access configuration page for External Apps.


.. note::

Canvas displays an *Apps* item in the account navigation sidebar by default
for all account admins. This leads to the Apps Hub which supports
LTI 1.3 only. This is not the place where you can configure your Open edX instance.


#. On the External Apps page, click :guilabel:`+ App`. This will open a modal where you
can add an LTI tool configuration.


.. figure:: /_images/educator_how_tos/canvas_add_external_app_modal.png
:alt: The add app modal in Canvas showing configuration fields including
*Name*, *Consumer Key*, *Shared Secret*, *Launch URL*, *Domain*, and *Privacy*.
:width: 100%

The add app modal opens when you click :guilabel:`+ App` on the External
Apps page. Fill in the fields as described in the steps below.


#. Select *Configuration Type* as *Manual Entry* which is the only option that supports LTI 1.1.


.. figure:: /_images/educator_how_tos/canvas_external_app_config_type.png
:alt: The Configuration Type dropdown in the Add App modal showing five
options: *Manual Entry*, *By URL*, *Paste XML*, *By Client ID*, and *By LTI
2 Registration URL*.
:width: 30%

The Configuration Type dropdown. Select *Manual Entry* to configure an
LTI 1.1 tool. The other options do not support LTI 1.1.


#. Enter a *Name*, e.g. *My Open edX instance*.

#. Enter *Consumer Key* and *Shared Secret* provided by your site operator.

#. Optionally, enter a *Launch URL*. If left blank, you can enter a URL during
placement instead. If set here, it can still be overridden during placement.

#. In *Domain*, enter your Open edX instance domain, e.g. ``openedx.io``.

#. Set *Privacy Level* based on the :ref:`authentication mode <Authentication Modes>` your
site operator has configured for your Open edX instance.

#. Select *Anonymous* if your instance is configured to use *Anonymous* mode.

#. Select *Email Only* if your instance is configured to use *Require Existing Account* mode.

#. Select *Email Only* or *Public* if your instance is configured to use
*Auto-Create with Personal Information* mode.


.. figure:: /_images/educator_how_tos/canvas_external_app_privacy.png
:alt: The Privacy dropdown in the Add App modal showing four options:
Anonymous, Email Only, Name Only, and Public.
:width: 40%

The Privacy dropdown controls what learner information Canvas sends to
your Open edX instance at launch. Select the option that matches the authentication
mode your site operator has configured.


#. Click :guilabel:`Submit`.


********************************************
Step 2: Add Open edX Content to your Course
********************************************

As an instructor, you can add content from your Open edX instance you configured
in step 1, to your course. Follow these steps to add content to a module.

#. In your Canvas course, go to *Modules*.

#. Click :guilabel:`+` on the module where you want to add content.

#. Select *External Tool* from the item type dropdown.

#. Select the Open edX tool configured in Step 1.

#. In the *URL* field, paste the LTI content URL for this specific piece
of content (see :ref:`Determine Content Addresses`).

#. Check *Load in a new tab*.

.. note::

Interactive problem components cannot run inside a Canvas iframe.
Enabling this setting opens content in a new browser tab, which is
required for learners to interact with problems. Text and video
components work either way.

#. Enter the content page name and click :guilabel:`Add Item`.


****************
Step 3: Verify
****************

#. In your Canvas course, click :guilabel:`Student View` (top right corner).

#. Open the module item you added.

#. Confirm the Open edX content loads in the same or a new tab (depending on your configuration).

#. If the content includes graded problems:

- Submit a response as the student.

- Check the Canvas gradebook. Scores may sync after a 15-minute delay (see :ref:`Grade Passback`).

.. image:: /_images/educator_references/lti_canvas_example2.png
:alt: An Open edX drag and drop problem shown as part of a course running on a
Canvas system.

.. seealso::


:ref:`Using Open edX as an LTI Tool Provider` (concept)
:ref:`Using your Open edX instance as an LTI Tool Provider` (concept)

:ref:`Determine Content Addresses when using Open edX as an LTI Provider<Determine Content Addresses>` (how-to)
:ref:`Determine Content Addresses` (how-to)

:ref:`Content Compatibility for LTI` (reference)
:ref:`Content Compatibility for LTI` (reference)

:ref:`Example - edX as an LTI Provider to Blackboard<Open edX as an LTI Provider to Blackboard>` (how-to)
:ref:`Configuring an Open edX Instance as an LTI Tool Provider` (site-operator)

:ref:`Open edX platform as an LTI Provider to Blackboard` (how-to)

**Maintenance chart**

+--------------+-------------------------------+----------------+--------------------------------+
| Review Date | Working Group Reviewer | Release |Test situation |
| Review Date | Reviewer | Release |Test situation |
+--------------+-------------------------------+----------------+--------------------------------+
| 2026-05-12 | Aamir Ayub | Verawood | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
| 2025-06-04 | MITx | Teak | Pass |
+--------------+-------------------------------+----------------+--------------------------------+
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Determine LTI Content Addresses
.. tags:: educator, how-to

To include Open edX course content in another system, you construct an LTI URL that identifies the
specific content. This URL combines a course ID and a usage ID that you find in the Open edX LMS.
specific content. This URL combines a course ID and a usage ID that you find in your Open edX instance.

.. contents::
:local:
Expand All @@ -23,7 +23,7 @@ The course ID has the format ``{key type}:{org}+{course}+{run}``, for example,

To find the course ID:

#. In your Open edX LMS, open your course.
#. In your Open edX instance, open your course.

#. In the URL shown by your browser, find the course ID.

Expand Down Expand Up @@ -72,7 +72,7 @@ These terms in the usage ID indicate the level of the content:
Find Usage ID of Unit or Component
==================================

#. In your Open edX LMS, open the course.
#. In your Open edX instance, open the course.

#. Go to the page that contains the unit or component.

Expand Down Expand Up @@ -147,7 +147,7 @@ Text component (html):

.. seealso::

:ref:`Using Open edX as an LTI Tool Provider` (concept)
:ref:`Using your Open edX instance as an LTI Tool Provider` (concept)

:ref:`Content Compatibility for LTI` (reference)

Expand Down
Loading