LTI improvements [for Willow & beyond]
This document is a working roadmap for LTI improvements in Open edX. The items listed here are not committed release scope.
This document summarizes proposed LTI improvements for Willow and later Open edX releases. It provides a high-level view of each improvement and links to detailed product requirements, technical proposals, and implementation work where available.
1. LTI Configuration Reusability
Timeline: Willow
Problem: Directly configured LTI Consumer XBlocks own most of their configuration. Copies can retain the same LTI 1.3 registration identity, but most other settings remain independent and can drift. LTI Store provides full reusable configurations, but they are managed through Django Admin and do not have built-in course or organization availability scopes.
Direction: Authorized users can create, discover, manage, and use reusable LTI configurations in Studio at the appropriate scope. Configurations exist independently from individual placements and can support XBlocks and other platform integrations.
Details:
multiple LTI placements
Make reusable LTI configurations available in Studio
For an initial version, Course Admins could manage course-scoped configurations, while broader org/site-scoped configurations may require more granular RBAC workflows.
2. Improve PII sharing logic
Timeline: Likely Willow
Problem: LtiResourceLinkRequest launch (tool launch), LtiDeepLinkingRequest launch, and NRPS currently use different PII sharing controls. The course-level flag is not consistently enforced, and NRPS PII sharing cannot be configured per tool.
Direction: Move PII settings and configurable learner consent to reusable configurations. Apply the course flag across all three interactions, make NRPS follow the configuration’s name and email settings, and deprecate LTI_NRPS_DISALLOW_PII.
Details: LTI PII Sharing in Open edX
3. Add validations in XBlock and LTI store
Timeline: Likely Willow
Today, if a user enters invalid information e.g. incorrect format of custom parameters, in the LTI XBlock or LTI Store configuration, the form simply fails to save without explaining why.
We need to add validation and user-facing error messages to LTI configuration forms in both:
LTI Consumer XBlock configuration
LTI Store configuration UI (when built in Studio)
4. Permissions, RBAC and LTI config admin panel
Timeline: Xylon
5. Dynamic registration
Timeline: Xylon
6. Course level integrations via LTI store
Timeline: Xylon
If we can modify LTI store to generate Access Token URL and Public Keyset URL independent of LTI consumer XBlock, we can use these configurations to render LTI tools at the course level.
Open edX already has the capability to render 4 discussion tools and 2 video conferencing tools in the course navigation. But its limited to 6 tools and it uses LTI 1.1.
This course-level rendering will likely not support grading.
7. Masquarde tool with LTI
Timeline: TBD