Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,14 @@ Configure the Setup Tab

Use the Setup tab to enter the LTI 1.3 launch values provided by the tool.


.. note::

The values in this section come from the LTI tool. After you save the
XBlock, it will display a different set of values that you will need to
register with the external tool.


Configure the *Setup* tab as per the following table:

.. list-table::
Expand Down Expand Up @@ -143,6 +151,10 @@ Configure the *Setup* tab as per the following table:
blank. The Open edX platform uses the launch URL and, when configured,
the Deep Linking Launch URL as defaults.

If you enter redirect URIs, include every URI that the tool might request.
Entering this field replaces the default list. Redirect URIs must match
exactly, including the path and any trailing slash.

* - Next
- Click :guilabel:`Next` to continue.

Expand Down Expand Up @@ -343,17 +355,26 @@ values that the external tool will need.
:alt: LTI Consumer XBlock showing the values an external tool needs to register the Open edX instance.
:width: 80%

Common Open edX platform values required by LTI 1.3 tools include:
The LTI Consumer XBlock provides these registration values:

* Issuer (your instance domain e.g. https://openedx.io)
* Client ID
* Deployment ID
* Keyset URL
* Access Token URL
* Login URL

External tools may use different names for these values and may not require
all of them. Follow the tool vendor's instructions.
.. important::

Most LTI tools also require an *Issuer*. The XBlock does not display the
Issuer as a separate value. Derive it from the *Keyset URL* or
*Access Token URL* by removing the ``/api/lti_consumer/...`` path. Do not
add a trailing slash.

For example, if the Keyset URL is
``https://openedx.io/api/lti_consumer/v1/public_keysets/...``, the
Issuer is ``https://openedx.io``. An Authoring URL such as
``https://apps.openedx.io/authoring/...`` is not the Issuer.


Optional: Select Tool Content with Deep Linking
***********************************************
Expand Down Expand Up @@ -418,5 +439,5 @@ Publish and Test
+--------------------+------------------------+----------+----------------+
| Review Date | Working Group Reviewer | Release | Test situation |
+--------------------+------------------------+----------+----------------+
| 2026-06-25 | Aamir Ayub | Verawood | Pass |
| 2026-07-13 | Aamir Ayub | Verawood | Pass |
+--------------------+------------------------+----------+----------------+
Original file line number Diff line number Diff line change
Expand Up @@ -216,15 +216,26 @@ tool will need.
:alt: LTI Consumer XBlock showing the values an external tool needs to register the Open edX instance.
:width: 80%

Common Open edX platform values required by LTI 1.3 tools include:
The LTI Consumer XBlock provides these registration values:

* Issuer (your instance domain e.g. https://openedx.io)
* Client ID
* Deployment ID
* Keyset URL
* Access Token URL
* Login URL

.. important::

Most LTI tools also require an *Issuer*. The XBlock does not display the
Issuer as a separate value. Derive it from the *Keyset URL* or
*Access Token URL* by removing the ``/api/lti_consumer/...`` path. Do not
add a trailing slash.

For example, if the Keyset URL is
``https://openedx.io/api/lti_consumer/v1/public_keysets/...``, the
Issuer is ``https://openedx.io``. An Authoring URL such as
``https://apps.openedx.io/authoring/...`` is not the Issuer.

External tools may use different names for these values and may not require
all of them. Follow the tool vendor's instructions.

Expand Down Expand Up @@ -293,7 +304,7 @@ Publish and Test
+--------------------+------------------------+----------+----------------+
| Review Date | Working Group Reviewer | Release | Test situation |
+--------------------+------------------------+----------+----------------+
| 2026-06-25 | Aamir Ayub | Verawood | Pass |
| 2026-07-13 | Aamir Ayub | Verawood | Pass |
+--------------------+------------------------+----------+----------------+
| 2025-12-05 | LTI WG | Ulmo | Pass |
+--------------------+------------------------+----------+----------------+
111 changes: 65 additions & 46 deletions source/educators/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,29 +36,6 @@ Open edX Educators

See All

.. grid-item-card:: Learner Engagement & Communication
:class-card: sd-shadow-md sd-p-2
:class-footer: sd-border-0

.. image:: /_images/educators_homepage/engagement_communication_undraw.png
:alt: Two character communicating via text
:height: 150px
:align: center
:target: navigation/learner_engagement_communication.html

| :ref:`Course Discussions`
| :ref:`Bulk Emails`
| :ref:`Course Updates`


.. button-ref:: navigation/learner_engagement_communication
:color: primary
:outline:
:expand:

See All


.. grid-item-card:: Content Creation & Management
:class-card: sd-shadow-md sd-p-2
:class-footer: sd-border-0
Expand Down Expand Up @@ -105,29 +82,6 @@ Open edX Educators

See All

.. grid-item-card:: Data & Analytics
:class-card: sd-shadow-md sd-p-2
:class-footer: sd-border-0

.. image:: /_images/educators_homepage/data_analytics_undraw.png
:alt: A chart of abstract user scores
:height: 150px
:align: center
:target: navigation/data_analytics.html

| :ref:`View Course Enrollments`
| :ref:`View Learner Data`
| :ref:`View Learner Grades`
| :ref:`View Answer Data`
| :ref:`View Certificate Data`

.. button-ref:: navigation/data_analytics
:color: primary
:outline:
:expand:

See All

.. grid-item-card:: Accessibility
:class-card: sd-shadow-md sd-p-2
:class-footer: sd-border-0
Expand Down Expand Up @@ -172,6 +126,71 @@ Open edX Educators

See All

.. grid-item-card:: Learning Tools Interoperability (LTI)
:class-card: sd-shadow-md sd-p-2
:class-footer: sd-border-0

.. image:: /_images/educators_homepage/lti_clipart.png
:alt: LTI: Learning Tools Interoperability
:height: 150px
:align: center
:target: navigation/lti.html

| :ref:`Add LTI Tools to Course Content`
| :ref:`Add LTI Tools to Course Navigation`
| :ref:`Use Open edX Content in Another LMS with LTI`

.. button-ref:: navigation/lti
:color: primary
:outline:
:expand:

See All

.. grid-item-card:: Learner Engagement & Communication
:class-card: sd-shadow-md sd-p-2
:class-footer: sd-border-0

.. image:: /_images/educators_homepage/engagement_communication_undraw.png
:alt: Two character communicating via text
:height: 150px
:align: center
:target: navigation/learner_engagement_communication.html

| :ref:`Course Discussions`
| :ref:`Bulk Emails`
| :ref:`Course Updates`

.. button-ref:: navigation/learner_engagement_communication
:color: primary
:outline:
:expand:

See All

.. grid-item-card:: Data & Analytics
:class-card: sd-shadow-md sd-p-2
:class-footer: sd-border-0

.. image:: /_images/educators_homepage/data_analytics_undraw.png
:alt: A chart of abstract user scores
:height: 150px
:align: center
:target: navigation/data_analytics.html

| :ref:`View Course Enrollments`
| :ref:`View Learner Data`
| :ref:`View Learner Grades`
| :ref:`View Answer Data`
| :ref:`View Certificate Data`

.. button-ref:: navigation/data_analytics
:color: primary
:outline:
:expand:

See All

.. grid-item-card:: OLX (Open Learning XML)
:class-card: sd-shadow-md sd-p-2
:class-footer: sd-border-0
Expand Down
21 changes: 20 additions & 1 deletion source/site_ops/how-tos/setup_lti_store.rst
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,15 @@ A course-level override takes precedence over an organization-level override.
An organization-level override takes precedence over the standard Waffle flag
and its default value.


.. note::

Most values in this section come from the LTI tool. After you save the
configuration, reference it in the LTI consumer XBlock and save the XBlock,
the XBlock will display a different set of values that you will need to
register with the external tool.


.. _Create a Reusable LTI Configuration:

Create a Reusable LTI Configuration
Expand Down Expand Up @@ -107,14 +116,24 @@ Create a Reusable LTI Configuration
security policy paste in this field. You may use
`IMS LTI Reference Implementation <https://lti-ri.imsglobal.org/keygen/index>`_.)
* *Tool Public Key* OR *Tool Keyset URL*
* *Redirect URIs*, if required by the tool
* *Redirect URIs*. Enter every URI that the tool can use as a JSON list,
even when the redirect URI is the same as the launch URL.
* (Optional) Enable *Names and Role Provisioning Services*
* (Optional) Enable *Deep Linking*
* (Optional) *Deep Linking Launch URL*. If Deep Linking is enabled,
enter the URL provided by the tool. If the tool does not provide
a separate URL, use the tool's launch URL.
* (Optional) Set *Assignment and Grade Services* mode

.. important::

Do not leave *Redirect URIs* at its default value of ``[]``. Enter the
tool's redirect URIs explicitly. For example, if the tool uses
``https://tool.example.com/launch`` as its launch URL, enter
``["https://tool.example.com/launch"]``. Otherwise, the
launch can fail with ``The preflight response is not valid``.


.. figure:: /_images/site_ops_how_tos/create_ltistore_config.png
:alt: Django Admin form showing the LTI 1.1, LTI 1.3, and LTI Advantage
fields for an external LTI configuration.
Expand Down