Note: You are currently viewing documentation for Moodle 2.2. Up-to-date documentation for the latest stable version is available here: Managing roles.

Managing roles: Difference between revisions

From MoodleDocs
m (→‎Example roles: link edits)
(roles capabilities)
 
(32 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Roles}}
{{Roles}}
Location: ''Administration > Users > Permissions > Define roles''
Managing overall role capabilities can be done by an administrator using  ''Settings > Site administration > Users > Permissions > Define roles''.  This is the place to add custom roles or modify existing roles.  The "Manage roles" tab, allows the system administrator to edit any one of over 350 different capabilities associated with any role.  The "Allow role assignments", "Allow role overrides" and "Allow role switches" contain a matrix which give the ability for a specific role to work with other specific roles.


==Manage roles==


The define roles page has three tabs, for managing roles, [[Allow role assignments|allowing role assignments]] and [[Allow role overrides|allowing role overrides]].
The 'Manage roles' tab contains a list of roles on your site. The edit column contains icons for editing, deleting roles and copying roles, and for moving them up or down in the list (affecting the way that roles are listed around Moodle).


The manage roles tab contains a list of roles on your site. The edit column contains icons for editing and deleting roles, and for moving them up or down in the list (affecting the way that roles are listed around Moodle).
[[Image:Manageroles2.png]]


==Predefined roles==
Moodle comes with 7 predefined roles:
*[[Administrator role|Administrator]]
*[[Course creator role|Course creator]]
*[[Teacher role|Teacher]]
*[[Teacher role| Non-editing teacher]]
*[[Student role|Student]]
*[[Guest role|Guest]]
*[[Authenticated user role|Authenticated user]] (from 1.8 onwards)
==Editing a role==
[[Image:manage roles.png|thumb|Managing roles]]
To edit a role:
To edit a role:
#Click on Permissions in the Site Administration block, then Define roles.
#Go to ''Settings > Site administration > Users > Permissions > Define roles''.
#Click the edit icon opposite the role you want to edit e.g. student.
#Click the edit icon opposite the role you want to edit. For example "student".
#On the edit role page, change permissions as required.
#On the editing role page, change permissions as required for each capability.
#Scroll to the bottom of the page and click the "Save changes" button.
#Scroll to the bottom of the page and click the "Save changes" button.


==Adding a new role==
See [[Creating custom roles]] for information about adding a new role and creating a duplicate role.
 
To add a new role:
#Click on Permissions in the Site Administration block, then Define roles.
#Click the "Add a new role" button.
#On the add a new role page, give the role a name. If you need to name the role for multiple languages you can use [[Multi language content|multi-lang syntax]] if you wish, such as <code><nowiki><span lang="en" class="multilang">Teacher</span> <span lang="es_es" class="multilang">Profesor</span></nowiki></code>. If multi-lang syntax is used then ''Filter all strings'' should be set in [[Filter settings]].
#Give the role a meaningful short name. The short name is necessary for other plugins in Moodle that may need to refer to the role (e.g. when uploading users from a file or setting enrolments via an enrolment plugin).
#Give the role a description (optional).
#Set permissions as required.
#Scroll to the bottom of the page and click the "Add a new role" button.
 
==Creating a duplicate role==
{{Moodle 1.8}}In Moodle 1.8 onwards, a new role may be quickly created by making a copy of an existing role.
 
To create a duplicate role:
#Click on Permissions in the Site Administration block, then Define roles.
#Click on the role to be duplicated, for example "Guest".
#Click the "Duplicate role" button near the top of the "View role details" page.
#Answer Yes to the question "Are you sure you want to duplicate the role ...?"
#The list of roles will now show the "... copy 1" at the bottom, for example "Guest copy 1". 
#Edit the duplicated role to meet your needs.
 
==Permissions==
 
There are four settings for each capability:
 
;Not Set
:This is the default value for all permissions when a new role is created.
 
