Group 2.0.0-beta1 and 3.0.0-beta1 have recently been released, which boasts exciting new features and one of the notable changes was sponsored by ANNAI (as of 01/2023, the latest releases are 2.0.0-beta6 and 3.0.0-beta6 respectively). The reasons why two new versions were released, rather than one, are described below.
About the Group module
The Group module allows site admins to implement fine-grained, complex access control which is difficult to realise with Drupal core’s roles/permissions features. For example, with the Group module, you can create a group for each department of your organisation and only allow members of each department to access pages within the corresponding group.
The group module is developed and maintained by Kristiaan van Den Eynde, who is a senior developer at Factorial.
What’s new in Group 2 and 3?
There is a long list of improvements and new features in Group 2 and 3, as described in the release notes (2.0.0-beta1 / 3.0.0-beta1). The feature that has been sponsored by ANNAI allows developers to group configuration entities. Concretely, with Group 2/3, you can now control users’ access to, for example, Webform forms and their settings. This was not possible with Group version 1 because Webform forms are not content entities, but config entities. While you can still manage users’ access to Webform forms using the core’s roles/permissions, it is a real challenge to have granular access control in place.
The feature to manage config entities was first requested in 2016 and various attempts had been made. With Kristiaan’s hard work , the feature was finally realised.
As mentioned above, this new feature is a set of APIs and comes with no GUI. As such, it can only be utilised by developers.
What are the differences between 2.0.0 and 3.0.0?
The two versions are identical in terms of their functionalities. Then why are there two versions? Here’s why: 2.0.0 is for users who are upgrading from 8.x-1.x whereas 3.0.0 is for users who are introducing the Group module to their web application for the first time.
As shown in the table in the release note of 3.0.0-beta1, the differences between 2.0.0 and 3.0.0 are the machine names of entity types. After the change that made handling of config entities possible was introduced, the machine name `group_content` became semantically incorrect, which could cause confusions for developers. However, changing the machine name will cause incompatibility, as the machine name may be found in the database (or possibly in some custom code). 2.0.0 has been prepared in order to prevent issues that the incompatibility may cause.
If you are upgrading from 8.x-1.x to 2.0.0, you need to update all the machine names in your custom code (and wait for contrib modules that extend the Group module to do the same, if you are using any of such modules) before you can safely upgrade to 3.0.0.
By the way, the jestful subtitles of release notes by Kristiaan always make me laugh. I’d highly recommend you to check them out. Below are my favourite:
8.x-1.0-rc5
The "It's 4PM on a Friday night right before I go on a 2-week Xmas vacation, what could possibly go wrong?" release
8.x-1.0
The "I can't believe it's finally here, what will I do with my life now?" release.
Summary
The Group module allows site admins to have granular access control in place, which are difficult to realise with the core’s roles/permissions feature. One of the new features that was introduced in the 2.0.0 and 3.0.0 releases allows developers to group config entities. While 2.0.0 and 3.0.0 are functionally identical, if you are upgrading from 8.x-1.x, you need to first upgrade to 2.0.0. Otherwise you are safe to install 3.0.0.
関連コンテンツ
- Functional overview of jGrants - The grant application and management system for the Ministry of Economy, Trade and Industry of Japan
- jGrants and d-Gov
- jGrants: Grant application and management system for the Ministry of Economy, Trade and Industry of Japan
- Sponsoring the Group and Subgroup module development
Drupal 初心者講座バックナンバー
- Drupal 9/10 初心者講座
- 第 1 回 歴史に見る Drupal の DNA
- 第 2 回 Drupal はフレームワークか?CMS か?他の CMS との比較
- 第 3 回 Drupal の特徴
- 第 4 回 Drupal 9 / 10 のインストール (1)
- 第 5 回 Drupal 9 / 10 のインストール (2)
- 第 6 回 Drupal にコンテンツを投稿してみる
- 第 7 回 Drupal のボキャブラリとタクソノミーの使い方
- 第 8 回 コンテンツ管理における Drupal と他の CMS との比較
- 第 9 回 Drupal のブロックシステム
- 第 10 回 Drupal の標準クエリビルダー Views の使い方
- 第 11 回 Drupal と他の CMS のクエリビルダー機能を比較
- 第 12 回 Drupal の多言語機能と他の CMS やサービスとの比較
- 第 13 回 Drupal の権限設定と WordPress や Movable Type との比較
- 第 14 回 Drupal のテーマシステムについて
- 第 15 回 Drupal の拡張モジュールの選定と使い方
- 第 16 回 Drupal をもっと知りたい方に向けた各種情報