You know the thing about bbPress plugin, is that it is light-weight. You can quickly setup a forum without investing a lot of effort. There aren’t many setting options to navigate through,
because the features are limited, only required features are provided. Don’t get me wrong, bbPress provides you a foundation. You can easily customize the forum the way you want. There are several plugins available to extend the features, or you can build your own, if you find the needed documentation.
A really great plugin we found through the bbPress support forum recently, is the bbp Private Groups plugin, which allows you to create groups of users, and group specific forums. This article will explain the use of this plugin and it’s benefits.
bbPress Forums and the Need for Groups
All forums present on a website, need not be available to everyone. May it be to protect the credibility of answers, or hide certain content altogether. In such cases, there is a need to limit access.
Don’t User Roles Help?
bbPress provides five roles (Keymaster, Moderator, Participant, Spectator or a Blocked User) which control user access and participation in forums. These roles overrule the capabilities of WordPress user roles (Subscriber, Contributor, Editor, Author, Administrator), when it comes to forums. A user role set for a particular user, is same across all forums. For example, a user set as a Participant, can post in any forum.
Although permissions can be set an at individual level, groups can allow you to grant permission for a set of people, rather than having to go to individual profiles to grant/prevent access.
Also, roles do not help much, when we want to completely prevent a user from accessing a subset of forums.
How about making a Forum Hidden?
There is this option in bbPress to create a ‘Hidden’ forum. Making a forum ‘Hidden’, limits their access to only Moderators, Keymasters or site Administrators.
Again, this does not help us, when we want to prevent a certain set of people, from accessing certain groups, irrespective of their roles. For example, say there are four users: userA, userB, userC and userD. And three forums: forum1, forum2 and forum3. We want to allow userA access to forum1, userB access to 1&3, and userC and userD access to 2&3.
In such a case, even if any of the users were Moderators, neither of the forums can be made hidden.
How can Groups Help?
bbPress by default does not have user groups of it’s own. Groups can help divide users into sets. And access permissions can be set at the group level, which makes our task simple. In the above example, we need to create three groups. Considering of course, that each user can belong only to one group.
To create user groups many suggest using BuddyPress. But using BuddyPress is like hiring an elephant to crush a peanut. We do not need the extra weight. We can do with a simpler, more dedicated plugin. Enter bbp Private Groups plugin – the right plugin for the job.
Using the bbp Private Groups Plugin
The bbp Private Groups plugin, is meant to create user groups. You can then limit access to forums by adding them to groups. Thus only users belonging to the group have access to the forums (which have been added to the group). Users cannot access other forums which do not belong to the group (although there are exceptions for Moderators and Keymasters).
To list out the uses, the bbp Private Groups plugin provides the following options:
The main purpose of the plugin is to create Groups. Creating a group structure makes it fairly simple to solve our task at hand.
You need to create Groups depending on the permission options you want to provide.
For public groups accessible to all, we do not need to restrict them to any groups
Add Users to Groups
Users have to be added to groups under individual user profile settings.
A user can be added only to one group
The role of the user will remain the same across all groups
User can be added to no group, which gives them access to forums, which are not restricted to any group
Restrict Forum Access
Forum access can be restricted by assigning groups to forums.
Forums which are not under any group can be accessed by all
Forums can be assigned to several groups at once
Visibility of forums can also be changed for groups which do not have access to the forums
Forum Roles and Access Restrictions
But what happens when a moderator is added to a group? Can keymaster be added to a group? The point in question is what about forum user roles, how do they play a role in the group and forum dynamics. The plugin sets the following restrictions:
Keymaster has the access to all forums
Moderators can view all forums. If no group is set for moderator, he can moderate any forums. But if a group is set, forums under the group, or without any group, can be moderated.
If a Participant is not set to any particular group, he can only participate in forums which do not belong to any groups. But if he group is set, he can not only participate in the said forums, but also in the forums belonging to the group.
A Spectator can view forums which do not belong to any group, or forums which are assigned to the group the spectator belongs to. If the spectator is not assigned to any group, he can only view forums, which are not restricted by a group.
The bbp Private forum plugin, is relatively new. But it is a great substitute for BuddyPress plugin or other membership plugins, you would want to use, just for the option of creating user groups. The UI is sort of work in progress, but that’s fine, because the functionality is all in place. Have you used the plugin? Or thinking of using it? Let us know your thoughts, in the comment section below.