-
New Feature
-
Resolution: Fixed
-
Major
-
4.3
-
MOODLE_403_STABLE
-
MOODLE_404_STABLE
-
MDL-78551-main -
-
20
-
Team Hedgehog 2023 Review 2, Team Hedgehog 2023 Sprint 3.1, Team Hedgehog 2023 Sprint 3.2, Team Hedgehog 2023 Sprint 4.1, Team Hedgehog 2023 Sprint 4.2, Team Hedgehog 2023 Sprint 4.3, Team Hedgehog 2024 Sprint 1.1, Team Hedgehog 2024 Sprint 1.2, Team Hedgehog 2024 Sprint 1.3
Groups are an important element in how students and teachers need to communicate effectively within their courses. With this in mind, rooms within communication providers should be broken down by group, where a group mode is enabled in a course.
This is an intentionally limited initial implementation. There are quite a few different workflows for groups and matrix, especially around visible groups vs separate groups and the permutations within, including; groupings and teacher preferences. For an initial implementation, we chose one. Others will be implemented after this initial set of functionality (informed by user feedback).
Requirements
- Where a groups mode is enabled on a course, instead of creating one room for all participants in a course, we should create one room per group.
- The room names will be the groups names, and are not customizable (no settings are required).
- The name/topic of the space will use the existing course-level communication settings (room name and topic). For now, we do not need to modify the strings associated with those settings, their usage will be obvious when visiting Matrix.
- This change will mean if a groups mode is enabled, obviously the Matrix URL in a course will not be the same for all users. We need to do some investigation on what is the best place to link to if a user is in multiple groups within the course . We have decided we will use the latest id of the communication instance to generate the access url if multiple groups are available in a course.
- If a user's group membership changes, their room membership will also need to be updated. Keep in mind that enrolment status is already handled.
- If the course's group mode changes, room memberships/creation should occur accordingly. For example, if messaging is enabled with no groups mode in the course, the course room is created and all participants are added to the one room. If separate groups mode is then enabled on that course, all users are removed from the course room, the group rooms are created, and users are added to their respective group rooms. The reverse would then happen if group mode was disabled so that participants are moved into the course room.
- Both group modes (separate and visible) will be treated the same within this functionality.
User stories
This issue satisfies the following user stories:
Student
- As a student, I want to be able to join the Matrix chat for my groups in a course from the main course page in Moodle. So I can communicate with my peers in my course and ask my teacher questions.
Teacher
- As a teacher, I want to be able to join the Matrix chat for my groups in a course from the main course page in Moodle. So I can communicate with students in my groups.
- As a teacher when the group mode for my course is “separate groups” and the group mode for the course is “forced”, I want multiple rooms in Matrix created for my course, one for each group that has been created in Moodle and I want to be added to each Matrix room. So that my students only communicate with those with whom they share a group.
Out of scope
- Any implementation related to Matrix space.
- Any lang string changes.
- Any implementation relating to groupings.
- Image for the group (As discussed with Mich)
- Separate topic name for each group (It will continue to use course topic name)
- Separate user journeys for separate and visible groups
- Showing the url of the groups added as a part of the course
- blocks
-
MDL-81333 Course information missing from Group rooms naming in communication API
- Closed
-
MDL-4188 Send course welcome message for manual and self enrolments
- Closed
-
MDL-80089 Create spaces in Matrix for courses with group mode enabled
- Open
- has a QA test
-
MDLQA-18430 Group support in communication providers exploratory testing
- Open
-
MDLQA-19363 CLONE - Group support in communication providers exploratory testing
- Open
-
MDLQA-18913 CLONE - Group support in communication providers exploratory testing
- Passed
- has been marked as being related by
-
MDL-81525 Hooks overview page is all over the place
- Closed
-
MDL-81391 Communication api throws error when its not set up but experimental feature is enabled
- Closed
-
MDL-79077 Policies for PSR-14 hook names, classes, locations etc
- Closed
- is blocked by
-
MDL-80832 Matrix power level throws error in ad-hoc task
- Closed
-
MDL-78747 room_members table breaks coding style
- Closed
-
MDL-77917 Allow versioned APIs for clients in Matrix provider
- Closed
-
MDL-78129 Allow teachers, managers and admins to moderate their courses' Matrix rooms
- Closed
- links to