MovableType一覧

MT4 に移行できない私的理由はコメント欄

Movable Type4 へ移行

水面下で着々と MT4 への移行準備が進んでいます──が、速度はナメクジ程度。

「何をそんなに時間がかかる部分があるのか」と自分でも思う。デザイン(テンプレートと CSS)は、丸ごと Vicuna から頂戴して、少しずつ自分仕様に直してます。

Vicuna - Movable Type テンプレートVicuna – Movable Type テンプレート

mt.Vicuna 2.x から、一段とモジュール化が洗練されて、いじりやすくなってます!

コメント周辺

ずっと悩んでいるのは、コメント周辺の設計。

ぶっちゃけ「一年で 10 数件コメントが付けば儲け物」、という当ブログ(涙)ですが、一時期「一日 10 件 spam」な状況になっていたので、いろいろとスパム対策を試しました。

けっきょく、「CGI リネーム法」移行、機械的なスパム投稿は 0 件です。

真説・対spam最終兵器 CGIリネーム烈伝 : 亜細亜ノ蛾

──いまだに、「一日 100 件くらいスパムが届く」という人は、導入を検討しては いかがでしょうか? そっくり そのまま真似なくても、数日おきに CGI をリネームするだけでも、効果はありますよ。

ただ、スパム以外にも悩ましい問題があって……。

続きを読む


MTOS・MT4.1 の PHP テンプレート化で脆弱性を発見

MTOS・MT4.1 の不具合

2008-01-10T21:02:01+09:00 追記

「大人の事情」で記事を修正しました(詳しくは聞かないように!)。


2008-01-12T17:59:03+09:00 追記

MTOS version 4.1-en-release-27-r1206-20080112 で、下記の不具合が修正されていました。MT4.1x も、近日中に修正されるでしょう。

けっこう、クリティカルな不具合だったらしく、速攻で直していただけました。

(MT ユーザと six Apart の役に立てて うれしいゼ!)


2008-01-16T09:37:48+09:00 追記

Six Apart – Movable Type News: 【重要】 Movable Type 新バージョンとパッチの提供について

本件の不具合を修正したバージョン・パッチの提供が始まりました。なんと、MT3.21 から MT4 まで、幅広く関わる不具合だったようです。早急にアップデート・パッチの適用を行ったほうが良いですね。

「パッチ……?」 つ Windows環境で「ファイルにパッチ(patch)を当てる」 : 亜細亜ノ蛾

MTOS と MT4.1 で、不具合(脆弱性)を発見し(てしまい)ました。

  • 不具合を確認したバージョン
    • MT4.1b2-en
    • MTOS-4.1-ja-release-26-r1151-20080108
    • (未確認だが、他の MT4.1x も同じだと思う)
  • 具体的な症状
    • 「ある URL」にアクセスすると、テンプレートの内容が(処理されずに)HTMLで表
      示される
      場合がある
    • それによって、PHP のソースコードが第三者に見られる

すでに six Apart に報告済みなので、そのうち対処されるでしょう。

(とは言え、けっこう修正は面倒くさそうな所なんだよなぁ)

考えられる被害

環境によっては、致命的な不具合かと思います。

すべてのテンプレートを確認して、

PHP のソースコード内にパスワード情報が含まれていないか確認

したほうが良いと思います。

余談

いやー、とうとう自分もバグ報告デビューですよ。憎むべきバグも、見付けたときは、ちょっぴり うれしい。

今回の「ある URL」は、第三者から ものすごく簡単に見られるので、ちょっと技術があれば何万件もの PHP ソースコードが簡単に GET できる。その中から数件でも DB へのログインパスワードが見つかれば──ね。

なので、みなさんに周知したいし、でも悪意ある人には見られたくないし──と、ちょっと公開を考えました。しかし、今回の件にかかわらず、何らかのきっかけで PHP のソースコードは見られる可能性がある、というのを考えに入れたほうが良いのかも。と思って記事を書きました。

自分の場合、その「何らかのきっかけ」が起こるタイミングが今回わかったので、ラッキィでした。自分でスクリプトを書くときには気をつけよう。

そんなこんなで、また MT4.x への移行が遅れるのであった──。


MT4 標準機能で「更新日時が最新」の記事(「limit」を使う)

limit モディファイア

結論: MT4.x で「記事を○○順に□件 並べる」場合は limit モディファイアを使おう!

──はい。ということで今回は、このブログではお馴染みの、

「またオレが ろくでもない情報を垂れ流しちゃいました☆ てへっ :-P」

という、お詫び記事です。スンマセンですたー(「別に……」という態度で)。

以前、下記のような記事を(得意満面で)書きました。

MT4 で「更新日時が最新」の記事をプラグイン無しで表示 : 亜細亜ノ蛾

──が、Movable Type 4.xでは、limit モディファイアを使えば、上記のような小細工は不要です(バージョンいくつから使えるかは知らない)。

ref.: lastn モディファイアと limit モディファイアの違い | MovableType.jp

後述しますが、再構築にかかる時間も、limit を使ったほうが速いです。

続きを読む


MT4 で「更新日時が最新」の記事をプラグイン無しで表示

