当ブログを含めた、私がメインで運営しているブログの管理を、Movabletype3.33から4.25へアップグレードしました。
幾つかトラブルが発生し、そのつど解決しながら何とか作業完了しました。
その手順などをメモ。
MT4.25インストール
1)MT3.33の環境を残す
既存のMT3.33にMT4.25を上書きする方法ではなく、MT3.33は残して、MT4.25を別にインストールする方法をとりました。
方法はカズヲさんのところを参考に
Mysqlのデータベースを新しく作り、データを丸ごとコピーしてしまいます。
コピーにはdumpファイルを利用しました。私の利用しているCoreserverの場合、管理画面からdumpファイルを生成できます。
方法はこちらを参考に
エクスポートで吐き出したSQLファイルを利用すると、RightFieldsデータが文字化けしました。
2)RightFieldsデータ
MT3.33でカスタムフィールド機能を利用するため、RightFieldsプラグインを利用していました。
このデーターをカスタムフィールドデータに移行するためのプラグイン「Linked Entry Custom Fields」を利用して、MT4.25をインストールしました。
テンプレート修正
1)RightFields関連
RightFields用タグは利用できなくなるため、カスタムフィールド用のタグに変更。
2)PreviousNextInCategoryプラグイン
本家のプラグインは、記事数が多いと再構築がメチャクチャ重くなるため、代替プラグインを利用する。
3)category モディファイアの不具合
カテゴリー名に「&」が入っていると、エラーが出る。しょうがないらしい。詳しくは、「Movable Type 4.25 における MTEntires タグの category モディファイアの不具合について」で。
4)MTTagInvoke.pl
エントリーテンプレで、同一カテゴリのエントリーリストを表示するために利用していた。MT4で動かないという噂だったが、当方の利用方法では動いている模様。でも、MT4機能で実現できる。
・ブログ記事に同一カテゴリーのブログ記事リストを表示(MT4版・改)
4)記事の確認画面でエラー
「Can’t call method “entry_based” on an undefined value」のエラーが。ブログ記事のテンプレートで、を使うと発生するらしい。
をに書き換えるとOK。
5)コメント確認画面でエラー
「テンプレート「Comment Preview Template」の再構築中にエラーが発生しました: テンプレートタグMTIfCommentsAllowedでエラーが発生しました: テンプレートタグMTCommentFieldsでエラーが発生しました: MTCommentFieldsタグは利用できません。代わりにテンプレートモジュール「コメント入力フォーム」をインクルードしてください。
というエラーが発生。コメント周りのタグについては、MT3.xとMT4.xでは大きな変更があったみたいです。
こちらの記事を読んで解決。
・Movable Type 4.1 と 4.2 の差分(コメント入力フォーム)
コメント確認テンプレート内のを、に置き換えることでOKになる。
コメント