Back in the old days, when we didn't have the Group module to “save the say”, whenever we needed to set up a certain user group hierarchy and a more or less intricate structure of group roles, with different levels of permission and different types of content to be accessed by each one of these groups, we used to call the Organic Group module for “help”. It used to be the one and only solution to our “challenge” actually.
Yet, no matter how familiarized we already are with it, we still cannot ignore its “flaws” and “aspects that could be improved” (that we'll be tackling in this post in a bit).
And so, with an enhanced Drupal site builder's and developers' experience in mind and due to the context of a slightly flawed Organic Groups module, the Group module was built! A so much more than just an “alternative”: a soon to be the norm whenever developers deal with user groups on Drupal social sites.
Now let's give you some key arguments for why you should consider using it for creating and managing user communities on your website and some guidance on how to harness its full power:
First of all: Which Are The Contexts of Use for the Group Module?
Which are those “scenarios” that call for the creation of user groups with shared content and shared permissions precisely to that specific content?
Let us point out some of the most common ones:
1. a (high) education Drupal website, where a professor having an admin role, too, can group his own students into communities and share certain resources, certain information with them exclusively while keeping them hidden from the other visitors on the site
2. a library with multiple branches, where the staff from a physical location is given access to specific dedicated sections and, therefore, to specific content only on the library's website
3. a speaker's website where he/she also organized online conferences and needs to group the participant and grant them (paid or not) access to informative content and resources
What Makes It a Better Alternative to The Organic Groups Module?
You can't ignore the Organic Groups module's “sore points”, even if it might have turned into a “familiar” tool to use each time time you're in a “setting up granular permission” type of situation:
it hasn't always leveraged Drupal's new functionalities in core
it doesn't “spoil” us with API
And now, let's “dig up” all those improvements brought to the Group module which easily turn it from “just” an alternative into a replacement module for Organic Groups:
1. Better Structured Data
“Tempting flexibility”, that's how we could call this improvement.
Remember how in the Organic Groups module everything was intertwined, interconnected? User groups had to be attached to a node or a taxonomy term or to a...
Well, not anymore! In the Group module, each user community is an “independent” entity and this is where the “tempting flexibility” derives from.
2. A More Intuitive UI
And this is, no doubt, one of the Group module's most heavy weighting improvements. We're talking about Drupal after all, with a “culture of empowerment”, so a clear and super intuitive UX was a must!
Practically you'll be provided with everything you'll need to use, served to you right on a “silver plate”: once you've installed the module, simply look for the “Group” section “neighboring” the “People” section!
Your admin toolbar will provide you with all the tabs/options that you need to navigate through and select from.
Therefore, don't expect a whole “marathon” of tabs and pages and sub-tabs that you would need to swim through for configuring your Drupal 8 site's user groups! A simple UI grants you a “fewer clicks” experience!
3. It Provides Group Roles to Choose From and Assign To
It's a “new” concept that this Drupal 8 module introduces. Well, almost new, for these roles are very similar to Drupal's user roles and their functionality is the same. Except that they're applied to group types instead (not to individual users)!
They fall into 3 types:
member: a member of the user group with a user account on the website, too
outsider: not a member of that specific “community”, yet he/she has an account on the website
anonymous: has no user account on the given website
4. Site builders Can Define Permission Sets for Each Type of User Group
Basically, this functionality that the Group module provides site builders with eliminates the risk of group members “not playing fair”.
The set of permissions can be configured and then assigned to each group instance.
5. An Improved Developer Experience
The Group module in Drupal 8 “spoils” Drupal developers with a well-documented code.This way they get quickly familiarized with it and do the right tweaks for extending the module's functionality.
And now speaking of its extensibility feature, we have some really good news /spoiler alerts for you:
you get the Group Node module, too, out-of-the-box, once you install Group in Drupal 8; this enables you to quickly add your nodes and grant access to that specific private content exclusively to the members of the group that you will have created
it “plays well” with other Drupal 8 modules, too
thanks to its plugin system, it turns the writing of a module into a matter of just a few lines of code; developers get to easily enhance its functionality
How to Use the Group Module in Drupal 8?
The whole step-by-step process, from the very first step, where you enable the module itself (a 3-in-1 module, actually), to the very last one, where you add your groups, is very well detailed HERE. What tabs to click on, what drop-down menus to unfold and selections to make, it's all there.
So, we won't go on rephrasing the whole tutorial in this post, since you'll find all the steps (screenshots there included) that you'll need to complete explained there:
you install and enable your module
you set up your group types (for instance: content editors, publishers, content creators, interns)
you link group types to content types, too
you pick groups from the group types that you will have created as step 1 and populate them with members
There are a couple of key aspects of this Group module installation, enabling and properly configuring process that we'd like to draw your attention to:
once you get started with the installation, you'll be “warned” that you need to rebuild your permissions
you get to create custom fields for each one of your group types (it's you who'll decide what personalized content goes there: that specific user community's logo, its location, etc.)
And that's it! You can now step into and enjoy a new era of user groups creating and granular permission granting made easy!
Have you tried the Group module on your Drupal 8 site yet?