MT4 - 「テンプレートを編集」で不具合

先日アップデートした Movable Type 4.01 で不具合が発生しました・・・
しかも、私としては結構深刻。

テンプレートの編集を行い保存・再構築を行うと、入力した内容の途中までしか保存されず、中途半端な状態で保存されてしまうのです。
しかも、正しく保存された場合でも、保存する度に最終行に改行が追加されていきます

まぁ、改行が追加されていく方は邪魔なだけで実害はないんですけど、テンプレートが中途半端に保存されるのは大問題です。

このブログは PHP で書き出しているので、中途半端なところでソースが切れているとエラーになる可能性が非常に高く、表示確認したときにページ自体がレンダリングされなかったりエラーが出て気がつきやすいですが、HTML で書き出している場合には場所によっては気がつかない可能性がありますよね。

一部だけ、レンダリングが崩れるとか、運悪く、きりの良いところで切れてしまった場合なんかは表示自体も崩れないので、しばらく経ってから、「あれ?」みたいな感じになりそうです。

これ、完全にバグっぽい感じなので、Six Apart に問い合わせてみました。

一応、Six Apart からは回答貰えたのですが、その前に発生した状況や現象を軽くまとめます。


発生条件

ページテンプレートを編集
構文強調表示なし
テンプレートの種類カスタムインデックステンプレート
出力ファイル名*.php
再構築オプションチェックなし
内容<?php ~ ?> のような PHP 構文

現象

上記の条件下で、「保存」・「保存と再構築」ボタンを押した際に、テンプレートの途中までしか保存されない現象が発生します。
また、「保存」ボタンを押した際には問題がなくても、その後「このテンプレートを再構築する」から再構築を実行した際にも発生します。

正しく保存されていたとしても、最終行に改行が一行追加され、保存するたびに増えていきます。


この現象に気が付いたのが昨日の夜で、今朝サポートに問い合わせたところ早速返事が返ってきました。

どちらの問題も既に認識しているらしく、対応中との事でしたが改行が増えていく件に関しては IE6/7 で発生するとのこと。
Firefox を使っている場合には発生しないとの事だったので、試してみると、確かに発生しませんでした。

っと言ういことで、しばらく MT の編集をする場合には Firefox で行った方が良いかもしれませんね。

テンプレートが中途半端に保存される件に関しては、明確発生条件が分かっていないとの事でしたので、もしかすると結構長引くかもしれないですね。


何日か使ってみて思ったのですが、結構いろいろ動作が怪しい部分があります。

前回の記事「リッチテキストエディタはかなり使える!!」みたいな事を書きましたが、確かに使えるのですが、仕様が良く分かりません。

リッチテキストエディタには WYSIWYGモードと HTMLモードがあるんですが、モードの違いで書き出す HMTLタグが違います。

私が気が付いたのは太字にする時のタグの違い。
ツールバーの B ボタンを押したときWYSIWYGモードでは b ですが、HTMLモードでは strong です。

そして、これも変なんですが HTMLモードで <hr /> と入力して、WYSIWYG モードに切り替えると <hr> に修正されてしまいます。
でも、改行は <br> ではなく <br /> なんですよね。

いったいどういう仕様になっているのかサッパリです・・・

この辺りは、何とか頑張って統一してほしいですね。
今更 HTML に拘る必要は無いと思うので、できれば XHTML に統一して欲しいです。

XHTML に準拠してないものを XHTML に自動変換してくれるとかなりベストですね。

まぁ、この辺りはどっちを使うかを config で指定できるのがセオリーだと思うので、どちらにしても統一してほしいです。
混じってるのは良く無いです。


それにしても、かなり早いレスポンスでビックリしました。
バグが発生するのはある程度仕方がないので、サポートの対応が良いことは素晴らしい事だと思います。
サポートなんてぜんぜん期待してなかったので、少し見直しました。


関連記事

Movable Type 4日本語版が登場--秋にはオープンソース版も - ZDNet Japan