3.2-ja-2 UO Patch
このページではMovable Type 3.2日本語版Release-2の非公式パッチを公開します。
ここで公開するパッチは、私が見つけたものだけでなく、さまざまなユーザ/開発者によって発見され、公開されている情報をaggregateしたものです。ユーザ/開発者コミュニティの努力の成果をより多くのユーザに簡便に享受してもらうこと、さらにはSix Apartがこうした成果を次期バージョンに反映することを容易にすること、が目的です。順次更新していく予定ですので、パッチや不具合の情報があれば遠慮なく、コメントやトラックバックしていただければと思います。
修正内容
一般的な修正
- TemplateRefreshプラグインの日本語メッセージで一部ダブルクォートがエスケープされている。
(lib/MT/L10N/ja.pm) - mt-xmlrpc.cgi, mt-atom.cgiで「トラックバック自動検知」が正常に動作しない。
(lib/MT/XMLRPCServer.pm)(lib/MT/AtomServer.pm) - mt-tb.cgiのトラックバック受信時のスロットリング機能がソースIPアドレスを検査しないため、正常なトラックバックもリジェクトしてしまう。
ここギコ!: MovableType 3.2、MT::App::Trackback.pmの修正
(lib/MT/App/Trackback.pm) - Movable Type Knowledge Base: Delete only weblog/no weblog assigned error
(lib/MT/App/CMS.pm) - Berkley→BerkeleyのTypo。
(lib/MT/L10N/ja.pm) - MT::App::CMSのlist_authors画面において、plugin_itemset_action_loopが正しくセットされないためにプラグインでitemset actionを定義してもプルダウンメニューが空のままになる。(by Tim Appnel)
(lib/MT/App/CMS.pm) (2005-12-22追加) - MT::App::CMSを用いてエントリーを保存した場合にmt-config.cgiの設定オプションPublishCommenterIconが無視される。PublishCommenterIconはドキュメントされていないオプションでnav-commenters.gifを生成するか否かを制御できる(デフォルトでは1、つまり生成する)。
drry @->Weblog - TypeKey 投稿者のアイコン
(lib/MT/App/CMS.pm) (2005-12-27追加) - mt-db2sql.cgiを用いてデータベースの変換を行った場合に、MT::Trackbackオブジェクトが二重にコピーされる。
DBコンバート後に受信済みのトラックバックを参照できない問題への対処 - Ogawa::Memoranda
(mt-db2sql.cgi) (2006-01-14追加) - mt-atom.cgiが返すendpoint URLが不正な値になる。
MT 3.2のAtom API - Ogawa::Memoranda
(lib/MT/AtomServer.pm) (2006-03-26追加) - mt-atom.cgiが返すAtom Feedのcontent要素にtype属性がない。また、issued要素の日付情報がRFC3338準拠でない。
Re^2: MT 3.2のAtom API - Ogawa::Memoranda
(lib/MT/Atom.pm) (2006-03-28追加) - <$MTDate$>のutcオプションが無視される。
(lib/MT/Template/ContextHandlers.pm) (2006-04-02追加) - トラックバックやコメントのURLが「http」以外のschemeを持つとき、不正なURLが登録される。例えば、URL欄に「https://sec.example.com/」と入力してコメントをポストすると「http://https://sec.example.com/」というURLが登録される。
(lib/MT/Util.pm) (2006-04-03追加) - 月初の0時0分0秒もしくは月末の23時59分59秒に作成されたエントリーがMTCalendarで表示できない。
(lib/MT/Template/ContextHandlers.pm) (2006-04-04追加) - MT::translate_templatizedで引数の未定義チェックが行われていない。このため、「Use of uninitialized value in substitution (s///)」というwarningが表示される場合がある。
(lib/MT.pm) (2006-04-06追加) - 一旦保存したエントリーをプレビュー画面から再度保存すると、エントリーのベースネームが変更されてしまう場合がある。
(lib/MT/App/CMS.pm) (2006-04-06追加) - mt.cfgとmt-config.cgiの両方が存在するとき、mt-xmlrpc.cgiが前者を参照してしまう。それ以外のアプリケーションでは後者を参照する。
(lib/MT/XMLRPCServer.pm) (2006-04-07追加) - 各ブログの設定画面の「基本」で「変更を保存する」をクリックすると、「新規投稿」などで設定したチェックボックスの設定(更新を自動通知する先、トラックバック自動検知など)がリセットされてしまう。
(lib/MT/App/CMS.pm) (2006-04-07追加)
FastCGIなどの常駐環境に関わる修正
- 管理画面の検索・置換機能において、2回目以降検索文字列を変更しても最初の文字列でしか検索・置換が行われない。
(lib/MT/App/CMS.pm) - 管理画面のエントリー一覧、コメント一覧などで表示されるItemset Actions (「その他の操作…」の部分)のメニューが2回目以降無効となり、表示されない。
(lib/MT/App/CMS.pm) - $app->request_methodの戻り値がリクエストごとに更新されず、MT::Appオブジェクトが生成された直後のリクエストの値に固定されてしまう。このため、例えばhttp://as-is.net/mt/mt-tb.fcgi/323をGETリクエストした後に、POSTメソッドを使ってトラックバックを行っても「トラックバックの送信は、HTTP POSTメソッドを使う必要があります。」というエラーが発生する。
(lib/MT/App.pm) - MT::App::Searchに関しても同様の対処が必要。
lighttpd + FastCGI 上で MT3.2 を動作させる方法 : : Drk7jp。
(lib/MT/App.pm)(lib/MT/App/Search.pm) (2005-12-15追加)
性能などに関わる修正
- PublishCharsetがutf-8の場合にはMT->translateの処理を簡素化(無駄なコード変換を抑制)できる。
(lib/MT.pm) - LaunchBackgroundTasksが1のとき、バックグラウンドタスクの終了までユーザが待たされる場合がある問題の修正。
Brandon Fuller | Bug In Movable Type 3.2 Causes Slow Comment Post Speed
(lib/MT/Util.pm) (2006-03-06追加)
パッチの当て方
伝統的なやりかた
まず、http://www.sixapart.jp/movabletype/からMovable Type 3.2-ja-2をダウンロードし、展開する。
$ unzip MT-3_2-ja-2.zip
MT-3.2-ja-2-uo-patch.zipも同様に展開し、MT-3.2-ja-2-uo-patch.shをMovable Typeのディレクトリに置く。
$ unzip MT-3.2-ja-2-uo-patch.zip $ mv MT-3.2-ja-2-uo-patch.sh MT-3.2-ja-2
以下のようにパッチを当てる。
$ cd MT-3.2-ja-2 $ patch -p0 < MT-3.2-ja-2-uo-patch.sh
少しましなやり方
MT-3.2-ja-2-uo-patch.shをMovable Typeのディレクトリに置く。シェルスクリプトになっているので、
$ sh MT-3.2-ja-2-uo-patch.sh
と実行すると使い方が表示されます。
Usage: MT-3.2-ja-2-uo-patch.sh (start|check) check - check patching start - start patching help - this screen
パッチが適用可能か確認するには:
$ sh MT-3.2-ja-2-uo-patch.sh check
パッチを適用するには:
$ sh MT-3.2-ja-2-uo-patch.sh start
さらにましなやり方(要suExec)
MT-3.2-ja-2-uo-patch.shをMovable Typeのディレクトリに置き、拡張子をshからcgiに変更する。さらに実行権限を付与して、CGIスクリプトとして実行できるようにする。
Webブラウザを用いてこのCGIスクリプトにアクセスすることでパッチが適用可能かどうかチェックしたり、実際に適用することができる。
ただし、この方法を使うにはCGIスクリプトの権限でファイルが書き換えられるようにsuExecが設定されているか、ファイル・ディレクトリのパーミッションが設定されている必要がある。ロリポなどではできると思われる。
パッチ適用後はすみやかにパッチファイルを削除すること。
