MT4i Version 1.81公開

  • 投稿日:
  • by
  • カテゴリ:

MT4i Version 1.81を公開します。

■Version 1.8からの変更点

  • 自blog内リンクをMT4iで表示する
    自blog内Entryへのハイパーリンクを、chtmltransを経由せず、MT4iで表示できるようにしました(何か分かり難い表現ですが)。ただし、EntryへのparmalinkにEntryIDが含まれていることが前提条件となります。MTデフォルトで使用されているユーザーさんには問題ありません。設定は、変数"$my_arc_url"にIndividual Archiveへのparmalinkを正規表現で指定するだけです。だけです、とは言うものの、正規表現はちと敷居が高いかも。ちなみに、当サイトの場合は'http://www.hazama.nu/t2o2/archives/(\d\d\d\d\d\d).html'となります。'\d'が正規表現で、任意の数字一文字を意味します。EntryIDを切り出せるよう、カッコで囲んで下さい。もちろん、未入力''で機能をオフにできます。
  • コメント投稿フォームに注意書き
    変数"$comment_notes"に指定された文字列を、コメント投稿フォームの最上部に表示するようにしました。「J.V.N.C. mobile ver.」にて、あまりにもくだらないコメント投稿が連続した為の処置です。多少の効果はありました。未入力""で非表示です。
  • chtmltransを経由させない
    変数"$exitchtmltrans"に指定された文字列が、AタグのALT TITLE属性に含まれる場合、chtmltrans変換しないようにしました。そもそも携帯電話での表示に対応しているサイトを、わざわざ再変換するのは間抜けですし、レイアウトが崩れる可能性も有りますから。文字列には、デフォルトでは"携帯対応"が指定されています。
  • Rebuildの対象とするテンプレートを指定
    コメント投稿時、リビルド(再構築)の処理が走りますが、対象はIndexテンプレートとArchiveテンプレートのすべてでした。これは、MTのデフォルトがそうなっているからです。しかし、携帯電話からだと、タイムアウトの設定が短めなのか、コメント投稿時にタイムアウトするという話を良く聞きました。この為、IndexテンプレートとArchiveテンプレートの中でも、リビルドしたいテンプレートのみを指定できるようにしました。配列変数"@rbld_indx_tmpl_id"にはIndexテンプレートのテンプレートIDを、@rbld_arc_tmpl_idにはArchiveテンプレートのタイプを指定します。IndexテンプレートのテンプレートIDは、MTの管理画面でTempleteの編集を選び、リビルド対象としたいテンプレートのリンクをポイント、ステータスバーに表示されたURLの"id="の後に続く数字です。Archiveテンプレートのタイプは、'Individual', 'Daily', 'Weekly', 'Monthly', 'Category'の5つです。
  • テキスト分割処理の高速化
    劇的に速くなってます。自分でもビックリするくらい。これまでどんだけへっぽこなコーディングしてたかってことですね。申し訳ございません。これは、あまり長文なエントリーを書かない、それほど多くのコメントが投稿されないblogにとっては、あまり恩恵はないかもしれません。長文を書けば書くほど、コメントが増えれば増えるほど、その差を感じて頂けることでしょう。
  • ページ分け処理で分割されたページを読む時、これまでは1ページずつ繰って行く方式だったが、これをページ数を表示し、それぞれにリンクをはる方式に変更。これで、何度もコメントだけ読みに来る訪問者の負担を減らし、また、サーバの負荷も軽減。
  • 二重投稿防止
    Entry数が増え、アクセス数が増え、リビルドに時間がかかるようになってくると、タイムアウトになる頻度が上がり、不作為の多重投稿が多く発生するようになりました。そこで最初に行った対策が、この二重投稿防止だったんです。コメント投稿時、直近のコメントを読み込み、投稿されたコメントと名前、メールアドレス、コメント本文が同一の場合、「既に同内容のコメントが投稿されています」とエラーを表示するようにしました。これにより、MT4iからの多重投稿はほぼ無くなりました。MT本体からの多重投稿は減りませんが(苦笑)。
  • 長らく原因不明だった文字化けへの対策
    以前より、ユーザーの環境によって、原因不明の文字化けが発生していました。同じ文字コードでも発生したりしなかったりしていたので、原因がなかなかつかめずにいたんですが、今回、「こしぱ Weblog」にて文字化け発生の報を受け再度調べたところ、おそらく原因であると思われるところを発見しました。変更点を簡単に言うと、これまでJcode.pmにて文字コードを変換あるいは全角→半角変換する際、変換元の文字コードを指定していなかったんですが、これを指定するようにしました。Jcode.pmで変換元の文字コードが指定できること、今まで知りませんでした。ごめんなさい。ちゃんとマニュアル読めよ。>俺

1.8をリリースした1月から随分と間が空いた為、偉い数の追加/修正が。これで0.01しかバージョンが上がらないのはなんだか変な気もしますが、まぁ、バージョン番号なんていい加減だと言うことで。

上記変更点のうち、最後の1つを除いては、仮公開していた1.81β4までですべて包含しています。1.81β4を既にご使用されており、特に問題が出ていなければ、入れ替える必要は無いです。

ただ、最後の1つである文字化け対策は、これまで文字化けが発生していた為に全角→半角変換をオフにしていたり、使用そのものを止めてしまっているユーザーには有効です。是非、試してみて頂いて、「文字化けしなくなった」「相変わらず文字化けしている」とご報告頂ければ幸いです。

<追記>

Movable Type 3.0 日本語版ベータ2のご提供」が始まっていますが、未だMT3.0での動作確認は行えていませんので、3.0は未サポートということでご了承願います。特にコメント周りがまともに動かない可能性が高いです。