Movable Typeバージョンアップ完了

| コメント(7) | トラックバック(0)

050410-195432.jpg
▲ Canon EOS 20D

ここ数日の New York は雨続きということもあって自宅でこつこつと打ち込んでいたのが、ブログシステム、Movable Type のバージョンアップ作業。
といっても Movable Type を自前でインストールして、自前のブログシステムを使用しない人にとっては全く関係ない話なのだが、これも今後バージョンアップする際の僕自身のメモとして書き記しておくことにした。

New York Watch もすでにエントリー数が700を超え、最初の頃は感じなかった不満点が出てきた。
その最たるものが速度で、僕がエントリーを書いてパブリッシュすると数十秒かかることも珍しくなくなった。僕のブログを読んでくれる人もコメントを書いて送信すると、ネットワークコネクションがとぎれてしまったんじゃないかと思うくらい時間がかかるようになったのでご存じのことだろう。
というのもコメントでもエントリーでもちょっと更新しようと思うと、データベースを更新した後でインデックスページやら個々のエントリーやらいくつもの html ファイルを作りあげたり更新するために非常に時間がかかるようになったのだ ( つまり毎回静的にファイルを生成しており、その度に700を超えるエントリー分のデータベースにアクセスする必要があった )。

もちろん Movable Type ではそのことも考慮して、ファイルを動的に生成させる仕組みも用意されている。つまりエントリーを登録したり、コメントが追加されたときにもデータベースに保存するだけでファイルを生成しないことで更新にかかる時間を短縮するわけだ。その代わりウェブサイトがアクセスされるとその度に表示するための html を生成することになるため、サーバに対する負担は高くなる。けれどもインデックスファイルなど頻繁にアクセスされるファイルは静的に作成しておくことで、バランスを取ることができる。

幸いこの機能は僕が使用していたバージョンでも使えるということだったので試してみたのだが、それほど目に見えて速いというほどパフォーマンスが向上することもなく、加えてコメントが新しいものから旧いものへの順番でしか表示できないなど不具合も報告されていた。
調べてみると最新のバージョンである 3.2 では不具合も修正されているということがわかり、それならばとシステムを入れ替えることにした。

それまで使用していたデータベースをエクスポートし、新しくインストールした Movable Type にインポートしてやれば移行作業自体は終わりなのでそれほど手間はかからない。以前にもやっているのでだいたい手順も覚えている。
けれどもそこから面倒なのはインストールしたプラグインソフトやら僕が改造したスクリプトの移行である。新旧 Movable Type の仕様の違いからそれまで動いていた機能が動かなくなったりするのだ。それらをいちいち手動で修正し、テストを繰り返していたらあっという間に数日かかってしまった。

具体的に機能追加や改造をしているのは、サイドバーのカレンダー表示、アクセスカウンター追加、最近のコメントのツリー表示、最新のトラックバック表示などであり、またリストをツリー上に表示するためのプラグインもインストールされている。そのほかにもスタイルシートを大幅に書き換え、表示されるフォントやレイアウトもオリジナルとはだいぶ異なっている。
スタイルシートは特にバージョン間で大きく変更されているために、画面のマージンやパディングの値を変えるたびに、画面で確認するなどだいぶ手間がかかった部分である。

それまではテンポラリの URL でテストをしていたのだがどうやらほとんど以前のものと変わらぬ見栄えになったことから、これまで使っている New York Watch と同じ場所にブログが展開されるように設定を変え、再構築。これで移行は完了である。
もし 「 以前と変わったことに気がつかなかった 」 と言う人がいればそれはうまくスムーズに移行が完了した、ということであるがよくアクセスしてくれている人だったらちょっとした違いに気がついたかもしれない。
たとえばエントリーの中で 「 以前にここで紹介した 」 などという記述があり、そのブログエントリーへのリンクがあるのだがこれをクリックすると、以前静的に生成された html ファイルへジャンプする。ところがスタイルシートの互換性が無いために、旧い html ファイルは画面が乱れて見える ( フォントサイズの指定も違っている )。
せっかく動的にファイルが生成される方法を選んだのだから、過去の html ファイルを削除してしまえばいいのに、と言われるかもしれない。実は今回からファイルの拡張子も php 化のために html から php に変えている。そのため新しいファイルではリンク先の拡張子も php になっていないと正しい画面が表示されない。つまり各エントリーの中で過去のエントリーへリンクしている場合に、html と記述されている箇所をを全て php に変えてサイトをリビルドさせなくてはいけないのだ。
実はこれはかなり大変な作業である。いったいどのエントリーが他のエントリーへリンクを張っているかを調べる手段は用意されていないから、一つずつ目視で確認しなくてはならない。それと簡単に html を消せない事情は、サーチエンジンが覚えているリンク情報のこともある。
サーチエンジンがヒットしたキーワードに基づいてエントリーを表示させようと思ってもすでに html から php へファイル名が変わっているために、「 Not found 」 というエラーが表示されることになるのである。
困ったな、と思って google で探してみるとやはり同じような問題に遭遇した人がいて、すでに解決策が取り上げられていた。
具体的にはスクリプトを一本用意して、.htaccess というアクセス制御のファイルに html から php へ自動的にリダイレクトするよう、書き加えるのである。
今回そこまでテストする時間がなかったため、その機能追加は後回しにすることにした。それで過去のエントリーへのリンクをたどると画面レイアウトが崩れて見えるのである。これは時間があるときに対処することにしよう。
あとは小さな事だが、個々のエントリーを表示させるとこれまで表示されていた 「 そのブログエントリーが投稿された日時 」 タイトルバーが表示されなくなった。
どうやら 個別アーカイブで MTEntries を使わない方法に書き換えられたため、そのタグの中でしか使用できなかった MTDateHeader が使えなくなってしまったのだ。そのせいでバナーと本文がつながっているようで、間延びしているように見える。これについても時間があるときにテンプレート書き換えに再挑戦してみることにしよう。

