| 不具合対策等施した Version 2.2 を公開しました!→ MT4i/2.2 |
MT4i 2.1 †
- 2006年10月21日 2.13 公開
- 2006年10月11日 2.12 公開
- 2006年07月18日 2.11 公開
- 2006年07月10日 2.1 公開
2.0 からの変更点 †
MT 3.2 対応 †
- mt-config.cgiの存在確認し、あればmt-config.cgiを、無ければmt.cfgを読むようにした。
- ステータスが「未公開(下書き)」あるいは「迷惑トラックバック」のトラックバックがトラックバック一覧に表示されていた不具合への対策。
- MT3.2以降、コメントのステータスが「None」「Open」「Closed」の3つから「None」「Open」の2つになったへの対応。具体的にはMT3.2以降の場合に、「None」状態であってもコメントが既に投稿されている場合はそれを表示するように変更。(★)
MT 3.3 対応 †
- エントリ新規投稿・編集時にタグの入力を可能にした。
- MT3.3の場合にコメント通知メールが文字化けする不具合への対策。(★)
機能追加 †
- コメント入力フォームにて、これまでは省略可能な場合にのみ各項目に"(省略可)"と表示していたが、逆に入力が必須である場合にも"(入力必須)"と表示するようにした。
- カテゴリセレクタにて、サブカテゴリを含むソートに対応。
- MT4i ManagerのExitChtmlTrans?(chtmltrans変換を無効化する為にTITLE属性に含むべき文字列)に、文字実体参照を使用できるようにした。
- SPAM対策として、h1タグとaタグを含むコメントをブロック。
- ul、ol、blockquoteタグが開け/閉じられていなかった場合に、開け・閉じタグを補完するようにした。しかし3ページ以上に分割される場合、うまく動作しないケースがある。
- Amazon及びamazletのURL変換を、新しくなった(といってもかなり前ですが)AmazonモバイルのURLへと変換するよう変更。
- あいのり機能をONにしてる場合、リンクを多く含むエントリの表示に時間がかかる為、リダイレクタをかまし、リダイレクタにてURLを変換するように変更。これでリンク先を読みに行くのは1回だけで済む。これに伴い、あいのりのON/OFF設定はやめて常時ONに。また、自サイト内リンクURLを正規表現で設定しておいてEntryIDを拾ってMT4iのURLに変換する機能も削除。
- ヴァリウム男爵のMT4i 記事一覧で(下書き)を表示するを取り込み。
- あいのり、及びchtmltransを回避したリンクの前に表示する文字を、設定で変更できるようにした。
- 特定のカテゴリを非表示にする機能を追加。
- カテゴリセレクタのカテゴリ名を指定バイト数でカットする機能を追加。
- MT及び個別エントリの設定に関係なく、コメント投稿機能をOFFにする機能を追加。
- 記事一覧のカテゴリセレクタを非表示にする機能を追加。
- 画像縮小の選択肢を「する/しない」だけでなく、「自前(Image::Magick)/外部サービス(Picto)/しない」から選択可能に。Image::Magickインストールされていない、あるいは思うような結果が得られない、そしてXREA無料版をお使いの方の為に、Pictoを使用可能にしてみました。お試しください。設定(MT4i Manager)にて指定。
最適化 †
- Jcode.pm前提にした(まさか今更入ってない人はいないと思われ)。
- 値として半角英数しか有り得ないのに、いちいち文字コード/半角全角カナ変換処理を通していたところを外した。
- なんとなく思いつきで外部関数化できるところはした(MT4ilib/Func.pl)。
- 基本的に、Encode使えるとこはEncode使って変換するように変更。
- MT3.0以上では、通知メール送信/リビルド/ping送信をバックグラウンドで行うようにした(MTのライブラリを使用しているのでMTの動作に順ずる。forkが使えることが前提、たぶんおそらくきっと)。
- エントリ取得処理(sub get_entries)その他の記述を、なるべくシンプルに書き換えた。
- MT4i Manager の MTホームディレクトリの概要に、「最後に"/"を付けること」といった旨の注意書きを追加。
- li閉じタグ除去
- optionの閉じタグを使っていたのでカット
- drryさんのパッチ(Funk.pl.patch)取込み。
- sortキーをクォート
- エントリ新規投稿時、インデックスとエントリのリビルドを個別にやっていたが、エントリのリビルドに「BuildDependencies?」オプションを付けていちいちインデックスのリビルドを指定しないようにしてみた。エントリ新規投稿時のタイムアウト等に効果があるような無いような。
- エントリ新規投稿/編集時、下書きステータスで保存したのにのにリビルドしていたので、リビルドしないようにした。もちろんピングも打たない。
- のむのむ通信Blog: MT4i改造による改修案をそのまんま取込み(ありがとうございます)。
セキュリティ関連 †
- 管理者モードでは、ページ最下のMT4iバージョン文字列に貼られるMT4i解説Wikiページへのアンカーを外すようにした。
- 管理者モード特有の機能については、リンクをやめてボタン遷移に変更。
- クロスサイトスクリプティング対策
不具合対策 †
- 一部エラーメッセージがきちんと表示されていなかった不具合への対策。
- 個別記事画面でのカテゴリ名表示にて、複数カテゴリに属するエントリの場合、副カテゴリーが表示される場合がある不具合への対策(常に主カテゴリが表示されるように)。
- 管理者モードにて、カテゴリセレクタの()内に表示されるカテゴリ毎の件数に、ステータスが「公開」以外のエントリが含まれていなかった。これが含まれるように対策。
- 投稿者のユーザ名(Author Name)に2バイト文字が含まれている場合、新規エントリ投稿時に「"投稿者のユーザ名"がAuthorとして登録されていません」とエラーとなる不具合への対策。
- 文字列切り出しsub midb_eucの、最後の文字が途切れているかどうかの判定がきちんと動いていなかったので修正。
- 個別記事画面の[次の記事へ]又は[前の記事へ]リンクが、カテゴリ選択時であってもカテゴリを無視する不具合への対策。
- ブログ名に<br>が含まれていた場合、表示が崩れる不具合への対策
- カテゴリセレクタにてカテゴリを選択した際、そのカテゴリに属するエントリの数が、一覧画面1ページのエントリ表示数と同じだった場合に、一覧下の区切り線が二重になってしまう不具合の対策。
- Perlのバージョンが5.005系の場合にSyntaxError?となる不具合への対策。
- MTの文字コードがShift_JISの場合(性格にはUTF-8でもEUC-JPでも無い場合)、エントリー新規投稿/修正登録時にエラーとなる不具合への対策。
- 単記事ページにて、「次の記事へ」リンクと「トラックバック」リンクのアクセスキーが「9」で被っていた問題の対策。「トラックバック」リンクのアクセスキーを「5」へ変更した。
ちなみにβ8からの変更点 †
- 上記(★)印のものと、以下2点。
- カテゴリが一つも存在せず、かつ非表示カテゴリ設定に存在しないカテゴリを設定していた場合、Internal Server Error が発生する不具合への対策。
- カテゴリが一つも存在せず、かつ非表示カテゴリ設定に存在しないカテゴリを設定していた場合、コメントが表示されなくなってしまう不具合への対策。
- なのでβ8ユーザもアップグレードした方が良いですよと。
2.11 での変更点 †
- リンクに"&"を含むURLを指定した場合、正常に変換されない("&"以降が切れる)ことがあった不具合への対策。
2.12 での変更点 †
- 新しい Amazon アソシエイト・リンク URL のモバイル用 URL への変換に対応(ただし、個別商品リンクのテキストのみと、テキストリンクの特定ページへのリンクにのみ対応)。
- drry さんによるキャッシュサイズ判別処理の SoftBank? 対応パッチ(Func.pl-20060926T1000.diff)を適用(drry さんありがとう)。
- そして、エージェントの判定(上記のキャッシュサイズ判定は除く)において、SoftBank? どころか Vodafone にすら対応していなかったことを発見し、その対策。恥ずかしい…。
2.13 での変更点 †
2.1 Special thanks to †
前提条件 †
- Movable Type Version 3.33-ja 以前のバージョンが正常に動作していること。
- 文字コードUTF-8で運用している場合、Perlモジュール「Jcode.pm」あるいはEncode.pmを導入していること(っていうか、UTF-8で運用している場合はJcodeモジュール無しだとMT自体が文字化け起こすので、MTがちゃんと動いているなら導入済みのはず)
- 画像の自動縮小機能を利用するには、Perlモジュール「ImageMagick」が必須
- HTML::Entities
動作確認 †
MT4iは、下記環境にて動作確認を行っています。
また、WebサーバにApache、Perl 5.8(=Encode.pm有)、BerkleyDB or MySQL、文字コードEUC-JP or UTF-8という環境になります。
よって、上記以外の環境で動作するとうたっていても、正常に動作しない可能性があります。予めご了承下さい。
ダウンロード †
- 最新正式版は 2.13 です。以下のどちらかお好きな方をダウンロードして下さい。内容は同じです。
旧版 †
インストール †
懸案事項 †
- バイト数制限機能によって、blockquoteタグ、pタグ、ulタグなどが途中で分断された場合、タグを補完するようにしたが、3ページ以上にまたがる場合にこれが正常に機能しない場合がある。
- 「Can't locate Jcode/Unicode.pm in @INC〜」のエラーが発生する場合がある(原因不明)。
- <$MTCGIServerPath?$>で埋め込まれるパスがmt4iのそれになってしまう。→MTホームディレクトリ直下に設置して貰えばOKのような気がする。→未確認
- PocketIEにてEntry編集送信時に「半角スペース」が「?」に文字化けする。
現象確認:PocketPC2003(iPAQ h2210)、MicrosoftWindows? for Handheld PC 2000(SigmarionII)、京ぽん Opera
- 原因未だ掴めず。MT4iではEntry編集時、半角スペースを に変換して表示、登録時に戻すという処理をしているが、この辺の絡みと思われる。
- 良く考えたら半角スペースに戻す必要は無いのかなぁ、もしかして。検討。
- 本来、 は半角スペースではない、という話もあり。
- Berkeley DBで一度も「ウェブログの説明」をしていない時にだけ、blog IDを設定しない状態でmt4i.cgiを実行すると、blog一覧は正しく表示されるが、一覧でblog nameをクリックすると「500 Internal Server Error」となってしまう。→現象未確認
- 新規エントリー投稿時 or エントリー編集時、500エラー。→リビルドされている、コメント、下書き時は問題ない。→おそらくタイムアウト
- プラグインで追加されたグローバルフィルターが反映されない(MTPukiWikiAutoLink?で確認)。
- 環境によっては、MT4i Managerにて初めて設定を保存した際に自動生成されるはずのmt4icfg.cgiというファイルが、自動生成されないケースがある。
- トップページ「最近のコメントxx件」の「xx」は設定値をそのまま表示しているが、実際のコメント投稿数がこれより少ないケースがありえる。実際のコメント数を表示するかどうか検討。
- 現在Windowsからの投稿時に起こる「〜(WAVE DASH)」等の文字化け対策として、Shift-JIS→UTF-8へ変換する際に間にMS932を挟んでいる。しかしそのことにより、Windows以外のOS端末より投稿した際に、「〜(WAVE DASH)」等が文字化けしてしまうという本末転倒な結果を招いている。設定にてMS932を通すか通さないか選択できるようにし、メインの投稿環境がWindowsかどうかなどでユーザが選択できるようにする、予定。2.2以降。
- カテゴリセレクタにてカテゴリを選択すると、表示できる記事とできない記事が出る場合がある。表示できる/できないは固定の記事とは限らず、新しい記事が投稿されるなどで流動的である。原因不明。
リンクに"&"を含むURLを指定した場合、正常に変換されない("&"以降が切れる)ことがある。(2006-07-17 23:49:26 (月)) → 2.11 にて対策。
機能追加要望事項 †
- 画像を、サムネイルをクリックして拡大という形で掲載している場合、クリック先の画像を表示する。→検討するけど無理かも
- エントリ一覧にて、エントリを日付昇順/降順で切り替えられるように。 → 検討
- エントリ投稿時、Authorを選択できるようにする。 → 検討
通勤ブラウザへの対応→検討→2.2にて実装
- 画像を投稿できるように。→最近の携帯ブラウザって<input type="file">に対応してるんですか?→i-mode 以外は行けるっぽい。→検討?
- 親カテゴリを選択した際に、サブカテゴリに属するエントリも表示できるようにする(選択できるとベター)。
HTML::Entities 無しでも動くようにする。→2.2にて実装予定
コメント †