Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-82299

Deprecate 'ltiservice' and 'ltisource' subplugin types

XMLWordPrintable

    • 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:

      1. A formal plugintype deprecation strategy (MDL-79843 deals with adding this)
      2. 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/backup
      • mod/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:

      1. 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.
      2. 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)
      3. mod/lti/classes/plugininfo/ltiservice.php: plugininfo for the subplugin - likely still needed, but may be able to delete, tbc
      4. 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):

      1. mod/lti/backup/moodle2/backup_lti_stepslib.php (backup/restore handled elsewhere)
      2. mod/lti/backup/moodle2/restore_lti_stepslib.php{} (backup/restore handled elsewhere){}
      3. mod/lti/classes/plugininfo/ltisource.php
      4. mod/lti/db/subplugins.json
      5. mod/lti/lang/en/lti.php
      6. mod/lti/mod_form.php (updating callbacks to use ltix will have been done elsewhere)
      7. 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)

            Unassigned Unassigned
            jaked Jake Dallimore
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:

                Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.