さてつらつらと書いてきたが、移行作業が終わり、早速コメントの投稿テストをしてみたところ、どうやら少しばかり速くなった気がする。何より動的ファイル生成にしたことでサーバ上の使用ファイルサイズも減ることとなった。しばらくは旧バージョンが生成した html ファイルも残存するが、いずれこれも不要になるので、さらにサーバ使用量は少なくなりそうで、良かった良かった。

050410-195338.jpg
▲ Canon EOS 20D

さて明日からは通常に戻り、これまで通りのブログを書くことにしよう。皆さん、これからも New York Watch をどうぞよろしく。

トラックバック(0)

トラックバックURL: http://www.nomeri.com/mt421/mt-tb.cgi/728

コメント(7)

まずは、移行作業ご苦労さまでした。
こういうことは、私にはできません(笑)
技術的な事ももちろんそうですが、こういう根気がないんですよね。
これからも、快適に、new york watch したいと思います。

U-kun papaさん、
実は僕もどちらかというと昔から「根気も落ち着きも無い」と言われたもんです。
それは大人になっても、新しもの好き、飽きっぽいという性格となって残っているんですが、なぜか写真とブログだけは自己満足につながるのか、長く続いています(^.^)
これからもごひいきのほどよろしくお願いします。

ひ@NYさん、ブログの移行作業お疲れ様でした。
技術的なことはさっぱりわかりませんが、大変労の多い作業であったことは容易に想像できます。
この2枚のモノクロ作品もいいですね。流し撮りで撮られたのでしょうか。素晴らしいです!

今から投稿ボタンを押してみますね!

C-kun、
このたびは個展開催とのことで、楽しみにしています。本当はその時期に開催地である名古屋に行けたらいいんですが、今のところは帰国の予定がないのでちょっと無理かもしれません。

ブログの移行ですが、こんなのも結構楽しみながらやれてしまうんですよ。
もしC-kunが自分のサーバを立てて、そこで自前のブログシステムを走らせたい、ということでしたらいつでもIT担当者として協力しますよ!
で、投稿ボタンを押してから少しばかり短くなったの、気がつきました? これでもまだ遅いんですが、以前はもっと時間がかかってました・・・。

かなり速くなりましたよ!3~4秒くらいで書き込みできたと思います。^^
これならまず問題ないですね!

移行、お疲れ様でした。
ページ切り替えが以前より早くなったと思います。
私だったら面倒っちいので仕事以外では出来ませんデス。(^_^;)

C-kunさんも写真を撮られていらっしゃるのですか?
名古屋かぁ〜・・
友達が住んでいるのですが、F1観戦以外ではなかなか行かないかも・・・

C-kun、
やった! 実感できる速度で良かった! 重要なのはこれからエントリーが増えてもそう変わらないことです。

eccoさん、
ははは、僕は妙に細かいことにこだわったり、その一方で生活の中で興味のないことはいい加減だったりで困ります。
まだちょっとばかり手直ししないと行けないところはありますが、少しずつやっていきます。
C-kunの名古屋の個展はこの冬、NYに来て撮ったものなんですよ。だからNYに思い入れがある人だったらより一層感情移入できる作品だと思います。時間があれば是非、足を運んで見てください。

コメントする

カレンダー

<  2006年4月  >
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

このブログ記事について

このページは、hiroが2006年4月23日 23:50に書いたブログ記事です。

ひとつ前のブログ記事は「ブログ移行中」です。

次のブログ記事は「NYでチッチとサリー」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 4.21-ja