Roles and capabilities
Roles and capabilities in Moodle 1.7 onwards provides great flexibility in managing how users interact. Prior to Moodle 1.7, there were only six roles possible: guest, student, non-editing teacher, editing teacher, course creator, and administrator. Whilst these roles may still be used, it's now possible to create additional roles, and to change what a given role can do in a particular activity.
- An identifier of the user's status. The status depends upon permissions given for one or more capabilities in a context.
- For example Teacher and Student are standard user roles. The identifier indicates they probably have different capabilities in some contexts.
- When Moodle is first installed, a number of Standard roles are created automatically.
- A description of a particular Moodle feature. A list of many capabilities can be seen in the capability category index page.
- For example moodle/blog:create(writing blog entries) or "Backup course" are two capabilities. Note the "mod/blog:create" notation is a common to identify a capability.
- A setting for a capability. Can be any one of four: not set/inherit, allow, prevent or prohibit.
- A "space" in Moodle.
- For example: a course, activity module or block can each be a context.
- Some contexts can contain multiple contexts in their space, For example, a course can contain a lesson, assignment, forum and quiz modules, plus blocks.