;Allow
:By choosing this you are granting permission for this capability to people who are assigned this role. This permission applies for the context that this role gets assigned plus all "lower" contexts. For example, if this role is a student role assigned to a course, then students will be able to "start new discussions" in all forums in that course, unless some forum contains an override or a new assignment with a Prevent or Prohibit value for this capability.
 
;Prevent
:By choosing this you are removing permission for this capability, even if the users with this role were allowed that permission in a higher context.
 
;Prohibit
:This is rarely needed, but occasionally you might want to completely deny permissions to a role in a way that can NOT be overridden at any lower context. An example of when you might need this is when an admin wants to prohibit one person from starting new discussions in any forum on the whole site. In this case they can create a role with that capability set to "Prohibit" and then assign it to that user in the system context.
 
==Legacy role types==


* Legacy role types were implemented for backward compatibility.
==Resetting a role==
* Selecting a legacy role type in 1.8 (or allowing a legacy capability in 1.7) does NOT provide a new role with all capabilities of a pre-Moodle 1.7 role.
*It is recommended that a legacy role type is selected only for roles that are similar to pre-Moodle 1.7 student/teacher/admin/creator roles.
* It is not necessary to select a legacy role type unless using old 3rd party code that was not designed for Moodle 1.7 and doesn't yet support roles.


==New role considerations==
To reset a role back to the default permissions:
#Go to ''Settings > Site administration > Users > Permissions > Define roles''.
#Click on the name of the role, for example "student".
#Click the 'Reset to defaults' button.


A newly-created role does not have the ability to assign or override any other roles. This is true even when the new role is a copy of a role that had such abilities.  If such ability is needed, the administrator must grant it explicitly (Site administration -> Users -> Permissions -> Define roles ->  Allow role assignments and Allow role overrides tab).
==Allow role assignments==


A new role is not automatically listed in course descriptions even if was created by copying a role that is listed, such as [[Teacher]]. If you want the new role to appear in the course listing, you must set it explicitly via ''Administration > Appearance > [[Course managers]]''.
The "Allow role assignments" tab allows (or does not allow) a specific role to be able to assign specific roles to a user.


==Testing a new role==
[[File:Allowroleassignments.png]]


In Moodle 1.9 and later, you can use the "Switch roles to..." menu in the upper right corner of each course page to test the new role. Since switching roles confines you to those roles you can assign in a course context, this method is only useful for testing course-scoped capabilities (i.e., it will not be useful for testing permissions that apply outside the course context, like moodle/user:edit).
===Enabling teachers to assign other teachers===
By default, teachers can only assign other users the roles of non-editing teachers, students and guests. If you want teachers to be able to assign other teachers in their course, you can allow the role assignment:


In Moodle 1.7.x and 1.8.x role changes take effect only after the next login from that user, so new roles may not be tested using the "Switch role to..." feature.
#Click on ''Settings > Site administration > Users > Permissions > Define roles''.
#Click the Allow role assignments tab.
#Click the checkbox where the teacher row and column intersect.
#Click the "Save changes" button.


In any version of Moodle with roles, you can always create test user and assign the new role to them.  Then logout as admin and login as the test user.
==Allow role overrides==
The "Allow role overrides" tab allows (or does not allow) a specific role to be able to override specific roles for a user.  For example, it might allow a teacher role to override a student's role to a non-editing teacher's role.  


==Example roles==
:Note that the settings only apply to roles that have the capabilities [[Capabilities/moodle/role:override|moodle/role:override]] or [[Capabilities/moodle/role:safeoverride|moodle/role:safeoverride]] allowed.


