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

Integrate admin_presets third-party plugin in Moodle LMS

    XMLWordPrintable

    Details

    • Sprint:
      Moppies Kanban

      Description

      As an admin
      I want to load administration presets
      So I can easily switch between different configurations

       

      This feature is implemented by the third-party plugin "Admin presets": https://moodle.org/plugins/block_admin_presets, created by David Monllaó and maintained by developers from Pimenko.

      This issue is about adapting this third-plugin for getting it integrated into Moodle LMS. 

      Acceptance criteria:

      • The block should be converted from a block to an admin tool.
      • A link "Site admin presets" (pointing to 3rd-party plugin main page) should be displayed in the Site administration.
      • The admin tool should follow the Moodle coding style and policy rules. For instance, these are some of the things to review:
        • Some classes should have a proper namespace (for instance, the ones in the lib folder). They should also probably be moved to the classes folder.
      • The “Auto exclude sensitive settings” setting should be checked by default.
      • The tool_admin_presets setting should be reviewed to confirm it includes all the sensitive settings that have been added recently.
      • Presets should also include plugins visibility, let admins export/preview/load the list of plugins and their visibility.
      • Moodle LMS should include, by default, 2 different flavours in the Admin presets tool: one for "Lite" and another for "Full" --> preinstalled_adminpresets.png:
        • "Lite" will disable most of the settings and plugins in order to make it easier for users to find the most common features.
        • "Full" will include settings and plugins configuration after installing a vanilla Moodle.
      • For new sites, we should consider defaulting to the 'simplified' Moodle configuration. We will need some sort of notification for admins (could even be a simple msg) to let them know this and that they can 'unlock' the full feature set (with link to setting).

       

      Technical information

      • The <PLUGINS> element will be added to the XML file following this format:

      <?xml version="1.0" encoding="UTF-8"?>
      <PRESET>
       <NAME>Demo preset file</NAME>
       <COMMENTS></COMMENTS>
       <PRESET_DATE>1625551825</PRESET_DATE>
       <SITE_URL>http://localhost/m/stable_master-min</SITE_URL>
       <AUTHOR>Admin User</AUTHOR>
       <MOODLE_VERSION>2021070100</MOODLE_VERSION>
       <MOODLE_RELEASE>4.0dev (Build: 20210701)</MOODLE_RELEASE>
       <ADMIN_SETTINGS>
       [...]
       <ENROL_MNET>
       <SETTINGS>
       <ROLEID roleid_adv="1">5</ROLEID>
       </SETTINGS>
       </ENROL_MNET>
       [...]
       </ADMIN_SETTINGS>
      <PLUGINS>
       <ANTIVIRUS>
       <CLAMAV>0</CLAMAV>
       </ANTIVIRUS>
       <ASSIGNFEEDBACK>
       <COMMENTS>1</COMMENTS>
       <EDITPDF>0</EDITPDF>
       <FILE>1</FILE>
       <OFFLINE>0</OFFLINE>
       </ASSIGNFEEDBACK>
       [...]
       <BLOCK>
       <ACCESSREVIEW>0</ACCESSREVIEW>
       <ACTIVITY_MODULES>0</ACTIVITY_MODULES>
       [...]
       </BLOCK>
       <MOD>
       <ASSIGN>1</ASSIGN>
       <ASSIGNMENT>0</ASSIGNMENT>
       <CHAT>0</CHAT>
       </MOD>
       </PLUGINS>
      </PRESET>
      

      • The following tables should be added to store the plugins data:
        • tool_admin_presets_plug
        • tool_admin_presets_app_plug

       

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              sarjona Sara Arjona (@sarjona)
              Participants:
              Component watchers:
              Andrew Lyons, Dongsheng Cai, Huong Nguyen, Jun Pataleta, Michael Hawkins, Shamim Rezaie, Simey Lameze
              Votes:
              2 Vote for this issue
              Watchers:
              9 Start watching this issue

                Dates

                Created:
                Updated:
                Fix Release Date:
                13/Dec/21