-
Epic
-
Resolution: Unresolved
-
Minor
-
None
-
Future Dev
-
Migrating mod_lti to Moodle Core (core_lti)
-
MDL-79109-master_lti_migration
The goal of migrating the majority of the mod_lti plugin to the Moodle core is to address the current limitations in supporting LTI (Learning Tools Interoperability) across various areas of Moodle. The existing structure, where all LTI-related code resides within mod_lti, presents challenges in extending LTI functionality to new placements within Moodle. To overcome these issues and facilitate broader LTI integration, the following high-level steps are proposed, alongside the use of testing tools:
- Migrating mod_lti to a new core subsystem called core_lti.
- Maintaining the git history of these files promoted to core lti wherever possible. (Use git mv)
- Placement Injection Mechanism: Design a mechanism that allows different Moodle components, such as module forms, editors, and others, to request LTI placement information from the Core LTI API. This mechanism should facilitate dynamic injection of LTI functionality into these components without violating the established component communication principles.
- Documentation and Communication: Provide clear documentation for developers and administrators on how to use the Core LTI API and integrate LTI functionality into different Moodle placements. Communicate the migration changes and benefits to the Moodle community.
- Gradual Transition: Plan for a gradual transition from the mod_lti module to the new Core LTI subsystem. Provide mechanisms for backward compatibility, where possible ensure that existing mod_lti functionalities continue to work while allowing developers to migrate to the new approach over time.
Testing
- This needs to be tested with both LTI 1.1 and 1.3 tools. A good reference for test tools to use are in the testing instructions' prerequisite for https://tracker.moodle.org/browse/MDL-65306
- Integration Testing Tools: Utilize testing tools to ensure the seamless integration of the Core LTI API with various Moodle components. Tools such as Saltire LTI Test Harness and RoboTest can be employed to simulate LTI launches, configurations, and interactions across different Moodle areas.
User Stories
The following are high level user stories for this epic:
- As a student enrolled in a course, I want to use the external tool functionality in different activity types like Assignments, Quizzes, Forums, etc.
- Example of External Tool Functionality: Launching an External Tool resource from within Moodle.
- As an instructor..
- As an admin
- blocks
-
MDL-79117 LTI Extension Asset Processor
- Development in progress
-
MDL-62607 Enhance LTI integration to support multiple placements
- Open
-
MDL-67560 Allow LTI in Tiny Text Editor
- Open
-
MDL-69233 Support for LTI Course Group Service
- Open
-
MDL-67559 Allow LTI in Course Navigation
- Development in progress
-
MDL-79550 Add the ability of the External Tool to use parameters from the Course scope
- Open
-
MDL-81849 Remove registrationreturn.php from core_ltix
- Open
-
MDL-81851 Remove the "request tool" feature from core_ltix
- Open
-
MDL-69181 Ability of the External Tool to use parameters from the User scope
- Reopened
-
MDL-72066 Ability to pass through specific LTI roles to tool provider
- Waiting for peer review
- has to be done before
-
MDL-82801 LTI External tools shows global usage count for teacher
- Open
- is blocked by
-
MDL-79843 Introduce mechanism for plugin type deprecation
- Peer review in progress