Details
-
Type:
Improvement
-
Status:
Closed
-
Priority:
Major
-
Resolution: Duplicate
-
Affects Version/s: 1.9
-
Fix Version/s: None
-
Component/s: Roles / Access
-
Labels:None
-
Affected Branches:MOODLE_19_STABLE
Description
The Roles and Capabilities system needs greater transparency. It's too much like a black box. The set of permissions that a user has in a given context is the result of a complex algorithm based on role assignments and overrides. I would like to see exactly what a user's current permissions are, and I would like to be able to walk up the context stack and see the permissions at each level. It would be a great way to explore, learn, and debug the system. Currently, we can only guess a user's permissions, or perform tedious experiments in an attempt to deduce them.
The following proposal only applies to users who have permission to Assign roles to users in a given context
On roles-related pages (e.g., Course administration -> Assign roles or modedit pages), add a "View permissions" tab
Clicking the View permissions tab displays a list of users (for simplicity, show all users on the site).
In context Y, clicking on user X displays a page "Permissions for User X in context Y" (the complete list of permissions for the selected user in this context).
This gives complete transparency to the roles system. It lets us see the permissions the algorithm has computed from all assignments and overrides.
Two possible enhancements to the "Permissions for User X in context Y" page:
- Highlight the value of each capability in the parent context (as it's done when displaying overrides)
- Add an Up button, allowing you to change the page view to the parent context. For example, if the parent context of Y is Z, clicking the Up button will display the page "Permissions for User X in context Z." On the parent page, there would be two buttons, Up and Down, allowing you to either go up another level or return to the previous level. Using these buttons, you can "animate" the display of permissions. You should be able to walk all the way up to the System context.
See discussion http://moodle.org/mod/forum/discuss.php?d=86452
Attachments
Issue Links
| This issue duplicates: | ||||
| MDL-16965 | Automatically genereate an explanation for the has_capability computation for a given user in a given context |
|
|
|
| This issue has been marked as being related by: | ||||
| MDL-13538 | new effective permissions tab in user section |
|
|
|
| MDL-14937 | Please add Tim Hunt's "User's Roles" report into core |
|
|
|
| MDL-8524 | Roles administration improvements - META |
|
|
|
+infinity on this one.
It very much undermines our efforts and the expectation of trust when something as simple as an individual being assigned as a teacher on the site (system) level can monitor and edit grades of every course and that there is no a way for student or teacher to see this capability. Often this type of setting is made without understanding the consequences. And it is frequently not the specific assignment of an individual that is the problem (that individual may be trusted and respected by all concerned), but the control that it takes away by doing it invisibly that is the issue.
Roles should be as transparent as possible, most specifically to the teacher and most likely also the student.