diff --git a/source/_images/educator_how_tos/canvas_add_external_app_modal.png b/source/_images/educator_how_tos/canvas_add_external_app_modal.png new file mode 100644 index 000000000..fa2da57e6 Binary files /dev/null and b/source/_images/educator_how_tos/canvas_add_external_app_modal.png differ diff --git a/source/_images/educator_how_tos/canvas_external_app_config_type.png b/source/_images/educator_how_tos/canvas_external_app_config_type.png new file mode 100644 index 000000000..d554d11ca Binary files /dev/null and b/source/_images/educator_how_tos/canvas_external_app_config_type.png differ diff --git a/source/_images/educator_how_tos/canvas_external_app_privacy.png b/source/_images/educator_how_tos/canvas_external_app_privacy.png new file mode 100644 index 000000000..5e4a90aad Binary files /dev/null and b/source/_images/educator_how_tos/canvas_external_app_privacy.png differ diff --git a/source/_images/educator_how_tos/canvas_external_apps_account_nav.png b/source/_images/educator_how_tos/canvas_external_apps_account_nav.png new file mode 100644 index 000000000..93f296799 Binary files /dev/null and b/source/_images/educator_how_tos/canvas_external_apps_account_nav.png differ diff --git a/source/_images/educator_how_tos/canvas_external_apps_course_nav.png b/source/_images/educator_how_tos/canvas_external_apps_course_nav.png new file mode 100644 index 000000000..9a03935a4 Binary files /dev/null and b/source/_images/educator_how_tos/canvas_external_apps_course_nav.png differ diff --git a/source/community/release_notes/sumac/sumac_lti_cert.rst b/source/community/release_notes/sumac/sumac_lti_cert.rst index 197869f80..f692fd0b0 100644 --- a/source/community/release_notes/sumac/sumac_lti_cert.rst +++ b/source/community/release_notes/sumac/sumac_lti_cert.rst @@ -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** diff --git a/source/community/release_notes/teak/teak_lti_cert.rst b/source/community/release_notes/teak/teak_lti_cert.rst index 48a07ce31..30e577398 100644 --- a/source/community/release_notes/teak/teak_lti_cert.rst +++ b/source/community/release_notes/teak/teak_lti_cert.rst @@ -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** diff --git a/source/community/release_notes/ulmo/ulmo_lti_cert.rst b/source/community/release_notes/ulmo/ulmo_lti_cert.rst index ae1c6a2ed..46fac1a31 100644 --- a/source/community/release_notes/ulmo/ulmo_lti_cert.rst +++ b/source/community/release_notes/ulmo/ulmo_lti_cert.rst @@ -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** diff --git a/source/educators/concepts/advanced_features/using_openedx_as_LTI_provider.rst b/source/educators/concepts/advanced_features/using_openedx_as_LTI_provider.rst index c6f34a2ea..4e3696903 100644 --- a/source/educators/concepts/advanced_features/using_openedx_as_LTI_provider.rst +++ b/source/educators/concepts/advanced_features/using_openedx_as_LTI_provider.rst @@ -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: @@ -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. @@ -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 diff --git a/source/educators/concepts/exercise_tools/about_lti_component.rst b/source/educators/concepts/exercise_tools/about_lti_component.rst index f6d3daf3d..6723fb0eb 100644 --- a/source/educators/concepts/exercise_tools/about_lti_component.rst +++ b/source/educators/concepts/exercise_tools/about_lti_component.rst @@ -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** diff --git a/source/educators/how-tos/advanced_features/lti_blackboard_example.rst b/source/educators/how-tos/advanced_features/lti_blackboard_example.rst index a015c37ce..9038c6d24 100644 --- a/source/educators/how-tos/advanced_features/lti_blackboard_example.rst +++ b/source/educators/how-tos/advanced_features/lti_blackboard_example.rst @@ -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 `. + +.. note:: This feature has not been recently tested with Blackboard. + It has been tested with :ref:`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. @@ -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` (how-to) + :ref:`Determine Content Addresses` (how-to) :ref:`Content Compatibility for LTI` (reference) - :ref:`Example - 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 | +--------------+-------------------------------+----------------+--------------------------------+ diff --git a/source/educators/how-tos/advanced_features/lti_canvas_example.rst b/source/educators/how-tos/advanced_features/lti_canvas_example.rst index a54449ab6..82d731306 100644 --- a/source/educators/how-tos/advanced_features/lti_canvas_example.rst +++ b/source/educators/how-tos/advanced_features/lti_canvas_example.rst @@ -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 ` 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` (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` (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 | +--------------+-------------------------------+----------------+--------------------------------+ diff --git a/source/educators/how-tos/advanced_features/lti_determine_content_address.rst b/source/educators/how-tos/advanced_features/lti_determine_content_address.rst index 30aa6a6c8..4bb1cba6a 100644 --- a/source/educators/how-tos/advanced_features/lti_determine_content_address.rst +++ b/source/educators/how-tos/advanced_features/lti_determine_content_address.rst @@ -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: @@ -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. @@ -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. @@ -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) diff --git a/source/educators/references/advanced_features/lti_content_compatibility.rst b/source/educators/references/advanced_features/lti_content_compatibility.rst index c4067a3b5..55aaeb00e 100644 --- a/source/educators/references/advanced_features/lti_content_compatibility.rst +++ b/source/educators/references/advanced_features/lti_content_compatibility.rst @@ -65,7 +65,7 @@ When selecting content to deliver via LTI, keep these points in mind: .. 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` (how-to) diff --git a/source/site_ops/how-tos/setup_lti_store.rst b/source/site_ops/how-tos/setup_lti_store.rst index fdfa6854b..1f7c487f9 100644 --- a/source/site_ops/how-tos/setup_lti_store.rst +++ b/source/site_ops/how-tos/setup_lti_store.rst @@ -165,7 +165,7 @@ Next steps :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) diff --git a/source/site_ops/install_configure_run_guide/configuration/lti/configure_lti.rst b/source/site_ops/install_configure_run_guide/configuration/lti/configure_lti.rst index 502691234..850caf746 100644 --- a/source/site_ops/install_configure_run_guide/configuration/lti/configure_lti.rst +++ b/source/site_ops/install_configure_run_guide/configuration/lti/configure_lti.rst @@ -39,7 +39,7 @@ Create a Consumer Record supplies this value on its first LTI launch. - `Require user account` and `Use lti pii`: These checkboxes - control how Open edX associates learners with accounts. See + control how the Open edX platform associates learners with accounts. See :ref:`Authentication Modes` below before deciding which to enable. #. Select :guilabel:`Save`. @@ -173,7 +173,7 @@ Replace ``15 * 60`` with your desired interval in seconds. :ref:`Enable LTI Provider Functionality` (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** diff --git a/source/site_ops/install_configure_run_guide/configuration/lti/enable_lti.rst b/source/site_ops/install_configure_run_guide/configuration/lti/enable_lti.rst index f80ea9eed..6dcc8b461 100644 --- a/source/site_ops/install_configure_run_guide/configuration/lti/enable_lti.rst +++ b/source/site_ops/install_configure_run_guide/configuration/lti/enable_lti.rst @@ -6,7 +6,7 @@ Enable LTI Provider Functionality .. tags:: site operator, how-to -The Learning Tools Interoperability (LTI) provider feature is included in Open edX but is disabled by +The Learning Tools Interoperability (LTI) provider feature is included in the Open edX platform but is disabled by default. The recommended way to enable it on a Tutor-based installation is to install a Tutor plugin. See `Creating a Tutor Plugin `_. diff --git a/source/site_ops/install_configure_run_guide/configuration/lti/index.rst b/source/site_ops/install_configure_run_guide/configuration/lti/index.rst index 3a19ff818..0cd37629b 100644 --- a/source/site_ops/install_configure_run_guide/configuration/lti/index.rst +++ b/source/site_ops/install_configure_run_guide/configuration/lti/index.rst @@ -1,8 +1,8 @@ .. _Configuring an Open edX Instance as an LTI Tool Provider: -######################################################## -Configuring your Open edX as an LTI Tool Provider -######################################################## +########################################################### +Configuring your Open edX instance as an LTI Tool Provider +########################################################### .. tags:: site operator, concept @@ -19,11 +19,11 @@ Setting this up involves two tasks: Once configured, course teams can construct LTI URLs for specific pieces of content and add them to the external LMS. See -:ref:`Using Open edX as an LTI Tool Provider` for the educator-facing steps. +:ref:`Using your Open edX instance as an LTI Tool Provider` for the educator-facing steps. .. seealso:: - :ref:`Using Open edX as an LTI Tool Provider` (concept) + :ref:`Using your Open edX instance as an LTI Tool Provider` (concept) **Maintenance chart**