We collaborated with Factorial, the web agency based in Germany, to develop the Subgroup module, which allows the Group module* to handle hierarchies. In the process, we also sponsored the able release of the Group module, which has been in development for several years.
The actual development effort was undertaken out by Kristiaan van Den Eynde, the maintainer of the Group module.
*The Group module allows Drupal site administrators to configure complex access controls which cannot be realised with the roles and permissions features of the Drupal core.
Developing the Subgroup module
At the beginning of the project, we didn't only communicate the requirements to the developer, but also the reasons we needed the feature and the problems the system needs to solve so the requirements can be adequately reflected on the architecture.
From the beginning of the project, our intention was to make the deliverable open-source; therefore, the solution needed to be highly generic. At times we had to make a difficult decision to drop some features which were peculiar to our needs.
The project was managed in an agile method. Each story was given a priority and we started with the essential features.
API-driven, with a wide test coverage
Often Drupal modules have processes that are form-dependent, which cause issues when writing tests, as well as making the features available via API. The Subgroup module was built with the API-first approach to maintaining a clean separation of the form and the functionality. This allowed the developer to easily write unit tests and detect regressions whenever erroneous code was added.
How the Group module help make Drupal better
The Group module is indispensable for building sites with a large number of users with complex access control, such as enterprises and universities. Such access checks require enormous calculations and caching of the results of the calculation is essential for the site's performance. The Group module's maintainer Kristiaan noticed that Drupal core's caching mechanism was not efficient so built the VariationCache module that replaces the entire caching mechanism of Drupal core, which he did a presentation on at Drupalcon Amsterdam 2019. This has been highly regarded by core contributors and is expected to eventually replace the core's caching system.
If you are interested in reading about this endeavour from Kristiaan's perspective, here's the link to his blog post: https://www.factorial.io/en/blog/group-finally-released-look-past-and-f…
- Drupal 9 初心者講座について
- 第 1 回 歴史に見る Drupal の DNA
- 第 2 回 Drupal はフレームワークか？CMS か？他の CMS との比較
- 第 3 回 Drupal の特徴
- 第 4 回 Drupal 9 のインストール (1)
- 第 5 回 Drupal 9 のインストール (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 をもっと知りたい方に向けた各種情報