2008年6月 3日

隠居、MovableType 3.35 から 4.1 へのアップグレードに苦戦する

 手狭になったレンタル・サーバーを lolipop 500MB から xserver 3GB へ引っ越しをしてから、いろいろな障害がでていた。

 その中で最も大きな障害は、ブログの管理画面から「テンプレート」を開こうとすると
maketext doesn't know how to say: _SYSTEM_TEMPLATE_SEARCH_RESULTS as needed at lib/MT.pm line 917

というエラーメッセージがでてテンプレートの編集ができないことである。

 テンプレートは「小粋空間」さんオリジナルをいろいろといじっているから、なにかにつけ手直しが必要である。当然、スタイルシートもいじれないない(FFTP で弄れないこともない)から、テンプレートの改良ができない。海外のサイト:Movable TYpe Community Forum でも同じような障害が報告されているが、これといった解決策はないようだ。

 それに、MT3.3 では spam comment 対策に入れていた SCode が上手く働かない。思い切って、準備をすすめていた MT4.1 へアップグレードすることにした。
 手順は、「小粋空間」さんの「Movable Type 3 から Movable Type 4 へのアップグレード方法」を参考にさせてもらった。
 いろいろとつまずいたので、備忘録的に、注意事項を順を追って記録しておきたい。

  1. MT3.3 のままレンタル・サーバーを lolipop から xserver に引っ越しことを機会に、データベースを SQLite から MySQL へ変換した。
  2. アップグレードするまえに、データベースのバックアップが勧められている。xserver には、MySQLのバックアップは、phpMyAdmin を利用する。
  3. 恥ずかしながら SQL スクリプトなんて書いたことがないから理解が進まない。先の「小粋空間」さんの記事にでている「MySQL + phpMyAdmin によるバックアップ」を参照して、いろいろと試みた。この件ついては理解するまでかなりの時間を要したので、別エントリーで記録することにしたい。
  4. MySQL のバックアップがなんとかできたので、上記記事の手順に従って、FFFTP を使い、MT3.35 の /cgi/mt のフォルダーをアップグレードが上手くいかない場合にすぐに元に戻せるように /cgi/mt33 と名前を変えて残し、新たに空白の /cgi/mt/ フォルダーを作成し、あらかじめダウンロードし展開していた MT4.1 の mt フォルダーにある addons 以下 tools までのフォルダーなどと index.html ~ readme.html までのファイルをアップロードした。 
  5. mt-config.cgi は、あらかじめダウンロードしていた MT3.35 のファイルをそのままアップロードした。
  6. ここで、サーバーの .cgi ファイルのパーミッション(属性)を 700 (xserverの場合)にしなければならない。先の手順書に書かれていなかったので、つい忘れたので /cgi/mt.cgi にアクセスしても開かなかった。
  7. 手順書では、ここで /cgi/mt.cgi にアクセスすると「アップグレード開始」が始まることになっているが、私の場合、いろいろといじっていたためか、MT4.1 のダッシュボードがいきなり表示された。エクスポートしていた最新の MySQL をインポートしたためかもしれない。
  8. MT4.1 のダッシュボードは、MT3.35 の時の管理画面とかなり変わっているのでとまどったが、あちこちとクリックしてみると MT3.35 のときの設定はカバーされているようである。
     心配だったテンプレートも、左上のタブで該当のブログを選択し、「デザイン」→「テンプレート」をクリックすると自分で追加して作ったインデックス・テンプレートなども表示されている。
     「メインページ」のテンプレートで手直ししたかった部分も訂正することができた。
  9. 「一覧」→「ブログ記事」で最新順に表示されているエントリーを見ると最近投稿したエントリーが3つほど見えない。私が運営している友人のブログでも同じ現象が出ている。念のため一覧を最後の方まで見ると作成日付が抜けて一覧の最後に見つかった。
     原因ははっきりしないが、再編集画面を開けてみると右サイドに表示される公開(注:表示するには表示オプションで「公開」にチェックを入れる必要がある)で、公開日が空欄になっている。この部分を埋めて「保存」ボタンをクリックすると再構築が始まる。
  10. 再構築を行うとエラーが表示される。ほとんどは、現在使っていなくてコメントアウトしていたテンプレートタグ(Google の Mapper とか SCode 関連である)である。これらを削除するとほとんどはエラー表示はなくなった。
  11. ただ、カテゴリー・アーカイブのテンプレートでエラーで表示されたテンプレートタグの MTEntriesWithSubCategories の原因がよく分からず、色々と探ってみたが丸1日ほど徒労に終わった。
     別の再構築で、カスタマイズで入れているインデックス・テンプレートの calendar.xml というテンプレートでエラーが表示された。MTEntryDate テンプレートタグのエラーも同時に表示される。日付タグのフォーマットを変更するとエラー表示がなくなった。ここからヒントを得て、カテゴリー・アーカイブのテンプレートでエラーで同時に表示されていたMTEntryDate テンプレートタグの日付フォーマットを変更するとうそのようにエラー表示がなくなった。(この現象については、別に記録しておきたい。)
  12. まだまだ、バグが出てきそうだが、ようやく MT3.35 の正常だったときと同様の作業ができるようになった。MT4.1 では、いろいろな機能が付加されているようなので、順次取り入れていきたい。