In this article we explain how we incorporate the group module in Open Social and how you can use it for your community.
Why groups are important for your Drupal community
Groups are at the center of any community, one could even say a community is the prime example of a group. Groups empowers you and your users to collaborate and communicate on mutual interests or topics.
So how can we get this to work in Drupal? Drupal ships only with permissions to let your users create, edit, delete or view all of the content from a certain content type. What if you want your users to be able create and view all content only for a subsection of the site. This is where the group module comes into place. The group module lets you set the rules for what is happening within a group, what group members are entitled to see and do but also what users outside the group can do with the content. So you can make it as open or closed as you want.
Some of the useful features group offers you:
- The creation of your own group types, where you can select what content can be created inside groups of that certain group type.
- Default group roles and permissions for anonymous users, members and outsider roles, so you can set the rules for everything group related.
- The ability to create new group roles, giving you more flexibility on what users can do within a group.
- Groups are entities, making them fully fieldable, extensible and exportable.
How we integrate groups in our distribution
The Open Social distribution comes with extra group configuration in place. Currently it will give you a group type called open group. This group type is configured so it covers the most common use case for your community. Users of your platform may join without any approval, and all content placed within this group is visible for members as well as for non members.
We also included a new group role: the group manager, this role is automatically assigned to the author of the group. This will give all the administrative permissions so they are able to administer the group, it’s members and it’s content.
All of the entities with user generated content within Open Social are also made available for creation. This ensures all members can create the content they want inside a group. With data ownership in mind, whenever a user leaves the group, they are still able to edit their own content.
We believe the open group type will cover the most common use cases for a social community. But since it’s a distribution, you are encouraged to configure the distribution to fit your needs.
Feel free to create your own group types, add your roles and permissions and make your own content types available for use to create the perfect social community.
The roadmap for Groups in Open Social
In every sprint our distribution improves. On our roadmap for groups you find the following features that will become available for you:
What this means for the members of the group, the content inside the group and the users who are not a member you can find in the following table:
Do you have any other specific scenario in mind? We would love to hear from you in the issue queue at https://www.drupal.org/project/issues/social/
Contributing to Open Social or Drupal
For us at Open Social working with open-source and Drupal especially is great. We innovate and build working software much faster thanks to community contributions. For example, the group module we talk about in this article is maintained by the great people at Deeson. Kristiaan Van den Eynde even updates us proactively on Twitter about upcoming group module releases ❤️. This really shows the power of the open-source community.
So how to go about contributing to Open Social and/ or Drupal in general? For Open Social a good starting point is the Open Social Documentation Guide. If you want a starting point for helping Drupal to grow you can find many different ways on the 'ways to get involved'-page on Drupal.org.