*[[Inspector role|Inspector]] - for providing external inspectors with permission to view all courses (without being required to enrol)
==Allow role switches==
*[[Parent role|Parent]] - for providing parents/mentors/tutors with permission to view certain information about their children/mentees/tutees
The "Allow role switches" tab allows (or does not allow) a specific role to be able to temporarily change their role to another specific role.  For example, this might allow a users assigned to a custom role in a course to see "Student" in the Settings > Switch role list. 
*[[Demo teacher role|Demo teacher]] - for providing a demonstration teacher account with a password which can't be changed
*[[Forum moderator role|Forum moderator]] - for providing a user with permission in a particular forum to edit or delete forum posts, split discussions and move discussions to other forums
:Note: the selected role must also have the moodle/role:switchroles capability to be able to switch.
*[[Calendar editor role|Calendar editor]] - for enabling a user to add site or course events to the calendar
*[[Blogger role|Blogger]] - for limiting blogging to specific users only
*[[Quiz user with unlimited time role|Quiz user with unlimited time]] - for allowing a user unlimited time to attempt a quiz which has a time limit set


==See also==
==Roles capabilities==


* [http://moodle.org/mod/forum/discuss.php?d=66782 What happens if a user has multiple roles in a course?]
*[[Capabilities/moodle/role:manage|Create and manage roles]]
* [http://moodle.org/mod/forum/discuss.php?d=90140 logged in: what role am I?]
*[[Capabilities/moodle/role:assign|Assign roles to users]]
* [[How_permissions_are_calculated | How permissions are calculated ]]
*[[Capabilities/moodle/role:switchroles|Switch to other roles]]
* [[The_rolesdebug.php_roles_debugging_script | The rolesdebug.php role debugging script]]


[[Category:Administrator]]
[[Category:Site administration]]


[[es:Gestionar_roles]]
[[es:Gestionar_roles]]

Latest revision as of 08:08, 25 April 2012


Managing overall role capabilities can be done by an administrator using Settings > Site administration > Users > Permissions > Define roles. This is the place to add custom roles or modify existing roles. The "Manage roles" tab, allows the system administrator to edit any one of over 350 different capabilities associated with any role. The "Allow role assignments", "Allow role overrides" and "Allow role switches" contain a matrix which give the ability for a specific role to work with other specific roles.

Manage roles

The 'Manage roles' tab contains a list of roles on your site. The edit column contains icons for editing, deleting roles and copying roles, and for moving them up or down in the list (affecting the way that roles are listed around Moodle).

Manageroles2.png

To edit a role:

  1. Go to Settings > Site administration > Users > Permissions > Define roles.
  2. Click the edit icon opposite the role you want to edit. For example "student".
  3. On the editing role page, change permissions as required for each capability.
  4. Scroll to the bottom of the page and click the "Save changes" button.

See Creating custom roles for information about adding a new role and creating a duplicate role.

Resetting a role

To reset a role back to the default permissions:

  1. Go to Settings > Site administration > Users > Permissions > Define roles.
  2. Click on the name of the role, for example "student".
  3. Click the 'Reset to defaults' button.

Allow role assignments

The "Allow role assignments" tab allows (or does not allow) a specific role to be able to assign specific roles to a user.

Allowroleassignments.png

Enabling teachers to assign other teachers

By default, teachers can only assign other users the roles of non-editing teachers, students and guests. If you want teachers to be able to assign other teachers in their course, you can allow the role assignment:

  1. Click on Settings > Site administration > Users > Permissions > Define roles.
  2. Click the Allow role assignments tab.
  3. Click the checkbox where the teacher row and column intersect.
  4. Click the "Save changes" button.

Allow role overrides

The "Allow role overrides" tab allows (or does not allow) a specific role to be able to override specific roles for a user. For example, it might allow a teacher role to override a student's role to a non-editing teacher's role.

Note that the settings only apply to roles that have the capabilities moodle/role:override or moodle/role:safeoverride allowed.

Allow role switches

The "Allow role switches" tab allows (or does not allow) a specific role to be able to temporarily change their role to another specific role. For example, this might allow a users assigned to a custom role in a course to see "Student" in the Settings > Switch role list.

Note: the selected role must also have the moodle/role:switchroles capability to be able to switch.

Roles capabilities