Drupal 9.3 の主な新機能
Collection :
Drupal Advent Calendar 2021 の16日目を担当します。
オープンソースCMS Drupal の最新バージョン Drupal 9.3.0 が2021年12月8日に公開されました。そこで追加された主な新機能をご紹介します。
Drupal 9.3 の新機能
Drupalの新しいフロントテーマ「Olivero」が安定版に
Drupalの新しいデフォルトテーマ「Olivero」は、Drupal 9.1.0で試験的な立ち位置(Experimental)としてコアに追加され、Drupal 9.3.0 で安定版になりました。Drupal 10以降に、現在のデフォルトテーマ「Bartik」からOliveroに切り替わる予定です。なお、現在のところ、Oliveroをサブテーマとして利用することはサポートされていないようです。
CKEditor 5が試験的モジュールとしてコアに追加
CKEditorとは、WYSIWYGエディタの一種であり、DrupalではデフォルトでこのCKEditorが利用できるようになっています。Drupal 9.3の時点では、CKEditor 4が正式サポートされています。このCKEditorをバージョン5に上げることは、「Drupal 10 Readiness」イニシアチブの一つとして着手されており、Drupal 9.3でCKEditor 5が試験的モジュールとしてコアに追加されました。
CKEditorを開発するCKSource社との共同作業により、GHS(General HTML Support)やCKEditorプラグインの動的ロードと言ったDrupalサイトに欠かせない機能が実装され、ウェブ上でのセットアップが引き続き利用可能できるようになりました。また、CKEditor 4からのアップグレードもスムーズに行えるように配慮されています。
CKEditor 4と統合するDrupalの拡張機能はCKEditor 5にアップデートが必要です。Drupal 10のリリースと同時にCKEditor 4のサポートが廃止される予定なので、今回リリースされたCKEditor 5のモジュールを非本番環境でお試しされることを推奨します。CKEditor 5モジュールの有効化の方法はこちらの記事をご参照ください。
新しい「Content Editor」ロールが登場
Drupalの標準(standard)プロフィールに、Content Editor(コンテンツ編集者)専用のロールが新たに加わりました。このロールは、コンテンツの編集、メディアの管理、翻訳、コンテンツワークフロー、リビジョン処理がデフォルトで有効化されています。
開発者のための様々な改善
エンティティバンドルは、必要なビジネスロジックをカプセル化した独自のクラスを宣言可能になりました。バンドルクラスは \Drupal\node\Entity\Node のようにベースとなるエンティティのクラスのサブクラスである必要があります。各バンドルに必要な全てのロジックをサブクラスにカプセル化することで、明確でシンプルで、保守性とテスト性に優れたコードを作成できる可能性が広がります。
各ユーザーロールは、ロールの権限を提供するモジュールに依存するようになりました。モジュールをアンインストールする際に、権限が自動的にクリーンアップされます。
Drupal 9.3.0 で PHP 8.1 が完全にサポートされるようになりました。Drupal 9.3.0 をインストールする際に推奨されるPHPはPHP 8.0以降ですが、PHP 7.3以上のサポートは維持されます。なお、Drupal 10ではPHP8.0が必須になる予定です。
まとめ
次期メジャーバージョンであるDrupal 10は2022年6月から11月の間にリリースされる予定です。
ウェビナー動画では、上記の新機能のデモをご紹介しています。こちらも合わせてご覧ください。
参考資料