You have been thinking about creating a new role in Moodle. Think it might solve your challenge? Here are a few things to consider before creating one or more new roles.

Before we begin, lets cover what a role is not to eliminate misconceptions:

  • It is not a group. You don't belong to the group of teachers. You are a teacher in a course.
  • It is not a cohort. You are not elevated to the status of teacher on the site. You can be assigned the role of teacher in a course.

If a group of cohort is what you are looking for, then you are encouraged to look into those features in Moodle instead of roles.

First, clearly determine why you think that you need to create a new role that is not already available in Moodle. This is really important because Roles in Moodle don't work like they do in many other applications or that you might assume. In many applications, roles are all granted at a system level which means that you have that role from the moment you login.

In Moodle, roles are usually granted within a given context such as a manager of a category or a teacher/student of a course.

Figure out which of the base roles (called archetypes) is closest to the new role you want to create. The archetype roles in Moodle include:

  • Manager
  • Course creator
  • Teacher (editing)
  • Teacher (non-editing)
  • Student
  • Guest
  • Authenticated user
  • Authenticated user on frontpage (Home page)

When you create the new role, it will inherit the permissions of the role you based it on. Tip: Make your life easier and base your new user on archetype which is closest to what you will need.

Which permissions will you need to customize for the new role? Be extremely selective on your customizations. Sometimes changing a permission can have unintended side effects.

This brings us to the next step: Determine the scope of the role. Will it be global (system wide), at a category level or just at a course level? Really think this through. It all sounds fine to make everyone a manager until people start creating courses just any old place (and can't find them afterwards) or worse, delete someone else's course by mistake (gratitude to the developer who created the little known recycle bin in Moodle).

Have you considered just modifying one of the existing roles? This is perfectly acceptable solution if you really don't need the overhead that will come with adding new roles.

If you still think you need to create new roles, and you realize that you will need to assign these roles manually, it is time to create the new role, based on the desired archetype and add or remove permissions as desired. Finally, assign the new role to individual users who need it, in the desired context.

Keep in mind that people can have multiple roles within a context. For example, I can be a teacher and a student within a course so permissions from one role may override ones from another role.

Last but not least, you may want to think about who can assign your new role to users. Can teachers do it or do you need to be a manager or administrator to assign the role?

For more information and some examples of roles, see Creating custom roles -- MoodleDocs.

Let me know if you found something helpful in all of this.

Good luck!

Michael Milette