Drupal 11で追加された新機能まとめ
モチヤスタッフ本記事はDrupal Advent Calendar 2024の16日目の記事です。
Drupal 11が2024年8月にリリースされました。
少し時間が経ってしまいましたが、今回の記事ではDrupal 11についてまとめます。
Drupal 10との違いや、新機能に興味のある方はぜひご覧ください。
Drupal 11の概要
https://new.drupal.org/about/11
Drupal 10のリリースが2022年12月だったため、約1年半でメジャーアップデートがきたことになります。
いままでのペースに比べると早く感じますが、最近のDrupalは後方互換を意識するようになっているため、アップデートに手間はかからなくなっています。
後ほど紹介するPHPやデータベースのバージョンアップが必要になるケースが多いですが、それさえ終わってしまえばDrupal 10から11へのバージョンアップはすぐに終わりそうです。
Drupal 11のシステム要件
「Overview | System requirements」ページにシステム要件がまとめられています。
Drupal 11では、PHPは8.3以上、データベースのバージョンもほぼ最新のものが必要になります。
要件 | Drupal 10 | Drupal 11 |
---|---|---|
ウェブサーバー | Apache 2.4.7以上 Nginx 1.1以上 IIS 5以上 |
Apache 2.4.7以上 Nginx 1.1以上 |
PHPバージョン | PHP 8.1以上 (8.1.6以上が推奨) |
PHP 8.3以上 ・Drupal 11.0はPHP 8.3のみ ・Drupal 11.1はPHP 8.4も対応 |
データベース | MySQL 5.7.8以上 MariaDB 10.3.7以上 Percona Server 5.7.8以上 PostgreSQL 12以上 SQLite 3.26以上 |
MySQL 8.0以上 MariaDB 10.6以上 Percona Server 8.0以上 PostgreSQL 16以上 SQLite 3.45以上 |
また、Microsoft IISのサポートがDrupal 11から打ち切られています。
Drupal 10.3にも新機能は追加されている
Drupal 11に追加される機能のほとんどは、Drupal 10.3にも追加されています。
そのため、Drupal 10.3にアップデートすれば、Drupal 11との違いはPHPやデータベースの必要バージョンが上がることくらいになります。
過去バージョンのサポート状況
Drupal 7は2025年1月5日にサポート終了予定、Drupal 8、Drupal 9は既にサポートが終了済みです。
何度もDrupal 7のサポート期限は延長されてきましたが、いよいよ期限が迫っています。
参考:【2023年6月最新】Drupal 7のサポート期限が2025年1月5日までさらに延長されました
Drupal 7からの移行には、アップグレードではなく完全な移行作業(マイグレート)が必要になるため、大がかりな対応が必要になります。
Drupal 10に関しては2026年中旬までサポートされる予定なので、すぐにアップデートが必要というわけではありません。
Drupal 11の特徴的な新機能
ここからはDrupal 11で追加された機能について紹介します。
パフォーマンスの向上やキャッシュ改善、セキュリティ機能の強化など細かい部分も含めると多くなってしまうため、特徴的な機能をピックアップします。
レシピ機能によるサイト構築の効率化
新たにレシピ機能(Recipes)が追加されました。
「サイトや機能のレシピ」だと考えると、イメージしやすいかもしれません。
サイトの基本設定、ユーザー設定、コンテンツタイプなどを定義したもので、そのレシピを指定すると、Drupal側でレシピに沿ったサイトや機能を構築してくれます。
インフラの世界では「IaC(Infrastructure as Code)」という考え方があります。
大量のサーバー設定をすべて手動で行うと時間がかかりますし、手作業による抜け漏れなどのミスの恐れもあります。
サーバー設定をコードにし、それを実行すればサーバー構築が完了するようにしておけば、時間もかからず人的ミスも防げます。
レシピ機能は、まさにこのIaCに近いものを感じました。
必要な機能を持ったサイトを短時間で構築できるようになりますし、同じレシピを使えば、同じ環境をミスなく構築できます。
シングルディレクトリコンポーネント(SDC)によるUIコンポーネントの作成
Drupal10.1から試験的モジュールに追加されていた「Single Directory Components(SDC)」が安定版になりました。
最近のフロントエンド開発では、UI要素を「コンポーネント」という単位で管理し、それらを配置してページを作成していくことが主流です。
そしてそのコンポーネントを構成するファイル(Twigテンプレート・CSS・JavaScript)を1つのフォルダにまとめて管理できるようにするのがSDCです。
具体的に、ボタンコンポーネントの場合は下記のようなフォルダ構成になります。
こうすることで、ボタンコンポーネントに関する処理や見た目を修正したい場合は「button」フォルダ内のファイルを確認して修正すればいいことが分かりやすくなります。
Workspacesによるステージング環境と本番環境の簡単切り替え
「Workspaces」がコアモジュールとして追加されました。
よく開発現場では「本番環境」「ステージング環境」「テスト環境」のように、複数の環境を用意し、段階的に変更を反映して確認を行います。
本来、これらの環境は別々のDrupalを用意しますが、Workspacesを使うと1つのDrupalで管理できるようになります。
「Workspaces」モジュールを有効化すると、管理画面に新たに「ライブ」と書かれた緑色のボタンが追加されます。
クリックすると他のワークスペースが表示されるので、ここから簡単に切り替えができるようになります。
デフォルトでは「ライブ(本番環境)」と「Stage(ステージング環境)」の2つが用意されていて、追加も簡単にできます。
複数のDrupalを用意する必要がなくなるだけでなく、技術に詳しくないユーザーも管理画面から簡単に確認作業ができるようになります。
New access policy APIによるさらに細かい権限管理
Drupalは役割(Role)ごとに細かく権限を設定できる点が特徴でした。
それに加えて、Drupal 11からは「New access policy API」によるドメインや時間・現在のユーザーのフィールド値(コンテキスト条件)による権限設定も可能になります。
- 「.jp」サイトは日本語サイト担当者のみ、「.en」サイトは英語サイト担当者のみ権限を付与する
- 夜間は作業が不可になるように日中のみ権限を付与する
このように今まで以上に細かい管理ができます。
他にも、無制限のサイトアクセスができたスーパーユーザー権限のアカウントを無効にする機能も追加されました。
タクソノミーにもリビジョンが追加
いままでタクソノミーにはリビジョンが設定できませんでしたが、Drupal 11からはリビジョンの作成ができるようになりました。
ログメッセージを残すことで修正内容のメモを残し、[リビジョン]タブで履歴管理ができます。
管理画面メニューの刷新
まだ試験段階なので正式にコアモジュールに含まれているわけではありませんが、「Navigation」と「Navigation Top Bar」という2つのモジュールを有効化すると、管理画面メニューが大きく変わります。
Drupalの管理画面はサイト上部に表示されていましたが、これがサイドバーに変化し、見た目も今っぽいデザインになっています。
左下のアイコンをクリックすることで開閉も可能です。
コアモジュールから削除されたモジュール
Drupal coreを小さくし、メンテナンスの負担を軽減するために下記のモジュールがコアモジュールから外されました。
- Actions UI
- Book
- Tracker
- Forum
- Statistics
- Tour
インストールすれば今まで通り使用可能なので、必要に応じてインストールしましょう。
まとめ
Drupal 11で追加された「レシピ機能」「シングルディレクトリコンポーネント」「Workspaces」は、Drupalの開発や保守管理が大きく変わる機能だと思います。
今回追加された機能以外にも、「Drupal.org Roadmap」を確認すると、今後実装予定の便利そうな機能が確認できます。
これらの機能も心待ちにしつつ、新しい機能をうまく使いこなして、効率的な開発・管理を行いましょう!
モチヤスタッフ
Drupalなど技術に関する投稿をモチヤのスタッフが行っています。