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

merge moodle/lib/thirdpartylibs.xml and other core dependencies into composer dependency management system



    • Improvement
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • Future Dev
    • DEV backlog
    • Libraries


      Composer is a dependency manager that we've included into core now to support phpunit and behat. (See /composer.json and MDL-36701)

      This idea is to consider if this dependency management can be extracted out of moodle (there is /lib/thirdpartylibs.xml , perhaps admin/environment.xml too that stores these dependencies of moodle core).

      These core dependencies could then be added onto (by plugins or master branch) and managed as a whole (by composer) when considering added libraries from plugins being installed.

      This also paves the way for a reliable and maintained (we've commited to this with phpunit and behat) interface (simple json file editor or more complex stuff?) to manage and display dependencies that are or are not met in the moodle system.

      Furthermore, this also allows for tighter integration with plugins directory via composer.json to be able to easily tell which plugins are supported in which moodles accurately. Infact, (perhaps in another era) the moodle API itself will be specified in the composer.json to allow for better plugin mobility across moodle releases.

      This also would prevent plugins unnecessarily including libraries (that might be huge) in their zips and js libraries clashing among plugins installed (like yui and jquery).


        Issue Links



              moodle.com Moodle HQ
              nebgor Aparup Banerjee
              David Woloszyn, Huong Nguyen, Jake Dallimore, Michael Hawkins, Stevani Andolo
              0 Vote for this issue
              3 Start watching this issue