Understanding groups and category permissions

:bookmark: This guide explains how to manage category visibility and user permissions using groups in Discourse.

:person_raising_hand: Required user level: Administrator

Groups and category permissions are crucial for managing access and content creation within your Discourse community. This guide will help you understand how to use these features effectively.

Summary

  • Category permissions control visibility and user actions
  • Permissions are managed through group access lists
  • Different permission levels: See, Reply, and Create
  • Special considerations for admin, moderator, and anonymous access

Managing category permissions

Accessing category security settings

  1. Navigate to the category you want to manage
  2. Click on the category’s “About” page
  3. Select “Edit Category”
  4. Go to the “Security” tab

You’ll see a screen similar to this:

Understanding permission levels

There are three levels of permissions you can assign to groups:

  1. See: Users can view the category and its content
  2. Reply: Users can post replies in existing topics
  3. Create: Users can create new topics in the category

Adding groups to the access list

  1. Click the “Add a group” button
  2. Select a group from the dropdown menu
  3. Choose the appropriate permission level(s) for that group

:information_source: New forums have default groups like “everyone”, “admins”, “staff”, “moderators”, and trust level groups. Custom groups you’ve created will also appear in this list.

Removing groups from the access list

To remove a group’s access, simply click the bin :wastebasket: icon next to the group name.

Category visibility and access control

Default permissions

By default, new categories allow the “everyone” group to Create/Reply/See. This means all users, including anonymous visitors, have full access to the category.

Restricting category visibility

If a group doesn’t have the “See” permission for a category:

  • The category won’t appear in the user interface for members of that group
  • Members of groups with access will see a padlock icon next to the category badge

To limit access to a category to specific groups, you will have to remove the group everyone from the category security settings and include the appropriate groups that will be allowed to have visibility of the category.

This video shows how you can use group permissions to create private categories:

:warning: Please note that the UI from the video is outdated, but the same core concepts still apply.

Video transcript

In this video we’ll go over how to create a group of users and then give that group that I’ve created permissions to a private category.

In this Discourse install I have a category called staff and I want to give a specific group of users access to this certain category.

First I’ll jump into the admin page and then I’ll head over to users and groups and here I’ll create a new group.

We have a group of interns that will be joining the team shortly so we want to give them just a certain level of access to this staff category.

We want them to be able to see topics and reply to them but not to be able to create new topics so let’s create this group we’ll leave all these as defaults and go ahead and click create.

Once we’ve clicked create we can head back to our categories and find the private category that we care about: staff.

Now will edit this category. Head over to security and this is where we have our permissions page.
Currently users that are part of the group called staff can create, reply to, and see topics in the staff category.

Now I’ll go ahead and choose the interns group that I just created and then open this drop down and allow interns to reply to topics and see them, not create new topics. We could also choose “see” but for now I’ll just choose reply and see.

Then we’ll click the plus button and save the category and we’ll wait for this page to update.

Any new users that I add to this interns group will now be able to see all the topics in this staff category and they can reply to any of them - they just won’t be able to create a new topic in this category.

So that’s how to create a group in discourse and then give that specific group of users certain permissions to a private category

Limiting actions without hiding the category

If a group can “See” but not “Create” or “Reply”:

  • The category and its content will be visible
  • The “New Topic” button will be greyed out and disabled
  • The category won’t appear in the composer’s category dropdown menu

:information_source: Users who can only “See” a category can still receive notifications and have the category’s content included in their digest email.

Special cases and considerations

Admin and moderator access

  • Admins always have full Create/Reply/See permissions for all categories
  • Moderators don’t have default access and must be explicitly included in permission rules
  • Moderators belong to both “staff” and “moderators” groups

Anonymous vs. logged-in users

  • The “everyone” group includes all users, even anonymous visitors
  • The “trust_level_0” group includes all logged-in users
  • To disallow anonymous access, use “trust_level_0” instead of “everyone”

Examples of permission configurations

Limiting access to a custom group

Public visibility with restricted content creation

Open replies, restricted topic creation

Logged-in users only access

Additional resources

Last edited by @pedrom 2024-07-27T06:33:51Z

Last checked by @hugh 2024-07-26T01:13:51Z

Check documentPerform check on document:
45 Likes

2 posts were split to a new topic: Creating a ghost category for use with a channel

Where do you discuss the ability to delete e.g. posts?