Movable Typeで2つの環境のコンテンツデータ差分をチェックする「StageProdContentDiffプラグイン」

Movable Typeで2つの環境のコンテンツデータ差分をチェックする「StageProdContentDiffプラグイン」

Posted at December 24,2025 12:03 AM
Tag:[MovableType, Plugin, StageProdContentDiff]

Movable Typeで2つの環境のコンテンツデータ差分をチェックする「StageProdContentDiffプラグイン」を作ってみました。

これは「Movable Type Advent Calendar 2025」の24日目の記事です。

1.はじめに

先日の「MTDDC 2025」ではCSVDataImExporterを使って、本番環境とステージング環境でコンテンツデータおよびそれに紐づくアイテムの差分を解消する方法を紹介しました。

ただ、差分をみつける方法は人手に頼っている状態なので、その作業自体もある程度自動化できないかと考え、プラグインを作ってみました。

かなり雑な仕上がりなのでご容赦ください。

2.機能

Movable Typeの2つの環境(A、B)に投稿されたコンテンツデータを比較し、差分を出力します。

今回はプロトタイプということで、データ識別ラベルの有無のみチェックしています。

たとえば、環境A(本番)で、

  • テスト1
  • テスト2
  • テスト3

環境B(ステージング)で、

  • テスト1
  • テスト2

というデータ識別ラベルのコンテンツデータが投稿されている場合、「テスト3」とそのIDを出力します。

MT8用です。

3.プラグインのダウンロード

プラグインは下記のURLからダウンロードできます。

StageProdContentDiff_0_01.zip

4.使い方

ダウンロードしたアーカイブを展開して、plugins配下の「StageProdContentDiff」フォルダをMTのpluginsディレクトリにアップロードします。

比較したいサイトの管理画面メニューの「ツール」→「ステージング/本番 コンテンツ差分チェック」をクリック。

表示された画面で必要な項目を入力します。

ステージング環境

  • サイトID
  • コンテンツタイプID

本番環境

  • サイトID
  • コンテンツタイプID
  • DB DSN
  • DBユーザー
  • DBパスワード

(クリックで拡大)

入力後、「差分をチェックする」をクリックすれば差分チェックが開始します。

上記の例では、次のような結果が表示されます。

(クリックで拡大)

4.今後の予定

コンテンツデータの各コンテンツフィールドの差分もチェックする機能など追加する予定です。

関連記事
トラックバックURL


コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)