非推奨モジュールの設定を代替モジュールへ移し替えるプラグインをリリースしました(DeprecatedModuleMigration)


プラグイン(拡張アプリ)のDeprecatedModuleMigrationをリリースしました。a-blog cms Ver. 3.2.36以降で使えます。

Ver. 3.2で非推奨になったEntry_HeadlineやEntry_Listなどのモジュールについて、設定を代替のEntry_Summaryなどに読み替えて、管理画面から移し替えられます。取得件数や並び順を1つずつ見比べて設定し直す手間がなくなります。移し替える前に、どの設定がどう変わるかを一覧で見られ、適用前の状態も残るので元に戻すこともできます。

次の画像は、Entry_HeadlineをEntry_Summaryに移し替える前の「差分プレビュー」です。

差分プレビュー。Entry_Headline → Entry_Summaryの設定キーが、現在の実効値と移行先の既定値を並べて表示されている
差分プレビュー

移し替えられるモジュール

a-blog cmsはVer. 3.2から、役割が重なるモジュールを非推奨にしています。対象の一覧はVer. 3.2.x で推奨されなくなる機能にあります。このプラグインが扱うのは、次の組み合わせです。

非推奨のモジュール

移し替え先

Plugin_Schedule

Schedule

Entry_Headline、Entry_List、Entry_Photo

Entry_Summary

Category_EntryList

Category_EntrySummary

Banner

Media_Banner

User_Profile

User_Search

プラグインのREADMEによると、設定をそのまま移せるのはPlugin_Scheduleだけです。Entry_Headlineなど4つは、設定値を対応するキーに変換して移します。Bannerは画像をメディアに登録し直す方式で、User_Profileは自動では移せず、差分の確認と手作業の助言だけが出ます。

動作環境はa-blog cms Ver. 3.2.36以降、PHP 8.1から8.5までです。このプラグインのバージョンはVer. 1.1.1です。

プラグインを入れる

  1. GitHubのリリースページからDeprecatedModuleMigration.zipをダウンロードし、解凍したフォルダーをextension/plugins/DeprecatedModuleMigrationに置きます。

  2. 管理画面の「拡張アプリ管理」を開き、DeprecatedModuleMigrationの「インストール」を押します。確認のダイアログで進むと、状態が「有効」になりました。有効化のボタンを別に押す必要はありませんでした。

  3. 左のサイドバーに「DeprecatedModuleMigration」のメニューが加わります。

サイドバーに追加されたDeprecatedModuleMigrationのメニュー
サイドバーのメニュー

対象のモジュールを探す

メニューを開くと「非推奨モジュールの移行」の画面になり、ブログの中にある非推奨モジュールが一覧で出ます。「配下のブログを含める」は最初からオンです。検証では、ルートブログの画面から子ブログの「お知らせ」にあるモジュールまで見つかりました。

非推奨モジュールの一覧。headline_newsとlist_newsの2行に、現在のモジュール、移行先、難易度、差分を確認するボタンが並ぶ
検出された非推奨モジュール

難易度の欄にはEntry_HeadlineもEntry_Listも「B: 要レビュー」と出ます。設定の読み替えが入るので、適用の前に差分を見てほしい、という意味です。

差分を見て、適用する

  1. 移し替えたいモジュールの行で「差分を確認」を押します。

  2. 差分プレビューで、設定キーごとに「現在の実効値」と「移行先の既定値」を見比べます。右端のラベルが「変更なし」なら何も書き換えません。「明示的に書き込みます」なら、旧モジュールの値を新しい設定に書き込みます。

  3. 内容を確認して「この内容で適用する」を押し、確認のダイアログで「OK」を押します。

「本当に実行しますか?」の確認ダイアログ。適用前の状態はスナップショットとして保存され、後から元に戻せると書かれている
適用の確認

差分プレビューの読み方を、検証に使ったEntry_Headline(表示件数を8、表示するユニット数を2にしたもの)で見ます。

  • entry_summary_limitは、現在の実効値が8、Entry_Summaryの既定値が6です。8が書き込まれます。旧モジュールで8件出していたなら、移したあとも8件のままです

  • entry_summary_unitも同じで、2が書き込まれます。既定値は3です

  • entry_summary_pager_onは、旧モジュールがページャーを出していなかったため、既定値のonではなくoffが書き込まれます

旧モジュールに設定がなくても、旧モジュールが決まった動きをしていた項目は、その動きに合わせた値が書き込まれます。画像の取得元をunitにする、ブログ名を出す、といったものです。差分の画面で「明示的に書き込みます」が並ぶのは、移したあとに公開側の表示が変わらないようにするためです。

Entry_Headlineの差分には、注意事項も1つ出ました。Entry_HeadlineはURLのパラメータで絞り込む設定をすべてglobalに固定していたため、移し替えるときにも同じ扱いにそろえる、という説明です。適用後に確認すると、モジュールの種類がEntry_Summaryに変わり、絞り込みの範囲がglobalになっていました。モジュールIDの識別名(headline_news)は変わりません。

元に戻す

適用の情報は「移行履歴」に残ります。履歴の行の「ロールバック」を押し、確認のダイアログで「OK」を押すと、モジュールの種類も設定も適用前の状態に戻ります。検証では、Entry_Summaryに移したモジュールがEntry_Headlineに戻り、追加された設定も消えました。

移行履歴の一覧。移行前のモジュールがEntry_Headlineの行に、ロールバックのボタンがある
移行履歴

実務で気をつけること

テンプレートは書き換わらない

このプラグインが変えるのは、管理画面で保存しているモジュールの設定だけです。画面にも「テンプレートファイルの書き換えは行いません」と出ます。テンプレートのモジュールを呼び出している箇所は、自分で書き換えます。READMEは、旧モジュール名を使っている場所をエディタの全文検索などで探すよう案内しています。

本番のサイトに適用する前に、同じテーマを入れたテスト用のサイトで、差分とテンプレートの両方を確認しておくのが安全です。

ロールバックしたあとも、履歴の行は残る

ロールバックのあとにページを開き直すと、使い終えた履歴の行がそのまま残ります。適用とロールバックを繰り返すと、同じモジュールの履歴が並ぶので、日時を見てロールバックするデータをを選びます。

ルールで上書きした設定がある場合

READMEによると、URLパターン別のルールで設定を上書きしているモジュールでは、差分の画面に件数が警告として出ます。ルールごとの設定も、ルールIDを変えずに移されます。

検証環境

a-blog cms Ver. 3.2.37、DeprecatedModuleMigration 1.1.1で、2026-10-19に確認しました。管理画面の表示は、お使いのバージョンによって異なる場合があります。

同じタグ付けがされている記事