- This allows a user to create, update and delete course categories.
- The default role of Manager has this capability set to allow.
- This capability may only be applied in the system context, or in category context, to allow management of subcategories
The exact rules enforced for various actions are: (Remember that the parent of a given category may be either the system context, or another category.)
- To add a new category, you need moodle/category:manage in the parent of the category you are adding to.
- To browse a category and the courses it contains, you don't normally need any special capabilities, except that
- to view hidden courses, you need moodle/course:viewhiddencourses, and
- to see hidden categories you need moodle/category:viewhiddencategories
- To update a category's name, description, and/or visibility, you need moodle/category:manage in the category itself.
- To move a category from one place in the tree to another, you need moodle/category:manage in both the old and new parent categories (and you are not allowed to move a category to be a descendant of itself!)
- To delete a category, you need moodle/category:manage in the parent category and the category itself. In addition, if the category or any of its subcategories contains any courses you need either:
- moodle/course:delete in all of those courses, and moodle/category:manage in all of the child categories, or
- moodle/course:create and moodle/category:manage in some other category that is not a child of this one. (Except that, if this category contains no sub-categories, we don't check moodle/category:manage in the other category.)