Roles FAQ

Revision as of 10:28, 4 October 2007 by Mike Green (talk | contribs) (How do I enable logged-in users to participate in front page activities?)

Jump to: navigation, search

What is the definition of a...

An identifier of the user's status in some context, for example Teacher, Student and Forum moderator
A description of a particular Moodle feature, for example moodle/blog:create
A setting for a capability - inherit, allow, prevent or prohibit
A "space" in Moodle, such as courses, activity modules or blocks

Why isn't my role change taking effect?

Role changes only take effect after the next login from that user. Regarding testing new roles, please refer to the information in Manage roles.

Also, please check the context in which the role is assigned. Certain capabilities e.g. moodle/user:update may only be applied in the system context, so assigning a role in the course context will result in the role change not taking effect.

Why are participants being added automatically when a new course is created?

If a user is assigned a global role or a role in the course category context then the user has this role in ALL courses in that context. Thus users who are students or teachers at the category level appear as course participants in all courses in that category.

Please check Administration > Users > Permissions > Assign global roles and also the Assign roles link in course categories page and unassign users as necessary.

Why are all students enrolled in all courses?


  • Users are assigned the role of student in the site/system context rather than the course context (see FAQ above)


  • The default role for all users in Administration > Users > Permissions > User policies is set to Student rather than Authenticated user (Moodle 1.8 onwards).

Why are there differences in the users listed as course participants and users assigned roles in a course?

Users assigned roles in a higher context, for example users assigned the role of teacher in a course category context, may appear as course participants. The discussion Discrepancies between Assign Roles lists and Participants list contains a longer explanation.

How can I prevent administrators being listed as course participants?

Ensure that administrators are not assigned another role in addition to their admin role.

Why are hidden assignments still visible?

Hidden assignments are not hidden from admins or teachers i.e. users with the viewhiddenassigns capability.

Where are permissions inherited from?

Permissions are inherited from a role assigned in a higher-level context which has permissions set to allow for particular capabilities. If permission is never allowed/not set in any context (in particular, if you are creating or editing a role at the site level), then a user will have no permission for that capability.

For example, the Student role has permission not set for the change site configuration capability. The permission is never allowed in any context so users assigned the role of Student cannot change the site configuration.

What is a hierarchy of permissions?

This determines which permission wins or is going to be in effect if there is an apparent conflict. For example, the site allows all students the permission to to post in forums, but a teacher might prevent that right in a particular course. The hierarchy of permissions would allow a student to post in one course but not in another course.

Are there any differences in Roles in Moodle 1.7 and 1.8?

In addition to many Roles fixes and refinements (see the list of Roles improvements in the Tracker), in Moodle 1.8 the system context is separated from the site context.

The site context in Moodle 1.8 is the "front page course" and its activities. Roles may be assigned in the site context via Administration > Front Page > Front Page roles.

A "Duplicate role" button has been added in Moodle 1.8, which makes creating new roles based on predefined roles much quicker.

How do I change the name for "teacher" in the course description?


  • Edit the role of Teacher via Administration > Users > Permissions > Define roles and rename it. The new name will apply site-wide.


  • Create a duplicate teacher role with an alternative name and assign users the duplicate teacher role as appropriate in the course context. In Administration > Appearance > Course manager select the alternative name for teacher that you wish to be displayed in the course description.


  • One more way to do it in 1.8 is to create new "dummy" roles (no capabilities) with those names and assign them to teachers along with the real roles. In the course manager settings you can choose which roles display on the front page under each course. (The feature request Ability to assign or display custom title for role of person in course contains this further method.)

Template:Moodle 1.9From Moodle 1.9 onwards, names for different roles in a course may be changed in the course settings.

How do I enable teachers to set role overrides?

  1. Access Administration > Users > Permissions > Define roles.
  2. Edit the teacher role and change the capability moodle/role:override to allow.
  3. Click the button "Save changes".
  4. Click the tab "Allow role overrides" (in Administration > Users > Permissions > Define roles).
  5. Check the appropriate box to allow a teacher to override the student role.
  6. Click the button "Save changes".

How do I enable teachers to assign other teachers in a course?

This is disabled by default but it can be switched on by modifying the teacher's role. In Administration > Users > Permissions > Define roles select the "Allow role assignments" tab and tick the checkbox where Teacher and Teacher intersect.

Why doesn't "Switch role to.." within a course seem to work properly for a Course Creator?

This feature is intended for Teachers assigned at the course level. Users assigned at "higher" contexts should not expect reliable results from this function.

Are there any example roles?

Yes, as follows:

  • Inspector - for providing external inspectors with permission to view all courses (without being required to enrol)
  • Parent - for providing parents/mentors/tutors with permission to view certain information about their children/mentees/tutees
  • Demo teacher - for providing a demonstration teacher account with a password which can't be changed
  • Forum moderator role - for providing a user with permission in a particular forum to edit or delete forum posts, split discussions and move discussions to other forums
  • Keyholder role - for setting the person named as holding a course enrolment key

Logged-in users can't read the site news. What can I do?

  1. Access Site Administration > Front Page > Front Page roles
  2. Follow the "Override roles" link
  3. Click on "Authenticated User"
  4. Change the capability mod/forum:viewdiscussion to allow
  5. Click the "Save changes" button at the bottom of the page

How do I enable logged-in users to participate in front page activities?


  1. Access Site Administration > Front Page > Front Page roles
  2. Follow the "Override roles" link
  3. Click on "Authenticated User"
  4. Change capabilities to allow for all required activities e.g. record a choice, reply to posts
  5. Click the "Save changes" button at the bottom of the page

Note that for this to work, you need to make the default role for all users "authenticated user". This is the default for new versions of moodle. In older versions of moodle, the default setting is guest, so if you have an upgraded moodle, you may have to change this setting. You can change the setting at Site Administration > Permissions > User Policies.


  1. Access Site Administration > Front Page > Front Page roles
  2. Click on Student
  3. Select all users in the potential users list, and use the left-facing arrow button to add them to the existing users list