Drupal10本を執筆中なので、色々調べていたら、Standard ProfileでContent editorというロール(役割)が追加されているのに気がついた。ほとんどの管理サイトはD8時代からアップグレードで対応してきたので、このBlogサイトを含めContent editorロールは存在しない。
CMSは最初は匿名ユーザーと管理者の分類だけで十分だった。だから、Content Author=Content Editor=Administratorで問題なかったのだ。しかし、サイトの規模が大きくなると役割分担ができなければ維持できなくなる。Content editorは管理者権限のないコンテンツの編集権限を与えるということはどういうことかという探求の成果となっている。
もとをたどっていくと、Add new “Content Editor” role to Standard Profileという課題が今から3年以上前の2019年6月に提案されている。Drupal 9.3リリース前のことだ。Content editorの権限は、標準プロフィールに含まれる基本ページコンテンツと記事コンテンツの編集権限を与えつつユーザー管理機能などを持たない役割となっている。この役割を相応なユーザーに付与すれば知識不足でサイトを壊してしまう管理者機能を付与することなくコンテンツの管理を任せられる。
AcquiaのDrupal 9.3 の主な新機能で「新しい「Content Editor」ロールが登場」と紹介されている。
Drupalの標準(standard)プロフィールに、Content Editor(コンテンツ編集者)専用のロールが新たに加わりました。このロールは、コンテンツの編集、メディアの管理、翻訳、コンテンツワークフロー、リビジョン処理がデフォルトで有効化されています。
もちろん、自分で同様のロールを定義することは可能なのだが、権限問題は非常に難しいので、ベストプラクティスを標準プロフィールに加えるのは素晴らしいことだと思う。
設定されている権限を見てみると、例えば「基本ページ: 任意のコンテンツを編集」の権限はなく、編集者と言うよりは執筆者の権限に近いと感じる。一方で「URLエイリアスの管理」の権限が含まれている。また、「コンテンツ概要ページへアクセス」が含まれているので全体を見渡す権限は与えられているのがわかる。コンテンツを作る(だけの)人の必要十分な権限は何かを追求した結果になっているのがわかる。非常に興味深い。
別途書くが、GroupモジュールはDrupalの権限問題に革命的な変化をもたらしている。コンテンツの作成権限がなくてもグループコンテンツの作成権限を与えることができる。Content moderationを導入する時には、Content editorロールが参考になる。Content editorを見習って、Group content editorルールを作ると良く考えられた結果であることがわかってくる。標準プロフィールに書かれていなければ、自分で考えなければいけない。標準プロフィールはベストプラクティスなので、この辺りにDriesあるいはDrupal communityの力量を感じさせる。