-
New Feature
-
Resolution: Unresolved
-
Minor
-
None
-
Future Dev
-
None
Many institutions, especially universities, have shown some interest in the new communications providers, especially Matrix. However, only a few are currently using this new feature in production. The Academic Moodle Cooperation (based in Austria) had a meeting where we discussed our problems with the current status quo. In the following I have tried to narrow down our common requirements. This is a first draft. We welcome any feedback.
- Feedback from Moodle core: Is this need understandable, is Moodle core interested in developing the scope of such a feature and adapting it to the core or would you encourage us to write our own community communication provider plugin for Matrix instead of making this a challenge for Moodle core from the outset?
- Feedback from the community: If you are also unable to use the current Matrix communication provider as is due to similar issues, do you have any additions, suggestions for changes etc to the descriptions below?
User Story:
As a Moodle site administrator for an institution that utilizes an existing Matrix server, I need Moodle to be capable of handling the synchronization of users' Matrix User IDs in a sophisticated and flexible way. The synchronization should link Moodle accounts to their corresponding Matrix accounts, which my be pre-existing, not yet created, or not-existent. The Moodle Matrix Communication Provider should offer the option of only managing the Matrix rooms and not the Matrix accounts.
Acceptance criteria:
- Maintain status quo: ensure continued support for the scenario where Moodle manages Matrix user accounts, and a Moodle user's Matrix user ID is always on the same domain as the Moodle Matrix service account.
- Moodle must provide a configurable synchronisation mechanism that can accurately determine a Moodle user's Matrix User ID, with the ability to handle instances where no current Matrix account is linked. The system should be extensible to cover specific institutional mapping strategies.
- If a Moodle user's matrix user ID cannot be determined, Moodle should notify course instructors of the matrix room's synchronisation status, as well as the affected user.
- Users using certain types of authentication should be able to set their own Matrix User ID manually in their profile settings.
- When synchronising Moodle users with matrix rooms (e.g. in the course-wide scenario), if a Moodle user has a known matrix user ID with the same domain as the matrix instance managed by Moodle, but no corresponding matrix account yet exists, it should be configurable whether Moodle also handles the account management. Moodle should provide a configuration option that allows site administrators to decide whether Moodle should automatically create the Matrix account, or inform the user to create their Matrix account first, or e.g. tell the user to enter their Matrix User ID in their profile field. At the same time, Moodle should notify teachers which users are still pending room synchronisation.
- If a Moodle user's Matrix user ID is associated with a domain other than the Moodle service Matrix account (i.e. the Matrix instance on which Moodle is doing the room sync), Moodle should send an invitation to join the room rather than adding the account directly to the room, respecting the limitations of federated Matrix server protocols.