-
Improvement
-
Resolution: Fixed
-
Major
-
4.3
-
MOODLE_403_STABLE
-
MOODLE_403_STABLE
-
MDL-78129-master -
-
-
10
-
Team Hedgehog 2023 Sprint 2.2, Team Hedgehog 2023 Sprint 2.3, Team Hedgehog 2023 Review 2, Team Hedgehog 2023 Sprint 3.1, Team Hedgehog 2023 Sprint 3.2, Team Hedgehog 2023 Sprint 3.3
We need a way to allow teachers to have elevated room permissions somehow. And similar cases.
Every user in a room has a power level - a number generally between 0 and 100. The higher the number the more power the user has that room.
By default, the creator of the room gets the highest power level of 100 (typically called ‘Admin’), and newly joined users get a power level of 0. You can change the power level of less powerful users than yourself - for instance, an Admin (with power 100) could promote a normal user to a power level of 50 (typically called ‘Moderator’).
We want students and teachers to have different power levels in a room. We also want to explicitly set the power levels when creating the room. We want to be explicit because then rooms created by Moodle LMS will be predictable and behave as teachers and admins expect. If we don't set them explicitly a Matrix server may have some different defaults (like all users can kick), this could lead to unexpected behaviors.
- We should go with the defaults for user actions as outlined in the documentation (https://spec.matrix.org/v1.7/client-server-api/#mroompower_levels) but set them explicitly.
- Teachers and managers should get a power level 50
- Students should get a power level of 0
- Moodle site admins (if added to the room because the have a role in the course) should get a power level of 100
- Power levels should updated based on Moodle LMS course role
- We should make a new capability that can be assigned to teacher and manager roles by default. The presence of this capability should be the thing that determines if they get a power level of 50 or not
Docs: https://spec.matrix.org/v1.7/client-server-api/#mroompower_levels
Out of scope
- At this stage power levels should not be configurable via the UI. We can add this in the future if users request it. But for now it feels like over-engineering and adding unneeded admin settings.
- At this stage we will only be supporting the default power levels mentioned above, we will not be implementing any admin settings to make them configurable.
- blocks
-
MDL-78551 Implement initial group support in Communication providers
- Closed
- has a non-specific relationship to
-
MDL-79459 Create weekly scheduled task to check all rooms and reset power levels
- Closed
-
MDL-79460 Update Matrix mock to include new route
- Closed
- has to be done before
-
MDL-78689 Remove/add power level of user with the change in capabilities
- Closed
- is blocked by
-
MDL-77917 Allow versioned APIs for clients in Matrix provider
- Closed
- Testing discovered
-
MDL-79404 Cache the room creator userid
- Open