-
Task
-
Resolution: Unresolved
-
Minor
-
None
-
4.4
-
MOODLE_404_STABLE
-
1
-
Team Alpha - Planning I3-2025
This is the final step in deprecating the subplugins 'ltisource' and 'ltiservice'.
For this to be possible, we need:
- A formal plugintype deprecation strategy (
MDL-79843deals with adding this) - To have migrated the backup and restore code from mod_lti to core_ltix. This point is only necessary to prevent unit test failures due to the use of add_subplugin_structure('ltiservice') or add_subplugin_structure('ltisource') within existing mod/lti backup code.
Once the above is done, this should be as simple as adding the following to mod/lti/db/subplugins.json (and removing 'plugintypes' entirely):
...
|
"deprecatedplugintypes": {
|
"ltiservice": "mod\/lti\/service",
|
"ltisource": "mod\/lti\/source",
|
}
|
Historical
Some info originally on this issue's description (no longer relevant but updated to say why):
Backup locations that need to be considered:
mod/lti/backupmod/lti/service/gradebookservices/backup- All backup and restore considerations will be addressed in the issues dealing specifically with backup and restore.
Other things to take into account:
if we end up removing subplugin support without deprecation, remove any relevant code in mod/lti/ (callbacks, settings, backup, etc.)- Removing the uses of subplugins isn't in the scope of this issue and will have been handled in other issues (like the migration + cleanup of ltiservice and ltisource)
if we end up deprecating subplugins + subplugin type (preferred approach), make sure we update core_ltix code that's calling the 'ltixservice' callbacks. We'll want to do this, and then fall back to the deprecated 'ltisource' plugins within mod/lti in cases where the ltix method isn't found. This is basically "prefer ltixsource, support ltisource".- All subplugins are deemed end of life and must be migrated to ltixservice and ltixsource. This will be documented as part of the release.
For ltiservice subplugins:
MDL-80231 dealt with the final clean up of ltiservice code from mod/lti, but left the following stuff as TODOs for this issue:
- mod/lti/db/subplugins.json - there's still an ltiservice entry in here, likely because we'll use it here to mark the subplugin type as deprecated.
- mod/lti/lang/en/lti.php: where the strings 'subplugintype_ltiservice' and 'subplugintype_ltiservice_plural' still exist to describe the subplugins (which we may still need if we're showing them in the UI, tbc)
- mod/lti/classes/plugininfo/ltiservice.php: plugininfo for the subplugin - likely still needed, but may be able to delete, tbc
- mod/lti/upgrade.txt - need to add an upgrade note when we've finally deprecated the subplugin types
For ltisource subplugins:
The remaining mod/lti files need to be addressed (these have references to ltisource and have not been addressed in MDL-79115):
mod/lti/backup/moodle2/backup_lti_stepslib.php(backup/restore handled elsewhere)mod/lti/backup/moodle2/restore_lti_stepslib.php{} (backup/restore handled elsewhere){}- mod/lti/classes/plugininfo/ltisource.php
- mod/lti/db/subplugins.json
- mod/lti/lang/en/lti.php
mod/lti/mod_form.php(updating callbacks to use ltix will have been done elsewhere)mod/lti/settings.php(not part of this issue's scope. any callbacks in settings will have been handled elsewhere as part of moving the settings to core)