For non-Japanese speakers

All the articles and content on this website are written in Japanese. If you would like to read them in a different language, please use the translation function on your browser. You may not be able to understand the finer points of the text, but you should be able to get the general idea.

DrupalのUpDate 2024/09/11

先日Drupa 10.3.2  > 10.3.3 のUpDateをしたのですが、あまり日を置かず10.3.3  > 10.3.4の案内が来ていたので早速アップデートをしました。さらに日を置かず1日後に10.3.4  > 10.3.5のアップデートが来たので、急を要求する内容と考え、内容を確認するとバグフィックスによるアップデートのようなので、どのような内容かをもう少し詳しく確認してみます。

[Releace Note]

This release reverts #3471741: Fix null $cid in CacheCollector classes, released in 10.3.4, which conflicted with Menu Trail by Path, Entity Manager and Gin Toolbar modules.

------------訳------------

このリリースは、Menu Trail by Path、Entity Manager、およびGin Toolbarモジュールと競合するため、10.3.4でリリースされた#3471741の修正(CacheCollectorクラスでのnull $cidの修正)を元に戻します。

10.3.5の変更内容

DrupalCore 10.3.4のUpDateで変更したcidの初期化処理を元に戻しています。具体的な内容を確認するためGitlabに記載されている10.3.5で変更されたコードを確認します。

  • core/lib/Drupal/Core/Asset/LibraryDiscoveryCollector.php
  • core/lib/Drupal/Core/Menu/MenuActiveTrail.php

の初期化処理を元に戻す変更になっています。

コードの内容を以下のアコーディオンメニューにまとめて見ます。

10.3.4で行っていたCasheCollectorクラスの修正を元に戻しています。

そもそも私自身がCacheCollectorは何をしている機能かを理解していないのでどのような機能かを調べてみます。

CacheCollector

CacheCollectorクラスは、キャッシュの収集と管理を行うための基盤を提供します。このクラスを使用することで、キャッシュの読み取り、書き込み、削除などの操作を効率的に行うことができます。

Drupalのキャッシュ機能の優秀さは、レンダリングの項で認識しています。キャッシュ機能のアップデートと、アップデート時に生じたエラーの修正と認識する事で、今回のアップデートの目的が見えて来ます。

Drupalのキャッシュ機能において実際に機能する依存性を持った各項目などは理解できていませんが、アップデートにおいてCacheCollectorクラスというものがあるという事を知っただけでも今回、調べてみた価値はあります。

今回の変更

ここで読み込み時にcidの初期化処理を追加したことで、Menu Trail by Path、Entity Manager、およびGin Toolbarモジュールと競合しています。cidの初期化処理を削除し特定の条件下でキャッシュが正しくクリアされない問題が修正されます。

アップデート

今回、初めて、https://www.drupal.org/project/drupal/issues/(Opens in a new tab/window)だけでなくGitlabのhttps://git.drupalcode.org/issue/(Opens in a new tab/window)に記載されている修正内容を見て、アップデートが何を行っているのかを見てみました。私自身が開発者でないので、DrupalCoreのアップデートでどのようなコードの変更がなされているのかを考えた事がなかったのですが、変更内容と変更したコードを見てみる事で、アップデートが何を目的としているかを理解することが出来ます。

コード変更による、具体的な処理と、場合によっては不具合が出てしまうもの、その修正といった開発者の方の行っているプロセスを確認することで、利用しているDrupalの進化を理解する事につながるので、面倒と考えず、今後、アップデートの通知が来たら、内容を確認するようにしようと考えています。

内容が理解出来たのでアップデート10.3.3 > 10.3.4 / 10.3.4 > 10.3.5を行いました。

参照

// Issue #3471741 Fix null $cid in CacheCollector classesで問題が提案され決議されている内容を参考にしています。10.3でコミットされているコードを参考に記事を書いています。

おわりに

