CIVICTHEME JOURNAL 08

Civic Themeのアップデート

約2,800文字 読了目安:約6分

この記事の目次

Civic Themeのアップデート

Civic Themeが1.80から1.81にアップデートする通知が来ていたので、公式の案内を確認してアップデートに挑戦してみました。


Added missing update hooks

Problem/Motivation

After applying the 1.8 release of CivicTheme and running updates, the configuration was not automatically updated for:

  1. The enabling of the 3-column layout and and disabling of the single column layouts in the allowed layouts for the Page content type.
  2. Switch to 3-column layout for Page content type
  3. Update to all blocks residing in the sidebar region to use sidebar\_top\_left region.

不具合の内容と対応に関するドキュメント

https://www.drupal.org/project/civictheme/issues/3458260

Civic Theme 1.81のダウンロードページ

https://www.drupal.org/project/civictheme/releases/1.8.1


3列レイアウトに関わる不具合のようです。この症状は、私もローカルに最初に1.7をインストールし、サイトの構成を作っていたところ、1.8.0にアップデートしたら、サイドバーが表示されないにも関わらず、コンテンツの幅が狭くなってしまった症状が出てしまい、アンインストールし、ローカルから全て消去してから、Drupalを10.3、CivicThemeを1.8、これをインストールする際にPHPのアップデートも行なっています。このインストール時に出たエラーを記事にまとめています。

この再インストールで、コンテンツ幅が狭くなってしまう不具合は出なくなったのでそのままサイト構築を進めて来ています。私の記事内容やボリュームから、サイドメニューは当面必要ないんじゃないかと考えていましたが、良い機会なので今回のアップデートを行い、サイドメニューを設置して見ました。

実際に、アップデートを行い、最初にメインテーマを有効にすると、公式に記載されている、左のサイドメニューがデフォルトで表示されます。コンテンツ作成画面のビューにタブが表示されそのまま編集出来るようにもなっています。

私は、サブテーマを使っており、サイドメニューを使ってなかったので、アップデート後にサブテーマの設定をしても、見た目はほとんど変わらないので今回のアップデートの恩恵はあまり感じていないのですが、1.7からのアップデートで出た不具合はレイアウトが崩れてしまい確かに厄介なので、CivicThemeの開発の方が早急に対処したアップデートになります。

実際のアップデート

以下にアップデートを行ったコマンドを記載しておきます。

Civic Themeの1.80 > 1.81のアップデートは管理画面のチェックを入れて、管理画面上からアップデートしています。管理画面からのアップデートはUIの操作で、WordPressのプラグインやテーマのアップデートと似たような感じなので、特に問題なく進めます。

Drupalは自動アップデートに対応していないので、アップデート可能になると通知があり、チェックボックスを選択し、アップデートボタンをクリックする事で、アップデート出来ます。

これも、WordPressにはなかった機能(私が知らないだけ?)ですが、アップデート中デフォルトでメンテナンス画面に切り替える機能がついています。これも選択式なので、必要有れば選択し、完了したら手動で元に戻します。

アップデートが無事完了すると、DBのクリアと更新も推奨で画面に案内が出ますので、こちらも選択して行います。DBの更新が完了すると、メンテナンスモードの終了か管理画面に戻る選択が表示され、引き続きアップデートを続けたり、通常の画面に戻す選択を行います。

公式からの推奨はcomposerによるインストールですが特に問題なくアップデートが完了しています。

  • Civic Theme 1.80 > 1.81 Up Date

    % ddev composer require 'drupal/civictheme:^1.8'
    

    ※私は管理画面のUIで行いました。

    メインテーマをデフォルトにして確認します。

    サブテーマのインストール

     % cd web/themes/contrib/civictheme/
    

    メインテーマに移動

    % php civictheme_create_subtheme.php civictheme_demo "CivicTheme Demo" "Demo sub-theme for a CivicTheme theme." ../../custom/civictheme_demo 
    NEXT STEPS
     ----------
     Ensure that front-end assets can be built:
    

    無事インストールが終わったので

    サブテーマのフォルダに移動し

    % npm run build
    npm notice New minor version of npm available! 10.2.3 -> 10.8.2
    

    npmのバージョンアップの表記があったので

    % npm install -g npm@10.8.2
    

    npmのアップデートも済ませます。

    % ddev drush cache:rebuild
    

    キャッシュのクリアを行い、管理画面のUIでサブテーマを有効にします。

    サブテーマも1.80から1.81にアップデートされました。

1.80 > 1.81のアップデートが完了

これまでの経緯から、何か不具合が出るかなと考えていましたが、今回のアップデートは問題なく進みました。確認のためにサイドメニューを初めて使って見ましたが、結構便利なのと、サイドメニューの内容を記事内容によって表示、非表示が簡単に出来ることがわかったりと今回のアップデートにより知識が得られたのも良い勉強になりました。

Drupalの優れた点に、記事やページの整理が簡単にできます。Views機能というルーティングの機能が優れていて、簡単に言えば記事と、記事をまとめるページの組み合わせの自由度が非常に高く、タクソノミーでカテゴリーの分け方をうまく作ると大量の記事を用途によって簡単に分類整理し閲覧される方にわかりやすく便利な形で提供します。

このあたりの機能も機能の複合的な要素で成り立っており、文章にすると、長くなりますので機会を見つけて記事に出来たらと考えています。

すべての記事を見る ↗