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

Create new communications subsystem and plugin type

    XMLWordPrintable

Details

    • MOODLE_402_STABLE
    • MDL-76699-master-2
    • Hide

      Testing 1

      1. Download communication_matrix.zipand extract to communication/provider/matrix.
      2. Login as admin.
      3. Navigate to Site Administration page (Ex: http://localhost/m/stable_master/admin
      4. Verify that you will see the Plugins requiring attention page.
      5. Verify that you will see Communication providers.
      6. Verify that the plugin name is Moodle Matrix.
      7. Verify that the plugin directory is /communication/provider/matrix.
      8. Do the upgrade process.

      Testing 2

      1. Navigate to Site Administration > Development.
      2. Click on Experimental settings.
      3. Verify that you will see a setting called Enable communications subsystems.
      4. Verify that the default value is unchecked (No).

      Testing 3

      1. Navigate to Site Administration > Plugins.
      2. Verify that you will not see the Communication section.
      3. Verify that you will not see the Manage communication providers.
      4. Navigate to Site Administration > Development.
      5. Click on Experimental settings.
      6. Turn on (checked) Enable communications subsystems setting.
      7. Click on Save changes.
      8. Navigate to Site Administration > Plugins.
      9. Verify that you will see the Communication section.
      10. Verify that you will see the Manage communication providers.
      11. Click on the Manage communication providers link.
      12. Verify that you will see the Manage communication providers page.
      13. Verify that you will see Moodle Matrix.

      Testing 4

      1. Verify that you can enable/disable the Moodle Matrix plugin by clicking on the "eye" icon.
      2. Click on the Settings link of Moodle Matrix plugin.
      3. Verify that you will see This is a test settings page for the new Moodle Matrix plugin.
      4. Navigate back to the Manage communication providers page.
      5. Click on the Uninstall link of Moodle Matrix plugin.
      6. Verify that you can uninstall the plugin.
      7. Navigate back to the Manage communication providers page.
      8. Verify that you will see  No communication provider found.
      Show
      Testing 1 Download communication_matrix.zip and extract to communication/provider/matrix. Login as admin. Navigate to Site Administration page (Ex: http://localhost/m/stable_master/admin )  Verify that you will see the Plugins requiring attention page. Verify that you will see Communication providers. Verify that the plugin name is Moodle Matrix. Verify that the plugin directory is /communication/provider/matrix. Do the upgrade process. Testing 2 Navigate to Site Administration > Development. Click on Experimental settings. Verify that you will see a setting called Enable communications subsystems. Verify that the default value is unchecked (No). Testing 3 Navigate to Site Administration > Plugins. Verify that you will not see the Communication section. Verify that you will not see the Manage communication providers. Navigate to Site Administration > Development. Click on Experimental settings. Turn on (checked) Enable communications subsystems setting. Click on Save changes. Navigate to Site Administration > Plugins. Verify that you will see the Communication section. Verify that you will see the Manage communication providers. Click on the Manage communication providers link. Verify that you will see the Manage communication providers page. Verify that you will see Moodle Matrix. Testing 4 Verify that you can enable/disable the Moodle Matrix plugin by clicking on the "eye" icon. Click on the Settings link of Moodle Matrix plugin. Verify that you will see This is a test settings page for the new Moodle Matrix plugin. Navigate back to the Manage communication providers page. Click on the Uninstall link of Moodle Matrix plugin. Verify that you can uninstall the plugin. Navigate back to the Manage communication providers page. Verify that you will see  No communication provider found.
    • 6
    • Team Hedgehog Sprint 1.3

    Description

      Subsystem

      The proposed approach for integrating Moodle with communication platforms such as Matrix is to create a new Moodle subsystem with each platform integration (such as Matrix) being implemented as a plugin. With the admin option to enable/disable the subsystem (default to disabled)

      See: https://moodledev.io/general/development/policies/component-communication#subsystems 

      This subsystem functionality will be flagged as an experimental feature (defaulted to disabled), which gives us more flexibility when landing features. The ability to enable the subsystem will therefore not be available unless the experimental feature is enabled. Also the whole subsystem and related plugins will be disabled if the experimental flag is flipped from enabled to disabled.

      There will need to be some minimal initial admin configuration around the plugins themselves, similar to the pattern for question bank (qbank_*) plugins. We can initially differ handling of multiple simultaneous plugins until a future phase of work.

      The proposed name of the subsystem is: communication

      Plugin type

      Create a new plugin type that integrates with the communication subsystem, so that each integration with a communication platform (like Matrix) can be installed and managed. It will also provide a path for the community to create their own integrations.

      Each plugin will need to implement/override some core methods. For example how the default behavior for chat rooms for new courses is controlled.

      The proposed plugin prefix is: communication*_

      Folder structure

      The new plugins should be in the communication/provider folder.

      Example: communication/provider/matrix

      User stories

      1. As an admin I want to be able to enable or disable the Matrix chat functionality via the Moodle LMS settings (subsystem). So I can control and evaluate how my organisation has access to this functionality.
      2. As an admin I expect that Matrix chat rooms for existing courses are not enabled by default when I upgrade to Moodle 4.2. So not to confuse the teachers at my organisation.
      3. As an admin I want a visual indication of whether the configured chat plugin can successfully communicate with the configured external service. So I can easily tell if the entered details are valid and the server is reachable.
      4. As a Moodle developer I want a Moodle subsystem that supports plugins with a suitable API so that I can write plugins that integrate with various chat systems like Matrix.

      Attachments

        Issue Links

          Activity

            People

              huongn@moodle.com Huong Nguyen
              matt.porritt@moodle.com Matt Porritt
              Safat Shahin Safat Shahin
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 0 minutes
                  0m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 4 days, 2 minutes
                  4d 2m

                  Clockify

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