Drupal 9のEOLに向けて
Collection :
あなたのDrupal 9は既にセキュリティサポートが終了しているかも
Drupal 9を使用している場合、11月の最終的な終了に対処する必要があるだけ、という一般的な誤解をまず初めに解きたいと思います。Drupalプロジェクトは、Drupal 9.0、9.1、9.2など、6ヶ月ごとに新しいマイナーバージョンがリリースされます。Drupal 9は2023年11月までサポートされると謳われておりますが、9.X全てのマイナーバージョンがサポートされるわけではありません。詳しくは https://www.drupal.org/about/core/policies/core-release-cycles/schedule をご覧ください。
12ヶ月以上前にリリースされたDrupalのマイナーバージョンを使用している場合、メジャーバージョンがまだ終了し地なくても、セキュリティサポートは終了しています。できるだけ早く最新のマイナーバージョンに更新することを検討してください。
具体的には、この記事を書いている現在(2023年2月)、Drupal 9.4と9.5がまだサポートされていますが、それ以前のマイナーバージョンにはセキュリティ修正は既にありません。6月にDrupal 10.1がリリースされると、9.4のセキュリティサポートが終了します。つまり、Drupal 9サポートの最後の4ヶ月は、9.5シリーズのみをカバーすることになります。
Drupal 9がなぜ2023年11月にサポート終了するのか
セキュリティサポートされるバージョンを合理的な数に保つため、マイナーバージョンは12ヶ月ごとにセキュリティサポートが終了しますが、Drupal 9全体の終了時期は異なります。これは、Drupal 9の2つの主要な依存関係であるSymfony 4とCKEdirot 4によって決定されます。この両方は、近々EOLを迎えます。どちらもDrupal 9でメンテナンスすることは不可能なので、ユーザーはDrupal 10に移行する必要があります。
Drupalのメジャーバージョンアップグレードを支えるツール
心配ご無用。Drupalコミュニティは、これらの移行を支援するためのプロセスやツールを開発しました。順を追って紹介します。
まず初めに、Upgrade Statusを使用してDrupal 9サイトの状況評価を取得します。視覚的なレポートにより、コントリビュートプロジェクト、カスタムコード、サイト環境そのものに必要な次の手順を知ることができます。
アクイアは、コントリビュートを含む全てのDrupalプロジェクトのDrupal 10への対応状況データを表示するダッシュボードサイトを運営しています。アップグレードのプロセスでこのダッシュボードが必要になる場面はないかも知れませんが、エコシステムの優れた準備状況を示しています。執筆現在、上位1,000プロジェクトの70%が既に互換性があります。これはDrupal 10のリリースからわずか3ヶ月後での出来事です。まだDrupal 10への準備が整っていないプロジェクトには、互換性パッチがissueキューで待機しています。これらのプロジェクトは、Composerの「composer-drupal-lenient」プラグインを使って更新できます。
Upgrade Statusが提案する重要なツールがあります。それはDrupal Rectorです。これは、更新されたAPI呼び出しを生成するために構築された様々なパターンにより、カスタムコードの互換性修正を自動化してくれます。
CKEditor 4と、その他の削除されたモジュール
上記で述べた通り、CKEditor 4はDrupal 9にて非推奨プロセスを経て、Drupal 10で削除されました。Aggregator、QuickEdit、HAL、Color、RDFも同じく削除されました。Upgrade Statusは、これらについてどうすべきかを決定するための指針となります。各モジュールはdrupal.orgのコントリビュートプロジェクトに移動しました。特にCKEditor 4については、セキュリティサポートが提供されなくなるため、お勧めしません。
削除されたモジュールのほとんどに代替機能は追加されませんでしたが、1つの例外として、新しいCKEditor 5モジュールが既にDrupal 9に追加され、アップグレードをサポートしています。これには、既存のテキストフォーマットを新しいエディタに切り替えた時に変換するビルドインプロセスが含まれています。ただし、CKEditorプラグインを提供しているコントリビュートプロジェクトのバージョンも、CKEditor 5をサポートするリリースに更新する必要があります。
削除されたテーマ
Bartik、Seven、Classy、StableがDrupal 10で削除されました。
BartikはDrupal 9までのデフォルトテーマ、そしてSevenも同じくデフォルト管理画面でした。Drupal 9の途中の段階から、初期インストールされたサイトではフロントエンドがOlivero、管理画面がClaroに移行しました。通常、フロントエンドのテーマよりもバックエンドのテーマを変更する方が簡単ですが、Bartikを使用している場合、あまりカスタマイズしていない可能性が高いです。いずれにせよ、両方を考慮する必要があります。
もし、現在使用しているテーマがこれらに依存しているのであれば、starterkitテーマの採用を検討して、今後の安定したコードベースを確保するためにstarter kit theme generatorを使用するべきです。
今から開始できます
テーマ、エディタを含め、Drupal 9で削除されたコンポーネントの代替となる可能性のあるものについて決定する必要があります。Drupal 9の新しいバージョンに更新してセキュリティサポートを維持しながら、Drupal 10に対応できるようにサイト構築を段階的に変化させてください。最後に残るのは、Drupal 10へのアップデートだけです。そこですぐにお会いしましょう!
元記事:What to do about Drupal 9's end of life in November 2023