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

      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

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            Petr Skoda 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 Skoda 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 Skoda 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 Skoda 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 Skoda 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 Skoda 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 Skoda 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 Skoda 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: