Oct 18, 2017からサンフランシスコで開催されている BADCAMP 2017 続編です。
Drupal 9 and Backward Compatibility: Why Now is the Time to Upgrade to Drupal 8
セッションの内容
Drupalは優れた拡張性を持ち、素晴らしいコミュニティに支えられ、最新の技術を取り込んだ素晴らしいオープンソースです。Drupal 8では、VIews in Core, より進化した多言語対応, HTML5のサポートなど、多くの機能がコアに取り込まれました。ソースコードは完全にオブジェクト指向になり、Composerによる依存の管理やSymfonyやTwigなど広く使われているライブラリの採用により、開発者に大きなメリットをもたらしています。
多くの企業がDrupal 8を採用し始めており、NBA、NASDAQなど非常に大きなサイトでもすでに実績があります。
コントリビュートモジュールのエコシステムも成熟しつつあり、1400以上のモジュールの安定板が公開され、4000以上のモジュールが開発中です。安定板のモジュールはここ1年で2倍以上に増えています。
Drupal 8からはセマンティックバージョンが採用されました。これにより将来的に追加される機能やマイルストーンが明確になり、Experimental Moduleとして安定板になる前にコアに含めてリリースすることで、新しい機能を正式にリリースされる前に試せるようになっています。
また、このように段階的に機能を追加しながらリリースしていくことで、将来的に8.xの最終バージョンから9.0にアップデートする際にも、ユーザーは通常のマイナーアップデート (0.1単位のアップデート)と同じような感覚でバージョンアップすることができます。
最新のDrupal情報を追いかけるためのリソース
次のマイナーアップデートであるDrupal 8.5.0のロードマップは以下のリンクでチェックできます。
多くの人が恩恵を受けそうなものとしてはLayout機能の拡張かと思います。PanelsやDSが不要になる時代が将来的に来るかもしれませんが、まだ動き始めたばかりなので当面はExperimentalで出てくるのではないかと思います。開発者としてはAPI Firstや、Javascript Frameworkに何を採用するのかといったところが気になるポイントです。
Drupal 9に関する最新の情報や、Drupal 8の各バージョンの変更点、後方互換性などについては以下のリソースで参照できます。
- [policy, no patch] Pre-requisites for opening Drupal 9
- Drupal core release cycle: major, minor, and patch releases
- Change records for Drupal core
- Drupal 8 backwards compatibility and internal API policy
- Backward compatibility for data, not code
- Releases for Drupal core
まだ、Drupal 8へのポーティングが完了していない多くのモジュールがあります。Drupal 8へのポーティングに貢献したい方は、以下のリンクでissueの一覧が見えますので、ぜひ参加してみてください。
Drupal 8 Contrib Porting Tracker
Drupal 6/7からDrupal 8への移行については以下のリンクに情報がまとまっています。
Upgrading from Drupal 6 or 7 to Drupal 8
まとめ
最新のDrupal 8/9の状況や、関連リソースの紹介がまとまった良いセッションだったと思います。
重要なポイントは、「後方互換性(Backward Compatibility)を保つ」というポリシーの対象は「コンテンツ」であって「コード」ではないということです。現在稼働しているDrupal 7のサイトを慌ててDrupal 8に移行しなければいけないという状況ではありません。しかし、大規模なサイトや複雑なシステムをDrupal 7で構築している場合、予め既存のサイトを極力モジュールやカスタマイズしたコードを使わないようにシンプルに変更したり、利用中のモジュールがDrupal 8に対応しているかの確認するなど、少しずつアップデートの準備を進めていくのがいいでしょう。
関連コンテンツ
- Drupal 導入前に必ず考えたい「保守」のこと
- Mass.gov: 市民中心の最高のウェブサイトを Drupal で実現
- Drupal Core の脆弱性について (SA-CORE-2021-011)
- Drupal Core の脆弱性について (SA-CORE-2021-010)
- Drupal Core の脆弱性について (SA-CORE-2021-009)
- Drupal Core の脆弱性について (SA-CORE-2021-008)
- Drupal Core の脆弱性について (SA-CORE-2021-007)
- Drupal Core の脆弱性について (SA-CORE-2021-006)
- Headless CMS というトレンドに Drupal は適応している!?
- Drupal Core の脆弱性について (SA-CORE-2021-005)
Drupal 初心者講座バックナンバー
- Drupal 9/10 初心者講座
- 第 1 回 歴史に見る Drupal の DNA
- 第 2 回 Drupal はフレームワークか?CMS か?他の CMS との比較
- 第 3 回 Drupal の特徴
- 第 4 回 Drupal 9 / 10 のインストール (1)
- 第 5 回 Drupal 9 / 10 のインストール (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 をもっと知りたい方に向けた各種情報