3.31-ja UO Patch

このページではMovable Type 3.31日本語版の非公式パッチを公開します。

ここで公開するパッチは、私が見つけたものだけでなく、さまざまなユーザ/開発者によって発見され、公開されている情報をaggregateしたものです。ユーザ/開発者コミュニティの努力の成果をより多くのユーザに簡便に享受してもらうこと、さらにはSix Apartがこうした成果を次期バージョンに反映することを容易にすること、が目的です。順次更新していく予定ですので、パッチや不具合の情報があれば遠慮なく、コメントやトラックバックしていただければと思います。

MT-3.31-ja-uo-patch.zip

修正内容

一般的な修正

FastCGIなどの常駐環境に関わる修正

性能などに関わる修正

  • MTEntryTagsのレンダリングが極めて遅い。MTTagRankに必要なtag_max_count, tag_min_countの計算をMTEntryTagsのレンダリング時に必ず行っているためである。tag_max_count, tag_min_countの計算を最初にMTEntryTagsの中でMTTagRankが使用された時点まで遅延することで、無用なオーバーヘッドを削減することができる。
    MT 3.31のMTEntryTagsの性能バグ - Ogawa::Memoranda
    (lib/MT/Template/ContextHandlers.pm) (2006-07-13追加)

パッチの当て方

伝統的なやりかた

まず、http://www.sixapart.jp/movabletype/からMovable Type 3.31-jaをダウンロードし、展開する。

 $ unzip MT-3_31-ja.zip

MT-3.31-ja-uo-patch.zipも同様に展開し、MT-3.31-ja-uo-patch.shをMovable Typeのディレクトリに置く。

 $ unzip MT-3.31-ja-uo-patch.zip
 $ mv MT-3.31-ja-uo-patch.sh MT-3.31-ja

以下のようにパッチを当てる。

 $ cd MT-3.31-ja
 $ patch -p0 < MT-3.31-ja-uo-patch

少しましなやり方

MT-3.31-ja-uo-patch.shをMovable Typeのディレクトリに置く。シェルスクリプトになっているので、

 $ sh MT-3.31-ja-uo-patch.sh

と実行すると使い方が表示されます。

 Usage: MT-3.31-ja-uo-patch.sh (start|check)
 
 check   - check patching
 start   - start patching
 help    - this screen

パッチが適用可能か確認するには:

 $ sh MT-3.31-ja-uo-patch.sh check

パッチを適用するには:

 $ sh MT-3.31-ja-uo-patch.sh start

さらにましなやり方(要suExec)

MT-3.31-ja-uo-patch.shをMovable Typeのディレクトリに置き、拡張子をshからcgiに変更する。さらに実行権限を付与して、CGIスクリプトとして実行できるようにする。

Webブラウザを用いてこのCGIスクリプトにアクセスすることでパッチが適用可能かどうかチェックしたり、実際に適用することができる。

ただし、この方法を使うにはCGIスクリプトの権限でファイルが書き換えられるようにsuExecが設定されているか、ファイル・ディレクトリのパーミッションが設定されている必要がある。ロリポなどではできると思われる。

パッチ適用後はすみやかにパッチファイルを削除すること。