Moodle
  1. Moodle
  2. MDL-29029

create new /admin/tool/ plugin type

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 2.1
    • Fix Version/s: 2.2
    • Component/s: Administration
    • Labels:
    • Testing Instructions:
      Hide

      Test migrated tools in /admin/tool/ still work, no changes.

      Some examples to test:

      • Capability overview
      • Profiling
      • Unit tests
      • Health centre
      • Lang pack import
      • XMLDB editor
      • User upload
      Show
      Test migrated tools in /admin/tool/ still work, no changes. Some examples to test: Capability overview Profiling Unit tests Health centre Lang pack import XMLDB editor User upload
    • Affected Branches:
      MOODLE_21_STABLE
    • Fixed Branches:
      MOODLE_22_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      w37_MDL-29029_m22_admintools
    • Rank:
      18563

      Description

      This new plugin type would be used for:
      1/ all the tools we have in current /admin/
      2/ partially /admin/report/
      3/ some local plugins that are intended for admins and have UI

      What do these plugins share?

      • have UI linked from the admin settings tree
      • work at system context only
      • are intended to be used by administrators or custom admin roles

      For more info see: http://docs.moodle.org/dev/Admin_tools

        Issue Links

          Activity

          Hide
          Petr Škoda added a comment -

          this would also prevent more module name conflicts with core subsystems http://moodle.org/mod/forum/discuss.php?d=183496

          Show
          Petr Škoda added a comment - this would also prevent more module name conflicts with core subsystems http://moodle.org/mod/forum/discuss.php?d=183496
          Hide
          Petr Škoda added a comment -

          from the linked duplicate:

          The idea is to create a new plugin type called "Admin tools" that would help to organise the stuff in /admin/ directory.

          What is the difference from "local" plugins? It would be tools intended for administrators. Local would be still "all the other stuff" mostly without admin UI.
          What is the difference from "admin reports"? Admin reports could be deprecated.

          Benefits?

          language pack cleanup
          it could encourage contribs
          core tools could be removed/disabled/replaced
          we would not need to put core stuff to /local/ such as local/qeupgradehelper/
          Potential problems:

          adding of current tools to admin tree in the correct order - this could be solved with weights or 'insertbefore' or simply alphabetical order

          Show
          Petr Škoda added a comment - from the linked duplicate: The idea is to create a new plugin type called "Admin tools" that would help to organise the stuff in /admin/ directory. What is the difference from "local" plugins? It would be tools intended for administrators. Local would be still "all the other stuff" mostly without admin UI. What is the difference from "admin reports"? Admin reports could be deprecated. Benefits? language pack cleanup it could encourage contribs core tools could be removed/disabled/replaced we would not need to put core stuff to /local/ such as local/qeupgradehelper/ Potential problems: adding of current tools to admin tree in the correct order - this could be solved with weights or 'insertbefore' or simply alphabetical order
          Hide
          Petr Škoda added a comment -

          Notes:

          • this will require changes in Docs
          • admin/oacleanup.php should be probably deleted
          • admin/report/customlang needs more work to migrate data
          • local/qeupgradehelper has pending integratiion issue - it will be easy to do later

          Please integrate early if possible...

          Show
          Petr Škoda added a comment - Notes: this will require changes in Docs admin/oacleanup.php should be probably deleted admin/report/customlang needs more work to migrate data local/qeupgradehelper has pending integratiion issue - it will be easy to do later Please integrate early if possible...
          Hide
          Eloy Lafuente (stronk7) added a comment -

          This has been integrated, thanks!

          Note:

          • I found to places pointing to old locations, so have added extra commit about that.
          • Really the differences between admin/tool, reports and local plugins should be clarified somewhere. I still don't get completely what is each one.
          • This require massive changes in Docs, I guess.
          Show
          Eloy Lafuente (stronk7) added a comment - This has been integrated, thanks! Note: I found to places pointing to old locations, so have added extra commit about that. Really the differences between admin/tool, reports and local plugins should be clarified somewhere. I still don't get completely what is each one. This require massive changes in Docs, I guess.
          Hide
          Petr Škoda added a comment -

          1/ thanks for fixing the remaining problems
          2/ admin too: something intended to be used by admin in the system context only, usually added to the admin tree via settings.php; report - something intended to be used by managers, teachers, parents - accepts context parameter, adds itself to navigation via admin tree; local plugin - anything that does not fix anything else, for example custom capability, extra table or strings for hacking, local event consumers, etc.
          3/ hopefully not many docs changes required, the things that are hidden or not linked are not production ready anyway - health center does not do much, innodb does not check that tables were already converted, replace may bork contrib tables with serialized data, etc. We should probably review & fix them one by one and update docs gradually in new 2.2 wiki (once we finish 2.0 wiki)....

          Show
          Petr Škoda added a comment - 1/ thanks for fixing the remaining problems 2/ admin too: something intended to be used by admin in the system context only, usually added to the admin tree via settings.php; report - something intended to be used by managers, teachers, parents - accepts context parameter, adds itself to navigation via admin tree; local plugin - anything that does not fix anything else, for example custom capability, extra table or strings for hacking, local event consumers, etc. 3/ hopefully not many docs changes required, the things that are hidden or not linked are not production ready anyway - health center does not do much, innodb does not check that tables were already converted, replace may bork contrib tables with serialized data, etc. We should probably review & fix them one by one and update docs gradually in new 2.2 wiki (once we finish 2.0 wiki)....
          Hide
          Sam Hemelryk added a comment -

          Thanks guys I've been playing with the different tools that have been upgraded and things seem fine.
          Just as a side note it would be great if there was a helpful readme.txt added at some point like we have for local plugins.

          Cheers
          Sam

          Show
          Sam Hemelryk added a comment - Thanks guys I've been playing with the different tools that have been upgraded and things seem fine. Just as a side note it would be great if there was a helpful readme.txt added at some point like we have for local plugins. Cheers Sam
          Hide
          Eloy Lafuente (stronk7) added a comment -

          And this code has been spread to all Moodle git and cvs repositories. Many thanks! Closing.

          Ciao

          Show
          Eloy Lafuente (stronk7) added a comment - And this code has been spread to all Moodle git and cvs repositories. Many thanks! Closing. Ciao
          Hide
          Andrew Downes added a comment -

          Hi,
          Apologies if this is the wrong place to post. I want to create a plugin that allows the admin user to define two variables that will then be used by separate plug ins. Initially this will be at a site level but eventually I may want to override these variables at a cohort, course or user level.

          Is this an admin plugin? Do you have any tips on on getting started? I'm new to Moodle development.

          Thanks,

          Andrew

          Show
          Andrew Downes added a comment - Hi, Apologies if this is the wrong place to post. I want to create a plugin that allows the admin user to define two variables that will then be used by separate plug ins. Initially this will be at a site level but eventually I may want to override these variables at a cohort, course or user level. Is this an admin plugin? Do you have any tips on on getting started? I'm new to Moodle development. Thanks, Andrew

            People

            • Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: