Drupal Coreが10.3.10から10.4.0にアップデートされました。アップデートの通知を確認し早速アップデートを行いましたが、今回はいつものようにトラブルなくスムーズに更新とはいかずエラー処理とリカバリーに苦戦しながらの更新となりました。
今回アップデートがスムーズに進まなかった理由を書き出して見ます。
- PHPメモリ制限の設定不備に起因する不完全なアップデートの処理
- Bootstrap5が読み込み出来ない事によるHTTP ERROR 500
- EntityとField定義の不一致による翻訳のエラー
大きく3つの問題がありそれぞれ原因を特定しながら対応しました。根本はPHPメモリ不足による不完全なアップデート処理によるエラーが元凶にあると考えていますが、10.3xから10.4へのコアプログラムに関わる依存関係なども影響しているかもしれません。
”余談ですが、Drupal-CMSのリリースが控えており11.1.Xから対応します。10.4.Xも11.1.Xへのアップデートを視野に入れている為、テーマやモジュールの対応が遅れていることも原因の一つではないかと考えています。”
PHPメモリ制限のメモリ不足による不完全なアップデートと設定ファイルの不具合に対して以下の対応を行なっています。
Drupal Core 10.4.0のアップデートで生じた問題点
- PHPメモリ制限が256MBとなっていた。
- composer updateでタイムアウト
- PHPメモリ制限を1024MBに変更
- 再度アップデート
- インストールが行われない
- インストールされない原因の特定
- Composer上は10.4.0のインストール完了
- Drushと管理画面上は10.3.10と表示
- 原因の特定
- composer.lockが上手く更新されていない
- composer.lockの更新
- drupal/coreが最新版に書きかわらない問題
- drupal/coreの再構築
- アップデート完了
Drupal Coreのアップデートは無事完了したのですが、HTTP ERROR 500が表示されてしまい公開ページの表示や管理画面へのログインも出来なくなってしまいました。Bootstrapが正しく読み込めていない事が原因ですがvenderディレクトリの依存関係が破損していたり古いファイルの参照などを行なっている可能性があるのでvenderファイルの修復を行う事で対応しています。
アップデート完了後のエラー
- HTTP ERROR 500が表示されページが表示されない。
- autoload.php が見つからないことが原因で Fatal Error が発生
- vendor ディレクトリを完全に再生成することで対応
公開ページの表示は表示は無事修復されましたが翻訳に関わるエンティティやフィールドの定義が不一致とのエラーが出てしまいます。venderディレクトリの修復でエンティティやフィールドの不一致が生じたと考えられるのでエンティティの更新を行う事で対応しています。
表示されたエラー
- エンティティー・フィールド定義
エンティティやフィールドの定義が不一致
エンティティー・タイプおよびフィールドの定義で、次の変更が検出されました。 - カスタムメニューリンク
翻訳ソース フィールドをアンインストールする必要があります。
翻訳期限切れ フィールドをアンインストールする必要があります。
翻訳投稿者 フィールドをアンインストールする必要があります。
翻訳ステータス フィールドをアンインストールする必要があります。
翻訳作成日時 フィールドをアンインストールする必要があります。 - コンテンツ
翻訳ソース フィールドをアンインストールする必要があります。
翻訳期限切れ フィールドをアンインストールする必要があります。 - タクソノミーターム
翻訳ソース フィールドをアンインストールする必要があります。
翻訳期限切れ フィールドをアンインストールする必要があります。
翻訳投稿者 フィールドをアンインストールする必要があります。
翻訳作成日時 フィールドをアンインストールする必要があります。
修復
- vendor ディレクトリの再生成で起きたと考えられるのでエンティティの更新を行うことで対応
今回のアップデートは上記3つのエラーが発生し対応したことで無事更新されています。
今回発生したエラーの検証と対応についてまとめて行きます。検証と対応を行う際にこれまで使用したことがないcomoserの機能やdrushの機能を使っています。
composer updateで Drupal Core 10.3.10 > 10.4.0 にアップデートします。
Up Dateが途中で止まりタイムアウトしたのでPHPメモリ不足への対応をします。
// Drupalのアップデート
$ sudo composer update "drupal/core-*" --with-all-dependencies
// タイムアウトでインストールが終了せず。一旦終了し原因の特定
// PHPメモリが256MBとなっていた
----- PHPメモリを1024MBに変更 -----
// PHP iniの場所を確認
$ php --ini
Configuration File (php.ini) Path: /opt/bitnami/php/etc
Loaded Configuration File: /opt/bitnami/php/etc/php.ini
// vimでPHPのメモリを変更
$ sudo vim /opt/bitnami/php/etc/php.ini
// php.iniの記述
// memory_limit = 256MBを1024MBに変更
memory_limit = 1024MB
// 設定を反映させるためにサーバーを再起動
sudo /opt/bitnami/ctlscript.sh restart php
結果
Drupal管理画面 > レポート > サイトの状態 でPHPメモリの変更を確認
PHPメモリを1024MBに変更したのでアップデートが途中で止まってしまった現在の状況を確認します。
Composerで依存関係の確認をします。
// Drupalコアやモジュールのアップデート可能なパッケージを確認
$ sudo composer outdated drupal/*
// インストールされているパッケージの依存関係を一覧表示
$ sudo composer show -t
// 変更を適用せずに、アップデート後の状態をシミュレートします
$ sudo composer update --dry-run
〜〜〜〜〜
Nothing to modify in lock file
〜〜〜〜〜
Nothing to install, update or remove
〜〜〜〜〜
結果
特に問題は検出されません
drupal-checkで依存関係のチェックをしてみます。
- drupal-check は、Drupalのコードと依存関係をスキャンして問題を検出します。
drupal-check . - drupal-check .の負荷はかなり高くサーバーが止まる可能性も高いので利用環境を確認し、出来ればLocal環境やステージング環境でテストしてから行なって下さい。
- drupal-check .を行うと負荷でサーバーがフリーズしてしまいサーバーの強制リセットなどが必要になる場合があります。サーバーのリセットを行える権限を持つ方以外の使用はお控え下さい。
drupal-checkをインストールします。
// drupal-checkのインストール
$ composer global require mglaman/drupal-check
// インストールの確認
$ drupal-check --version
// インストールは無事完了
〜〜〜〜〜
Nothing to modify in lock file
〜〜〜〜〜
Nothing to install, update or remove
〜〜〜〜〜
// インストール先の確認
$ composer global config home
〜〜〜〜〜
/home/bitnami/.config/composer
〜〜〜〜〜
// drupal-checkの実行
$ /home/bitnami/.config/composer/vendor/bin/drupal-check .
----- 参考 -----
$ drupal-check .
で実行したい場合パスを通します。
// $PATH に追加
$ export PATH="$PATH:/home/bitnami/.config/composer/vendor/bin"
// 設定を反映
$ source ~/.bashrc
結果
drupal-checkの設定が完了します。
drupal-checkの実行をします。$ drupal-check .を行なったのですが処理が途中でフリーズしてしまいLightsailでサーバーの再起動を行い対応します。
drupal-check .の実行
$ drupal-check .
〜〜〜〜〜
$ /home/bitnami/.config/composer/vendor/bin/drupal-check . --memory-limit=1024M
PHP Deprecated: The drupal_root parameter is deprecated. Remove it from your configuration. Drupal Root is discovered automatically. in /home/bitnami/.config/composer/vendor/mglaman/phpstan-drupal/src/Drupal/DrupalAutoloader.php on line 92
Deprecated: The drupal_root parameter is deprecated. Remove it from your configuration. Drupal Root is discovered automatically. in /home/bitnami/.config/composer/vendor/mglaman/phpstan-drupal/src/Drupal/DrupalAutoloader.php on line 92
260/26805 [░░░░░░░░░░░░░░░░░░░░░░░░░░░░] 0%
// ここでフリーズ
この状態なので、Lightsailの管理画面を確認します。
// CPU負荷が60%を超えています。
// 公開サイトが開かなくなってしまっています。
// Lightsailの管理画面で再起動をかけて対応
結果
drupal-checkの使用はサーバー負荷が高いので使用を断念します。
本番環境でdrupal-check .の処理は負荷が高いので使用を断念します。
アップデートが失敗した現在の状況を確認します。
再度アップデートをしてみます。
// キャッシュのクリア
$ drush cr
// Composerのキャッシュのクリア
$ sudo composer clear-cache
// 再度アップデートをしてみます。
$ sudo composer update "drupal/core-*" --with-all-dependencies
〜〜〜〜〜
Gathering patches for root package.
Loading composer repositories with package information
Updating dependencies
Nothing to modify in lock file
Writing lock file
Installing dependencies from lock file (including require-dev)
Nothing to install, update or remove
Generating autoload files
46 packages you are using are looking for funding.
Use the composer fund command to find out more!
No security vulnerability advisories found.
〜〜〜〜〜
// Nothing to modify in lock file / Nothing to install, update or removeが出てアップデートされず。
結果
最新版と表示されアップデートが出来ません。管理画面上はDrupal 10.3.10となっています。
設定を確認してみます。
composer.jsonの確認と再度アップデート
// composer.json
"require": {
"composer/installers": "^2.0",
"drupal/bootstrap5": "^4.0",
"drupal/captcha": "^2.0",
"drupal/core-composer-scaffold": "^10.3",
"drupal/core-project-message": "^10.3",
"drupal/core-recommended": "^10.3",
"drupal/core-vendor-hardening": "^10.3",
----- 以下省略 -----
// 念の為"^10.3",を"^10.4",に変更
"require": {
"composer/installers": "^2.0",
"drupal/bootstrap5": "^4.0",
"drupal/captcha": "^2.0",
"drupal/core-composer-scaffold": "^10.4",
"drupal/core-project-message": "^10.4",
"drupal/core-recommended": "^10.4",
"drupal/core-vendor-hardening": "^10.4",
----- 以下省略 -----
// バージョンを指定してアップデートをしてみます。
$ sudo composer require drupal/core-recommended:10.4.0 drupal/core-composer-scaffold:10.4.0 drupal/core-project-message:10.4.0 drupal/core-vendor-hardening:10.4.0 --update-with-all-dependencies
〜〜〜〜〜
Nothing to modify in lock file
Nothing to install, update or remove
〜〜〜〜〜
// Nothing to modify in lock file / Nothing to install, update or removeが出てアップデートされず。
結果
最新版と表示されアップデートが出来ません。
composer.lock にバージョン制約が残っている可能性があるのでcomposer.lockを削除し再度composer updateをします。
composer.lockを削除し再度composer updateをします。
// composer.lock を削除
$ sudo rm composer.lock
// 再度アップデート
$ sudo composer update
〜〜〜〜〜
Loading composer repositories with package information
Updating dependencies
Lock file operations: 99 installs, 0 updates, 0 removals
----- 省略 -----
- Locking drupal/core (10.4.0)
- Locking drupal/core-composer-scaffold (10.4.0)
- Locking drupal/core-project-message (10.4.0)
- Locking drupal/core-recommended (10.4.0)
- Locking drupal/core-vendor-hardening (10.4.0)
----- 省略 -----
〜〜〜〜〜
// composer updateは正常に完了
結果
composer update が正常に実行され、drupal/core 関連パッケージが 10.4.0 に更新されています。この状態で管理画面を確認すると依然Drupal 10.3.10と表示されています。
ComposerとDrushでバージョンを確認してみます。
バージョンの確認
// キャッシュのクリアとDBのアップデート
$ sudo drush cr
$ sudo drush updatedb
// バージョンが更新されているかを確認します。
$ composer show drupal/core
〜〜〜〜〜
composer show drupal/core
name : drupal/core
descrip. : Drupal is an open source content management platform powering millions of websites and applications.
keywords :
versions : * 10.4.0
released : 2024-12-17, this week
type : drupal-core
----- 省略 -----
〜〜〜〜〜
// drupal/core のバージョンが10.4.0 に更新されています。
// drush stでの確認
$ drush st
〜〜〜〜〜
Drupal version : 10.3.10
Site URI : http://default
DB driver : mysql
DB hostname : 127.0.0.1
〜〜〜〜〜
// drupal/core のバージョンが10.3.10 のままになっています。
結果
Drupal バージョンは 10.3.10 となっています。この情報が composer上で確認されたバージョン10.4.0と一致していません。
実際に参照している coreディレクトリが正しいバージョンを持っているかを確認します。以下のコマンドで、coreディレクトリのCHANGELOG.txt の内容を確認します。
Coreディレクトリの確認
$ head -n 10 /opt/bitnami/drupal/core/CHANGELOG.txt
〜〜〜〜〜
New minor (feature) releases of Drupal are released every six months and
patch (bugfix) releases are released every month. More information on the
Drupal release cycle: https://www.drupal.org/core/release-cycle-overview
* For a full list of fixes in the latest release, visit:
https://www.drupal.org/latest-release
* API change records for Drupal core:
https://www.drupal.org/list-changes/drupal
〜〜〜〜〜
// Drupalのバージョン情報が表示されず。
結果
具体的なバージョン情報が表示されていないことから、/opt/bitnami/drupal/core ディレクトリが正しく更新されていない可能性があります。composer の出力では 10.4.0 に更新されていると表示されていたため、コードベースに矛盾が生じている状態です。
Drupal Coreのディレクトリを確認してみます。
Coreディレクトリのバージョン確認
// core ディレクトリの確認
$ ls -l /opt/bitnami/drupal/core
total 764
drwxr-xr-x 5 root root 4096 Nov 22 12:51 assets
-rw-r--r-- 1 root root 7243 Nov 22 12:51 authorize.php
-rw-r--r-- 1 root root 399 Nov 22 12:51 CHANGELOG.txt
-rw-r--r-- 1 root root 7077 Nov 22 12:51 composer.json
// Nov 22から10.3.10と推測されます。
// 元ファイルの確認
$ ls -l /opt/bitnami/drupal/vendor/drupal/core
total 780
drwxr-xr-x 5 root root 4096 Dec 17 22:18 assets
-rw-r--r-- 1 root root 7243 Dec 17 22:18 authorize.php
-rw-r--r-- 1 root root 399 Dec 17 22:18 CHANGELOG.txt
-rw-r--r-- 1 root root 7077 Dec 17 22:18 composer.json
// Dec 17から10.4.0と推測されます。
結果
各ディレクトリの内容を確認 > /opt/bitnami/drupal/coreはNov22から10.3.10。 > /opt/bitnami/drupal/vendor/drupal/coreはDec17から10.4.0となっている事が確認できます。
/opt/bitnami/drupal/core が古いファイルを保持しているため、Drupal が古いコードを参照しており、管理画面や Drush に正しいバージョンが反映されていないと考えられます。
/opt/bitnami/drupal/core を削除し、正しいコード(vendor/drupal/core)を参照するようにシンボリックリンクを作成します。
/opt/bitnami/drupal/coreの再構築
// opt/bitnami/drupal/coreの削除
$ sudo rm -rf /opt/bitnami/drupal/core
// vendor/drupal/coreを参照するようにシンボリックリンクを作成します。
sudo ln -s /opt/bitnami/drupal/vendor/drupal/core /opt/bitnami/drupal/core
// キャッシュのクリア
$ drush cr
// DBのアップデート
$ drush updatedb
〜〜〜〜〜
Module Update ID Type Description
-------- ----------- --------------- -------------------------------------
system 10400 hook_update_n 10400 - Equivalent update to 11102.
-------- ----------- --------------- -------------------------------------
┌ Do you wish to run the specified pending updates? ───────────┐
│ Yes │
└──────────────────────────────────────────────────────────────┘
> [notice] Update started: system_update_10400
> [notice] Update completed: system_update_10400
[success] Finished performing updates.
〜〜〜〜〜
// DBが10.4.0に更新されました。
// ウェブサーバーを再起動して反映させます。
$ sudo /opt/bitnami/ctlscript.sh restart
Restarting services..
結果
再起動が完了してターミナルが接続されたらdrushでバージョンの確認をします。
Drupalのバージョンを確認します。
Drupalのバージョン確認
// Drupalのバージョンを確認します。
$ drush st
〜〜〜〜〜
[warning] Undefined array key "bootstrap5" ThemeHandler.php:74
Drupal version : 10.4.0
Site URI : http://default
DB driver : mysql
DB hostname : 127.0.0.1
----- 省略 -----
〜〜〜〜〜
// 更新完了したが以下のエラーが出てしまっている。
[warning] Undefined array key "bootstrap5" ThemeHandler.php:74
結果
Drupal 10.4.0に更新されました。
[warning] Undefined array key "bootstrap5" ThemeHandler.php:74
Bootstrap5のエラーが出ています。
Drupal 10.3.10 > 10.4.0のアップデートは完了しましたが、ターミナル上にBootstrap5のエラーが出ており、ページを確認するとHTTP ERROR 500が出て公開ページと管理画面が表示されなくなっています。HTTP ERROR 500を解消して行きます。
[warning] Undefined array key "bootstrap5" ThemeHandler.php:74
Apache エラーログを確認します。
Apacheのエラーログの確認
// Apacheのエラーログ
$ tail -n 50 /opt/bitnami/apache2/logs/error_log
〜〜〜〜〜
[Fri Dec 20 06:18:57.726988 2024] [authz_core:error] [pid 1054:tid 1139] [client 123.123.123.123:37826] AH01630: client denied by server configuration: /opt/bitnami/drupal/vendor/phpunit
----- 以下省略 -----
Got error 'PHP message: PHP Warning: require_once(/opt/bitnami/drupal/vendor/drupal/autoload.php): Failed to open stream: No such file or directory in /opt/bitnami/drupal/vendor/drupal/core/install.php on line 38; PHP message: PHP Fatal error: Uncaught Error: Failed opening required '/opt/bitnami/drupal/vendor/drupal/autoload.php' (include_path='.:/opt/bitnami/php/lib/php') in /opt/bitnami/drupal/vendor/drupal/core/install.php:38\nStack trace:\n#0 {main}\n thrown in /opt/bitnami/drupal/vendor/drupal/core/install.php on line 38'
〜〜〜〜〜
// PHP Fatal error: Uncaught Error: Failed opening required '/opt/bitnami/drupal/vendor/drupal/autoload.php' (include_path='.:/opt/bitnami/php/lib/php') in /opt/bitnami/drupal/vendor/drupal/core/install.php:38\nStack trace:\n#0 {main}\n thrown in
結果
/opt/bitnami/drupal/vendor/drupal/autoload.phpが見つからない事でFatal errorが出ています。
autoload.php が不足の原因
- composer で依存関係が正しくインストールされていない可能性があります。
- vendor ディレクトリが不完全または破損している可能性があります。
vendor ディレクトリを完全に再生成します。
Venderディレクトリの再生成
// venderディレクトリの削除
$ sudo rm -rf vendor
// 依存関係の再インストール
$ sudo composer install
〜〜〜〜〜
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Package operations: 99 installs, 0 updates, 0 removals
- Downloading composer/installers (v2.3.0)
- Downloading drupal/core-composer-scaffold (10.4.0)
----- 省略 -----
〜〜〜〜〜
// キャッシュのクリア
$ drush cr
// HTTP 500 ERRORが解消されました。
結果
HTTP 500 ERRORが消え公開サイトと管理画面が無事表示されました。
Venderディレクトリの再生成で、Bootstrap5のエラーが修復されHTTP 500 ERRORが出なくなり、公開サイトと管理画面も問題なく表示されるようになりました。
$ drush crで以下のエラーが出ており、管理画面のレポートにもエンティティやフィールドの定義が不一致とのエラーが出ています。
$ drush crで出ているエラー
$ drush cr
〜〜〜〜〜
[warning] include_once(/opt/bitnami/drupal/vendor/drupal/core/modules/announcements_feed/announcements_feed.module): Failed to open stream: No such file or directory Extension.php:153
[warning] include_once(): Failed opening '/opt/bitnami/drupal/vendor/drupal/core/modules/announcements_feed/announcements_feed.module' for inclusion (include_path='/opt/bitnami/drupal/vendor/pear/pear_exception:/opt/bitnami/drupal/vendor/pear/console_getopt:/opt/bitnami/drupal/vendor/pear/pear-core-minimal/src:/opt/bitnami/drupal/vendor/pear/archive_tar:.:/opt/bitnami/php/lib/php') Extension.php:153
----- 以下省略 -----
〜〜〜〜〜
管理画面に出ているエラー
- エンティティー・フィールド定義
エンティティやフィールドの定義が不一致
エンティティー・タイプおよびフィールドの定義で、次の変更が検出されました。 - カスタムメニューリンク
翻訳ソース フィールドをアンインストールする必要があります。
翻訳期限切れ フィールドをアンインストールする必要があります。
翻訳投稿者 フィールドをアンインストールする必要があります。
翻訳ステータス フィールドをアンインストールする必要があります。
翻訳作成日時 フィールドをアンインストールする必要があります。
以下省略
上記のエラーはエンティティおよびフィールド定義の不一致 が検出された際に表示されるもので、通常、翻訳に関連するフィールドが不要または誤って設定されている場合に発生します。
- 翻訳モジュール(content_translation または interface_translation)の設定変更やアンインストールが影響している可能性があります。
- アップデート中にエンティティやフィールド定義が変更されたが、それがデータベースに適用されていない状態です。
- 不要な翻訳フィールドがシステム内に残っている場合にこのメッセージが表示されます。
不一致を修正するために、次のコマンドを実行します。
$ drush entup
このコマンドは、「エンティティ更新」を実行し、不必要なフィールドやエンティティを削除または適用します。
定義の不一致の修正
// エンティティの更新
$ drush entup
Command "entup" is not defined.
コマンドが利用出来ません。 // 現在使用不可
-----
// エンティティの更新
$ drush entity:updates // 現在使用不可
コマンドが利用出来ません。
// 利用可能なコマンドが表示されます。
Command "entity:updates" is not defined.
Did you mean one of these?
entity-create
entity-delete
entity-save
entity:create
entity:delete
entity:save
locale:update
y:update:key
y:update:value
yaml:update:key
yaml:update:value
-----
// locale:updateを使用
$ drush local:update
> [notice] bootstrap5 用の ja の翻訳を確認しました。
> [notice] captcha 用の ja の翻訳を確認しました。
> [notice] drupal 用の ja の翻訳を確認しました。
> [notice] easy_breadcrumb 用の ja の翻訳を確認しました。
> [notice] google_tag 用の ja の翻訳を確認しました。
> [notice] metatag 用の ja の翻訳を確認しました。
> [notice] recaptcha 用の ja の翻訳を確認しました。
> [notice] recaptcha_v3 用の ja の翻訳を確認しました。
> [notice] simple_sitemap 用の ja の翻訳を確認しました。
> [notice] smtp 用の ja の翻訳を確認しました。
> [notice] token 用の ja の翻訳を確認しました。
// 定義の不一致の修正が完了
-----
// キャッシュのクリア
$ drush cr
結果
ターミナルからエラー表示が無くなりました。管理画面のエラー表示も無くなりました。
非常に長い記事となってしまいましたが、無事Drupal Coreが10.4.0に更新され、モジュールやテーマの依存関係も問題なく動作しています。今回、エラーで修復に時間がかかってしまった元凶がPHPメモリ制限が256MBになっていた事から、10.4.0のアップデートが途中でタイムアウトとなり、不完全な状態でアップデートされてしまい、依存関係や不完全な状態のディレクトリの修復に手間を取られてしまいました。
これまでモジュールの追加やアップデートが問題なく動いていたことでPHPメモリ制限が256MBとなっていたことに気が付かなかったのは迂闊でした。今回のアップデートの不具合で、Drupalの動作条件を再確認できた事は結果的に良かったと感じています。
Drupal Coreがマイナーながらバージョンアップを行なったタイミングで、動作条件をクリアしない形でのアップデートが思いのほか苦戦しました。エラーの修復過程で、これまで決まったコマンドしか使用しなかったcomposerやdrushを使いエラーを修復できた事は結果的にDrupalの構造を理解することにもつながっています。
私自身がエンジニアではなくプログラミングの知識もほとんど持たない状態でのWebサイトの構築と運営ですが、今回のエラーの修復でDrupalがPHPとDBを使用しているCMSであることを再認識する良い機会にもなっています。
これまで、これといったエラーにも遭遇することがなかった事から、Drupalの安定性に対して絶対性のような認識があったのですが、使用方法を間違えるとエラーの修復に苦労する事は良い経験になりました。
今回のエラーでステージングの重要性を再確認し、MacBookにインストールしているローカル環境を使い公開サイトを変更する前にローカル環境のテストを念入りに行う癖をしっかり持つようにしようと考えた一件でした。
余談ですが今回のエラーを調べる際にDrupal.orgを覗いたところサイトデザインが更新され、25年1月リリース予定のDrupal-CMSに触れる機会がありました。MacBookにはDrupal-CMSのテスト版をインストールし、Bootstrap5のテーマをインストールして動かしています。
近い将来、LightsailからEC2に移行も考慮していますが、Drupalの進化を体現する為にDrupal11.1xとDrupal-CMSは積極的に使用して行きたいと考えています。
今回の10.4.0へのアップデートのついでにサイトデザインを変更してみました。配色と使用コンポーネントやタグのスペースの取り方、フォント選択の変更など軽微な変更となっています。次回はデザイン変更についてまとめてみます。