top

Movable Type 4.2 にアップグレード

昨日出たばかりですが、ここも早々と4.2にアップしました。どのみち早急に4.14か4.2のどちらかにアップしなければいけなかったので、それならもうスッキリ4.2にしてしまおうということで。アップグレードの手順は以下。XREA+、MySQLの環境です。

  1. まずはバックアップ。MT管理画面のツールから全てのブログをzipでバックアップ。念のためデータのエクスポートもやっておきます。続いてXREAのコンパネからMySQLをまるごと保存。XREAはボタン押すだけでデータベースのダンプを作ってくれるので便利ですね。これでダウングレードしたくなっても安心。
  2. mtディレクトリと同じ階層にmt42というディレクトリを新しく作成。今回はWidget Managerがコアに統合されるなど、システムの構成が変わっている部分があるので、上書きではなく別にインストールする方法をとりました。
  3. mt42に4.2の中身を全部アップ。
  4. mtからmt-config.cgiを落としてきて、それをmt42にアップ。cgiファイルのパーミッション変更を忘れずに。
  5. mt42に4.2で使うプラグインをアップ。
  6. mt-comments.cgiとmt-tb.cgiを使用中の名前にリネーム。
    (コメントcgiとトラバcgiをリネームしていない場合はこの作業は必要ありません)
  7. mtをmt41にリネーム、mt42をmtにリネーム。
  8. mt/mt.cgiにアクセス。アップグレードが始まります。
  9. 終わったら、管理画面に入って、まずはテンプレートの状態をチェック。ダイナミック以外のテンプレは全て「インデックステンプレートと同時に再構築される」状態になっているので、再構築させたくないテンプレは「手動」または「公開しない」に変更しておきます。
  10. 全ブログを再構築させて完了。
  11. 後始末:アップグレード終了後にmt/plugins/WidgetManagerを削除。
    4.2のパックに入っているWidgetManagerは4.1からのアップ処理専用です。アップ後は必要なくなるので削除しておきます。

特に問題なく、スムーズに行った…はずなんですが、1つだけ引っかかりがあって、それの解決にしばらく時間を費やしてました(^^;。

フォトログエラー事件勃発―犯人は誰だ!!
フォトログだけが何故かエラーが出て再構築できなかったんです。しかしダイナミックで表示させているブログ記事はバージョン表記も4.2になっていて問題なく動いている。でも投稿画面からプレビュー表示させるとエラーになってプレビューも記事保存もできない。はて???

いろいろ試してみたところ、エラーになるテンプレとならないテンプレがあります。どこが違うのか見比べてみたところ、どうもフッターモジュールが怪しいらしい。エラーメッセージからカテゴリ系が怪しいと睨んで調べたところ、ついに犯人発見!

<MTCategories>の中で<$MTArchiveCount$>が使われてたのが原因でした。

これを<$MTCategoryCount$>に変更することで解決。エラーも消えてフォトログも問題なく再構築できるようになりました。
<$MTArchiveCount$>って、確かこれまではカテゴリでも使えてたんですよね…。その感覚でテンプレ組んでいたので、4.2でカテゴリでは使えなくなっていたとは気付かなかったです。思い当たる節がある方は、アップグレードの前にテンプレタグのチェックを。

4.2ではタグのチェックがこれまで以上に厳しくなっているようで、4.1以前ではかなりアバウトな動きをしていたタグもきっちり整備されてきてるようです。エラーが出たらテンプレタグの使い方が間違ってないか確認してみて下さい。

<余談>静的では厳しくなってきたタグチェックだけど、ダイナミックではまだまだ健在なアバウト(笑)。再構築かけてもダイナミックだとテンプレ内のタグチェックはしてくれないので、動かないはずのタグが平気で動いていることに長い間気付かなかった~ということがよくあります(^^;。これからはもう少し気をつけていこう…。

<2008.8.16>後始末を追加。