Movable Typeのアップグレード (続き)

投稿: 2006年3月4日

先日の記事 で書いた通り、 Movable Typeを 3.2にしてみた。作業は完了したわけだが、先日の続きとして、データの移行作業やその後の微調整について、思い出せる範囲で書いておこうと思う。

アップグレード作業、と言うよりは新規インストールとデータのインポート

先日も書いたように、アップグレードと言いつつ、結局新規インストールしてこれまでのデータをインポートすることにした。そこで、これまでのデータをエクスポートとしてから、空のデータベースを作り、 mt-upgrade.cgiを実行した。ところが、なぜか作業が終了したという表示がなかなか出ない。仕方がないので、もう一度 mt-upgrade.cgiを実行してみると、今度は、すでに最新の状態である、とかなんとか、そういうメッセージが出た。半信半疑でこれまでのデータのインポートをしてみたが、特にエラーも出ないようなので、この作業は無事に終了したことにして次へ進んだ。

古い URLを生かす

先日も書いたが、今回の作業の結果として発生する大きな問題は、これまでの各記事への URLなどが無効になってしまう点である。あくまでも個人的な考えだが、 Web上のリソースの URLは、そのリソースが消滅する場合はともかくとして、基本的に変わってはいけないと思う。変わる場合でも、変わる前の URLによるアクセスができるようにする必要があると思う。いろいろなリソースが互いにリンクされていることが、 Webというメディアの最も大きな特徴の一つなのだから、それを殺してしまうような運用はすべきではないと思うのだ。

そこで、面倒ではあったが、とりあえず移行前の URLと移行後の URLの対応を、各ページ毎に作った。記事数が大したことないので、まあなんとか作業できたものの、それでも 2時間くらいはかかっただろうか。これで記事数が多いとやる気がしないだろう。

それができたら、今度はその対応を保存したファイルを awkで適当に処理して
Redirect permanent <古いURL> <新しいURL>
という出力を得た。これを .htaccessに加えて、とりあえず作業終了である。

テンプレートの更新

テンプレートに関しては、もともとほとんど手を入れずに使っていたので、アップグレード作業をしたためにやらなければならなくなったことは少ない。新規インストールしたおかげで、新しい機能が使えるようになっているデフォルトのテンプレートが入ったので、この点に関してはむしろ良かったと言えるのかもしれない。とは言え、いくつか気に入らない点もあったので、それを修正する作業をした。以下に覚えている範囲で書いておこう。

  • おかしな日本語訳の修正。これは lib/MT/L10N/ja.pmの修正と、 default_templates 以下のファイルの修正が必要となった。
  • ブログの説明分が h2要素に入るのを div要素に入るように修正。これは default_templates と、 search_templates以下のファイルの修正で対応。
  • tabindex属性の削除。 default_templates以下の修正で対応。

ざっとこんなところだろうか。他にも細かいところはいじっていると思うのだが、どうもあまり覚えていない。ちなみに、 default_templates以下のファイルに関しては、修正しても既にあるテンプレートには影響しないので、同じ修正を既に存在するブログのテンプレートに反映させたければ、それぞれのテンプレートに同じ編集を加えるか、テンプレートのリフレッシュを実行する必要がある。また、 ja.pmに関しても、 cgiが呼ばれて、ブラウザ側に表示するページの生成の際に使われるメッセージと、テンプレートを最初に生成する時だけに用いられるメッセージとが混在しているので注意が必要である。

RSSフィードについて

アップグレードして気づいたのだが、新しい MTでは RSS 2.0の出力が、 index.xmlというファイルに出力されるらしい。これに対して、いままでの環境では、 RSS 1.0 (だったと思う) が、 index.rdfというファイルに出力されていた。このファイル名が、 MTのデフォルトだったのか、あるいは僕がした設定によるものなのかは定かではないのだが、これはあまりよろしくないことである。つまり、これまで RSSリーダで読みに来てくれていた日とには、彼らがフィード URLの変更設定をしてくれない限り、二度と RSSが届かなくなってしまうのだ。そこで、仕方がないので、 .htaccess に、 index.rdf から index.xmlへのリダイレクト指定を追加した。

良かったこと

ここまでやって、どうやらようやく納得できるレベルに到達できたような気がする。結構大変だったが、最新版にして良かったこともある。

スパム対策

コメントおよびトラックバック管理が容易になり、スパム対策と言う意味でも効果的。とりあえずスパムが僕が気づかないうちにサイトに表示され、 Googleなどにもインデックスされてしまう、ということを避けることができるようにはなった。

カテゴリー管理の改善

古い MTでは、カテゴリーに対応したサーバ上のディレクトリの名前が、カテゴリーの名前に基づいてつけられていたため、日本語でカテゴリーの名前をつけると、結構大変なことになっていた。 (ことに redirectリストを作っていて気づいた。) しかし、最新版では、英語の名前はそのまま使われるものの、日本語に関しては catNN (Nは数字) という名前を使うようになったので、ファイル管理の面でも有効だろう。実は、これまでの運用では、実際には違うカテゴリーなのに同じディレクトリ名が割り当てられる、などということも実際に起こっていた。

ファイル名の付き方

これまでは、記事の IDに基づいた数字の名前がつけられていたが、今はタイトルにある英字を元に書く記事のアーカイブ・ファイルがつけられるようになった。英字がない場合は、 post_NN.htmlという名前になるが、この post_NNの部分を投稿時、もしくはそれ以後に変更できるようになっている。 URLは分かりやすい方がいいので、これは歓迎すべきだろう。 (もっとも、これまでの URLが使えなくなってしまったのだから、これくらいのメリットはないと意味がない。古い URLがそのまま使えるなら、別に僕はこの機能はいらないと感じる。)

まとめ (みたいなもの)

とりあえず作業終了である。スパム対策がまともになったことで、安心して記事を増やすことができたようで、最近はこれまでにないペースで投稿しているのは、読んでくださっている方にも分かるだろう。結果としては良かったのだと思う。

しかし、書いてきたように問題点もそれなりにある。新規インストールなら問題もないのかもしれないが、アップグレードの場合には結構大変である。無料ライセンスを使っている僕のような場合はまああきらめもつくというものだが、お金を払ってこれでは、製品の品質としては問題ありと言わざるを得ないだろう。そして、このような問題に関する FAQなど、参考になる情報が販売元から公開されていないようである点も気になる。次回のアップグレードの際に、同じ目に遭わないことを願うのみである。