「更新日時が最新」の記事

2007-12-21T22:55:56+09:00 追記

すみません! MT4.x の標準機能で、下記の記事の内容は実現できます。それに、標準機能のほうが高速です。詳しくは、下記の記事をご覧ください。

MT4 標準機能で「更新日時が最新」の記事(「limit」を使う) : 亜細亜ノ蛾

Movable Type 4 で、「更新日時が最新」の記事情報を得る方法を紹介します。MT3 まではプラグインが必要でしたが、MT4 では内蔵機能だけで できますよ!

まずは、「作成日時が最新」の記事タイトルを表示する、ということを考えてみます。これは、簡単ですね。

<MTEntries lastn="1">
<p><MTEntryTitle></p>
</MTEntries>

次に、「更新日時が最新」の記事タイトル、を得るために MT タグのリファレンスと にらめっこします。

MTEntries | テンプレートタグリファレンス

失敗例

ピッタリのモディファイア、sort_by="modified_on"を見付けたアナタは、きっと こうするでしょう。

<MTEntries lastn="1" sort_by="modified_on">
<p><MTEntryTitle></p>
</MTEntries>

「誰だってそーする おれもそーする」(by. 虹村 形兆

しかし、これだと「更新日時が最新」ではなく、「作成日時が最新」の記事タイトルが表示されるだけです。なぜでしょう?

続きを読む


KeyCached プラグインを Cache::FileCache で超高速化!

KeyCached プラグインを改造

KeyCached プラグインで再構築の高速化! : 亜細亜ノ蛾 で紹介した、KeyCached プラグインを愛用しています。

キャッシュを利用して再構築を高速化するプラグイン KeyCached – Open MagicVox.net

ちょっとコードを見てみると、このプラグインは、Perl モジュールの「Cache::File」を利用しています。

Cache::File – Filesystem based implementation of the Cache interface – search.cpan.org

──が、どうも、同じ用途で同じような名前の「Cache::FileCache」のほうが何倍も速い、という噂をよく聞きます。

Cache::FileCache — implements the Cache interface. – search.cpan.org

パッチを書いてみた

どちらもモジュールも、使い方はほとんど同じなので、ちゃちゃっとパッチを書いてみました。

KeyCached.diff.txt

元のプラグインファイルを「KeyCached.orig」にリネームし、パッチを当てると、Cache::FileCache 版の「KeyCached.pl」ができる、はず。

パッチの当て方は、下記を参照ください。

Windows環境で「ファイルにパッチ(patch)を当てる」 : 亜細亜ノ蛾

さて、Cache::FileCache 版の実力は?

(結論: 超超超~速くなった、けど……)

続きを読む


mt.Vicuna for MT4!! ついにベータ版リリース(してた)

mt.Vicuna for MT4

早いもので、今年も 10 月になりました。10 月はいくつかビッグ・ニュースがあるのですが、第一弾はこちら。

Vicuna Blog – mt.Vicuna for MT4 Β1公開

そう、ついに mt.Vicuna の MT4 対応版が出ました! wu さん、ひとまずお疲れ様です。

title="Vicuna Blog - mt.Vicuna for MT4 Β1公開">

このテンプレートはプレビュー版であり、今後改良される可能性があります。MT4の扱いに慣れた方でmt.Vicuna2.0を試して見たい方、または、正式版の公開と共にアップグレード作業をして頂ける方のみご利用下さい。

mt.Vicuna2.0b1へのフィードバックをフォーラムでお待ちしております。

Vicuna Blog – mt.Vicuna for MT4 Β1公開

──とのことで、自分も早く MT4 と共に試して、フィードバックしたいです(今週中には……)。

Template Installer

mt.Vicuna for MT4 の目玉は、Template Installer プラグインを利用して、簡単にテンプレートの適用ができることですね。

Template Installer – MT Hacks

プラグインのインストールが済めば、テンプレートの適用方法は、たったこれだけです。

テンプレート編集ページの右下にある「アクション」から、Install Templatesをクリックし、新規ウインドウに表示されるプルダウンメニューから Mt.Vicuna2.0b1を選択し「次へ」をクリックすることで、テンプレートの適用が完了します

Vicuna Blog – mt.Vicuna for MT4 Β1公開

──って、ものすごく簡単になりますね! い、今までの苦労はなんだったんだ……。

スキンの適用も、もともと簡単ですし、某ダイアリーみたいに CSS 職人さんが増えるといいなぁ。──と、人任せにしてばかりいないで、自分も何かの役に立ちたいです。


KeyCached プラグインで再構築の高速化!

KeyCached プラグイン

ぴろりさんのところで、面白い MT プラグインがリリースされていました。

キャッシュを利用して再構築を高速化するプラグイン KeyCached – Open MagicVox.net

「キャッシュ」とか「再構築」とか「高速化」、それに MT プラグインに目がない自分は、さっそく導入してみました。

これ、かなり通好みでおもしろいですよ。

使い方

個別記事のテンプレートの場合、このような使い方ができます。

<html>
<head>
<!-- 記事の更新日と ID を key にする -->
<MTKeyCachedKey>
<MTEntryModifiedDate>:<MTEntryID>
</MTKeyCachedKey>
<!-- タイトルをキャッシュから生成 -->
<MTKeyCachedValue>
<title>
<MTEntryTitle encode_html="1"> : <MTBlogName encode_html="1">
</title>
</MTKeyCachedValue>
</head>
<body>
<!-- 本文もキャッシュ -->
<MTKeyCachedValue>
<MTEntryBody>
</MTKeyCachedValue>
<!-- 追記も同じ こうやって複数のキャッシュが使える -->
<MTKeyCachedValue>
<MTEntryIfExtended>
<MTEntryMore>
</MTEntryIfExtended>
</MTKeyCachedValue>
</body>
</html>

2007-09-22T09:55:10+09:00 追記

初めの例だと <MTEntryModifiedDate> だけを Key にしていましたが、そうすると「検索・置換」などで一度に更新した場合、同じ内容になってしまいます。そこで、<MTEntryModifiedDate> と <MTEntryID> をKey にしました。

上記の例だと、「タイトル」と「本文」、そして「追記」をキャッシュしています。これらは、記事を更新するまで、つまり <MTEntryModifiedDate>(と <MTEntryID>) が変化するまでは内容が変わらないので、キャッシュする価値が大いにあります。

「通好み」な点

初め、何もわからずに「テンプレート全体を <MTKeyCachedValue> タグで囲む」という無意味なことをやっていました。そんなことしたら、新しく記事を投稿しても「次へ」のリンクが出なくなったり、いろいろ不具合が起こるので注意が必要です。

また、保存されたキャッシュの有効期間はexpireオプションで指定することができます、とのこと。個別記事のキャッシュはともかく、検索結果のキャッシュは有効期間を設けたほうがいいですね。

──というように、事細かにキャッシュする対象を選べる、逆に言うと「どこをキャッシュするか」の知識やセンスが問われる、というところが通好みですね。

実際に使ってみると、かなり再構築が早くなりました。やはり、データベースからデータを持ってきて (X)HTML 化する、という部分がネックになっているようですね。

マニュアル

詳しくはマニュアルをどうぞ。

KeyCached – MovableType Plugins – Trac

特に気をつけるべき点は、ここですね。

MTKeyCachedKeyの内容と構築前のMTKeyCachedValueの内容が全く同じであれば, 一つのMTでテンプレートやブログに関係なく同じキャッシュが使用される点に注意してください。

KeyCached – MovableType Plugins – Trac


Movable Type 4 の 「頭スカスカ問題」に効くプラグイン

Movable Type 4 の問題点

これまでのあらすじ──

Movable Type 4 正式リリース! インストールと雑感 : 亜細亜ノ蛾 で書いた MT4 の残念なところとして、

「頭(header)スカスカ問題」

というのを挙げました(ここ、試験に出るよー)。

これがまた、header だけに頭の痛い問題で、Valid な (X)HTML にこだわる Movable Typer(造語)は、「MT4 てきテンプレート」を忌むべき存在として、後の世まで語り継がれることになりました(たぶん)。

一方、「そんなことは、ドーデモイー」という一般的なピープルは、「面白いページは無ェかー」とナマハゲの如く(もちろんソースコードを覗いたり lint ったりせず)mixi やはてダを漁るのでした──。

ApplyModifier プラグイン

それはそれとして。

頭スカスカ問題を軽やかに解決する、スマートなプラグインがあります!

The blog of H.Fujimoto:ページ先頭の改行を削除するで紹介されている、MTApplyModifier プラグインです。

続きを読む


Movable Type 4 で初めにやっておきたいこと

Movable Type 4 への移行作業(途中)

週末なので軽めに行こうぜ!(挨拶)

ということで、今回は思いっきり手抜きで、他人様の記事を丸パクリです(なんだ、いつもと一緒か)。

下記の記事が素晴らしかったので、さっそく真似っこしてみました。Movable Typer(造語)必見の記事ですよ!

MovableTypeプラグインのコードを書く準備を40秒で済ませる – blog.aklaswad.com

この記事は「MT プラグイン開発の準備」という視点で書かれているので、

「あ、わたし関係ない。パス」

と飛ばしてしまう人がいるかもしれませんが、普通に MT を使っている人にも役立ちます。

MT はバージョンアップのたびに「ファイルのお引っ越し」が大変。なので、勢い「全部上書き」にした後で途方に暮れたり──。

そういった手間を減らし、安全にバージョンアップする方法、としても読める記事です。

続きを読む


Movable Type 4 正式リリース! インストールと雑感

Movable Type 4 !!

こんばんわ^^

とうとう、Movable Type 4 が正式にリリースされましたね! さっそくインストールしていじっているところです。

Six Apart - Movable TypeSix Apart – Movable Type

何を隠そう! じつはベータ版から RC4 まで、ひそかに動作チェックとカスタマイズをしていたので、正式版のインストールに戸惑うところはありませんでした。

──が、MT4 になって変わったところが多く、まだまだカスタマイズとテンプレートいじりの日々が続きそうです。

今回は、MT4 のインストールと使用感、ざっくりとした感想を書きました。

続きを読む