MovableType にオフライン更新ツールを使って記事を投稿すると、データベースが壊れてしまうことがあるらしい。
データベースが壊れる可能性があるのは、ある一定の条件を満たしたときのみで、その条件はある程度明らかになっている。まず、この障害の発生が報告されている組み合わせは以下の通りである。
Movable Type のバージョン | 2.661, 3.0 |
データベース | Berkeley DB |
PublishCharset | UTF-8 |
ただし、この組み合わせであっても、Web ブラウザを用いて記事の投稿を行う場合は大丈夫なようだ。障害が発生するのは、オフライン更新ツールを使って投稿する場合であり、投稿する記事にトラックバックがついている場合に限るようである。
この「トラックバックがついている」という意味が、実は少し曖昧。「トラックバックの URL がついた」 または「トラックバック送信指定あり」の日本語の記事を投稿した場合、という報告がある。しかし、トラックバックの URL は ASCII 文字列であるため、これがデータベースの破壊の原因になるとは考えにくい。かといって、記事を投稿する場合、最初からトラックバックがついているということはあり得ない。
データベースが壊れる仕組みは、文字化けによるものである。blog:N@TURE BRAIN: バークレーDB破損 では、文字化けした記事を Export して、データの壊れ具合を紹介している。
これらを考え合わせると、次のようにしてデータベースの破損に至るのではないかと思われる。これは推測である。
という条件の下で、
となるように思われる。誰かがトラックバックをつけてくれた後、その記事をオフライン更新ツールで再編集して再投稿したときに、初めてデータベースが壊れるのではないだろうか。
pebbleinsky's blog: MTユーザの恐い話 によれば、MovableType 3.1 では修正が予定されているらしい。
オフライン更新ツールは、「Blog クライアント」あるいは、より正確に「XML-RPC クライアント」とも呼ばれる。オフライン更新ツールを使うと、手元にあるパソコンで記事を編集し一括で投稿することができる。これにより、サーバのレスポンスや回線速度を気にすることなく効率的な編集を行うことができるという、魅力的なツールである。オフライン更新ツールとしては、最初に Macintosh 用の Kung-Log が人気となり有名になった。Kung-Log の後継として、現在は ecto blog が開発されている。最近、Windows 版もリリースされ日本語化も行われた。試用期間は2週間。Windows 用の日本語版のクライアントとしては、BlogWrite (無料版あり) や ubicast Blogger (個人利用は無料) などがある。Windows 環境で使える blogger API クライアント に詳しいまとめがある。
データベースが壊れてしまった場合は、「Export」→「壊れた記事の削除」→「Import」の手順で復旧が可能なようだ。
Posted by n at 2004-09-27 03:18 | Edit | Comments (0) | Trackback(1)
Master Archive Index
Total Entry Count: 1957