今回、DrupalCoreのアップデートの案内が10.3.3 > 10.3.4 > 10.3.5と日を置かずに来たことで、何か急を要する重要なアップデートではないかと考え、内容の確認をしてみました。詳細を確認するために初めてGitlabのコードを確認しましたが、変更となったコードの処理に関わる内容を理解出来なくても、何を目的としてコードの変更がされているかの理解には繋がっています。

Drupalに限らず、オープンソースに関わるソフトウエアは、昨今Git化されていてコードを見る事が出来ますので、面倒と思わず、目を通す習慣を持つと、自身で開発はしなくても、ソフトを使用する上での理解度が上がり、より深く使いこなせる事につながって行きますので今後、なるべく確認しようと考えています。

CMSとしてDrupalを利用する目的であれば、DrupalCoreに関わるアップデートの詳細は理解していなくても問題なく利用出来ます。私自身もそのスタンスでいましたが、アップデートの内容を理解する事で、利用する上での知識を深められる事がわかった出来事になっています。

本来、CivicThemeでWEBサイトを構築していく記事をまとめる途中での出来事で、私自身のDrupalの理解が少し深まった記事として取り上げています。

10.3.3 > 10.3.4 > 10.3.5の内容を確認してみると、今回の10.3.5の内容がより理解できるので機会があれば、確認してみます。

DrupalCore UpDateの続き

今回、DrupalCore10.3.5のアップデートを行い、アップデートの内容を初めて確認しました。今回のUpDateの目的がバグフィックスであり、10.3.3 > 10.3.4 > 10.3.5となる理由を調べることで、元になる10.3.3で行ったアップデートの内容と10.3.4での変更と10.3.4の変更を元に戻した今回の10.3.5といった変更の流れが理解出来ます。事項でこの辺りを記事にまとめられればと考えています。

Drupalの記事

関連するDrupalでWEBサイトを構築する為の環境構築の記事やDrupalについて書いた記事になります。

記事は全てナンバリングしています。Drupalを初めて使う為の準備から始まる最初の記事から読む事もできます。

環境構築

DrupalやCivic Themeの設定やインストール、Local環境の構築やサーバーへのインストールなど環境構築やエラーの対応に関わる記事をまとめています。
  • Drupal記事まとめ
  • 環境構築

Drupal記事

Drupalについて記事を書いています。このWEBサイトを構築していく上でのトピックになります。プログラミングやソースコードなどエンジニア的な記事ではなく、プログラミング経験がない個人がDrupalでパーソナルなWEBサイトを構築するという観点での記事になります。
  • Drupal記事まとめ

最新の記事

Drupalについて書いた最新の記事になります。

#D35 Thanks for technical advice.

当サイトをご覧いただいた方から、リダイレクトエラーについての技術的なアドバイスをいただきました。わかりやすい解説をいただき、エラーの解決ができましたので記事にしています。
  • 雑感
  • Drupalの記事

#D34 Colour Generator Problem

Drupal10.4.xに更新以降、Civic Themeのカラージェネレーターが効かなくなりデフォルトの配色での公開となっていましたが修正パッチが配布されていたので試してみました。
  • Civic Theme
  • Drupalの記事

#D33 Drupal ドキュメントルートの設定

Xserverビジネススタンダードにはドキュメントルートの簡易設定しかないのでDrupalのプライマリードメインの設定は.htaccessの設定をする必要があります。
  • 環境構築
  • Drupalの記事

#D32 Drupal 10.4.0

Drupal Coreが10.3xから10.4xにアップデートされましたので当サイトも早速アップデートします。
  • Civic Theme
  • Drupalの記事

Life Styleの記事

Drupalとは関係ないのですがLife Styleの記事も書いていますのでよろしければ購読ください。

Life Style記事

ライフスタイルの記事になります。Drupalに触れる目的でこのWEBサイトを立ち上げています。元はWord Pressで作成した記事をこちらのWEBサイトに再構築しています。Word Pressも学習目的で利用したのですが記事をしっかり作る事を目的としていたので、テーマに興味があればそれなりに楽しめると思います。
  • Life Style記事まとめ
  • Drupalの記事
  • 環境構築