Drupal - What are the features of the Group module versus Organic Group module?
About
The Group module allows for creating arbitrary collections of your content and users on your site, and grant access control permissions on those collections. It is available as of D7, and has a D8 version also. It is designed to be an alternative to Organic Groups.
Organic Groups allows content itself to be groups, which isn't always what people want. It relies on an entity reference field to keep track of the ties between a group (node, term, ...) and its content (node, term, user, ...)
Group instead creates groups as entities, making them fully fieldable, extensible and exportable. Every group can have users, roles and permissions attached to it (refer to "What are the various roles supported by the Group module?" for more details about that). Groups can also act as a parent of any type of entity. Group provides an extensive API to attach entities to groups.
Advantages of Group as compared to OG
- Group started in D7 only, taking full advantage of entities introduced in D7.
- Group doesn't 'abuse' nodes by adding custom fields to them in order to make the module work.
- Group does not allow you to have per-group roles or permissions. These are instead defined on the group type. So group types, group roles and permissions are configuration instead of content. Because of this approach, group types and roles exportable (with or without Features).
- Organic Groups is commonly perceived as a huge module, which carries a lot of "legacy" from pre-D7 releases and makes it tougher to ever get upgraded to D8.
- A D8 version of Group is already available (not so for Organic Groups).
Disadvantages of Group as compared to OG
- As of today, Group only has alfa / beta releases (not any official release).
- Even though some say it is self documenting, I think it is not (maybe because I don't want to digest the source code to find out what this module can do ...).
- Not a lot of documentation available.
- As of today, there is no group tag on drupal.SE, though there is an organic-groups tag, and there are already quite a few Group specific questions. Anybody interested in creating it (again), feel free to reuse my previously approved tag wiki and/or tag excerpt (no need for credits ...).
Integration with various modules
The Group module integrates with various other (popular) modules, including:
- Rules, as illustrated in the answer to the question "How to bulk assign existing content to a group created with the Group module?".
- Views, as illustrated in the answer to the question "How to show the content of a group on the group page when using the Group module?".
- Pathauto.
The beauty, IMO, of these integrations are that they are more or less out-of-the box (not dozens of extra modules needed to make those integrations work).
Refer to Integrations with other modules and its "Related issues" about other modules for which integrations already exist, or are in the pipeline.
Resources
- Community documentation for the Group module.
- Video tutorial "How to use the Group module in Drupal 8 to manage editorial access control to different areas of a web site".
- Podcast "Using the Group module as an Alternative to Organic Groups in Drupal 7 and 8".
- What are the alternatives for the Organic groups module?
What people say about the Group module
Similar to what you see in the Group issue queue: most (if not all) people who know about Group just love it ...
There is an article that comes from being published named: GROUP FOR DRUPAL
The author says about group:
- Simple
Groups should be like content types. I want different kinds of groups with different fields, roles and permissions. That’s exactly how Group handles it.
- Group content
Basically anything you attach to the group can be fieldable. Another interesting thing about the relationship entity that sits between the group and the actual user/content is, that if you delete it from the Group interface, you are not deleting the content, but the linking entity instead, so the content (or user/entity/whatever) is left unchanged.
- Powerful
Every group type has their own group content types and every one of them has configurable permissions and fields.
Out of the box, Group integrates with Views, Rules, i18n, Title and I’m sure much more is coming. Built on top of Entity, API Group provides all of its benefits to developers.
And as conclusion:
There is no doubt that Group is here to take the place of OG. It has everything that OG provides plus all the things that were missing. All brought in a neat UI, where you can configure so much without being a coder.
The only downside of Group I can think of currently is the state of the module. It’s currently marked as alpha, but seeing the growing number of contributors and downloads can only mean the development speed is increasing. It’s also hard to expect finding a lot of answers online, because Group is a very young module. Nevertheless, given very good response rates on the module’s issue queues I would say that writing a ticket is your best bet if you need any help.
EDIT: Another god article to read is: Building Community Sites in Drupal 8: A Guide To D8 Modules For Community Support Sites