Development:Roles
Roles and Capabilities
Roles and Capabilities are planned to be included in Moodle 1.7. For now, we have some basic ideas of how to implement such a structure in Moodle.
By roles, we mean an identifier of the user's status, for example, 'Teacher', 'Student', and 'Forum Moderator' are examples of Roles.
A capability is a permission to access some particular Moodle feature. Capabilities are associated with roles. For example, can_read_forum_post is a capability.
The Existing Roles and Permission System
Currently in Moodle, we have a fixed set of Roles. For example, we have the primarty admin, admins, course creators, editting teachers, non-editting teachers, students, and guests. For each role, the capability or actions that they can performed are fixed. For example, the role student will allow the user to submit an assignment, but not allowing the user to browse/edit some other user's work. Using this setup, we have a rather rigid set of capabilities for each role.
See also
- Using Moodle Roles and Permissions architecture forum discussion