1. Group モジュールとは?

Groupモジュールは、サイト内のコンテンツやユーザーを任意のグループ(集団)単位でまとめ、そのグループごとにアクセス権限を設定できるモジュールです。

Drupalの基本機能でも、コンテンツタイプごとに「閲覧」「作成」「編集」の権限を設定することは可能です。しかし、「すべてのコンテンツタイプを誰でも見られるようにするが、特定のグループに属するコンテンツだけアクセス制限をかけたい」というようなニーズには対応が困難です。

Groupモジュールを使えば、以下のような機能が実現可能です。
1. コミュニティ機能の提供
 サイトユーザーは、1つ以上のグループに所属することができます。
2. グループごとの権限管理
 グループに参加しているメンバーだけに公開されるコンテンツを作成したり、メンバーシップの種類に応じて権 限を調整できます。
3. メンバーシップ階層の設定
 各グループごとに、管理者(投稿作成可能)、一般メンバー(閲覧のみ)など、役割を分けることができます。

つまり、Groupモジュールを利用することで、各グループごとに独立したコンテンツ、メンバー、権限体系を構築でき、実際のコミュニティや組織、サークルのようにサイトを運営することが可能です。

2. Groupモジュールの設定手順

1) モジュールのインストール

Drupalのバージョンに応じて以下のコマンドでComposer経由でインストールします:
- Drupal 9.5〜10.2の場合:
composer require 'drupal/group:^1.6'

- Drupal 10.3〜11の場合:
composer require 'drupal/group:^3.3'

※ Composerを使えない方は、Drupal公式サイトからZIPファイルをダウンロードして手動でインストールしてください。

2) グループタイプの作成

Groupモジュールを有効化したら、グループボタンが上部のツールバーに表示されます。


まずは「グループタイプ」を作成します。
これは「どんな種類のグループを作成するか」を定義する設定です。
今回は例として「大学のポータルサイト」で各学部ことにグループを設定しようと思っています。

(1) グループ内役割(ロール)の作成

グループタイプごとに使用される 役割(ロール)を作成します。
(Group types → ロールを設定したいGroupの操作メニューをクリックし、グループの役割編集ボタンをクリック)


これは通常のDrupalロールとは異なり、「そのグループ内部」でのみ有効な役割です。
 



(2) 使用可能なコンテンツタイプの設定

グループ内で使用するコンテンツタイプ(例:記事、ページ、イベント)を設定する必要があります。
(Group types → ロールを設定したいGroupの操作メニューをクリックし、利用可能なコンテンツタイプの設定ボタンをクリック)
 

※「国際学部」グループで国際学部のコンテンツタイプをインストールすると、そのグループのメンバーはグループ内で国際学部コンテンツタイプを利用しコンテンツを作成することができます。



(3) ロールごとの権限設定

各ロールに対して、何ができるかを細かく設定します。
グループタイプごとに権限をそれぞれ設定することができます。
 

例:
・教授:コンテンツの作成が可能
・教職員:コンテンツの作成やメンバー管理が可能
・学生:コンテンツの閲覧のみ可能

 

3) グループ作成とメンバー管理

(1) グループの作成とメンバーの割り当て
グループタイプ作成後、実際に運用するグループ(例:英語英文、独文、中国語)を作成します。
グループ名や説明を入力し、保存します。


その後、メンバーを手動で追加したり、ユーザー自身が参加申請できるように設定することも可能です。
 

(2) メンバーの役割設定
各メンバーにロールを割り当てます。これにより、閲覧・投稿・編集・メンバー管理などの操作が制限されます。

 

3. Groupモジュールの設定による画面表示例

(1)教職員・教授の場合
→コンテンツ作成権限があるため、グループページ内にコンテンツ作成ボタンが出ています。
 



(2) 学生の場合
→閲覧権限しかないので、コンテンツ作成ボタンは表示されないです。
 


 (3)グループメンバー以外のユーザー
→グループページにアクセスができません。


 

まとめ

Groupモジュールを活用することで、Drupal標準のロールや権限管理だけでは実現が難しい、グループ単位での柔軟なアクセス制御やコンテンツ管理が可能になります。部署やプロジェクト、学部・学科ごとなど、実際の組織構造に合わせてグループを作成し、メンバーごとに異なる権限を割り当てることで、コミュニティサイトや会員制サイト、教育機関のポータルなど幅広い用途に対応できます。
また、グループごとに独立したコンテンツやメンバー管理ができるため、複数のサブサイトを作成する必要がなく、運用コストや管理の手間も大幅に削減できます。
今後、組織やコミュニティのニーズに応じて柔軟なサイト運営を目指す場合は、Groupモジュールの導入をぜひ検討してみてください。