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: comm*_
- 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.
- 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.