2006年12月04日
Movable Type 3.0以降にデフォルト・テンプレートとして含まれている、atom.xmlを生成するテンプレートをそのまま利用していると、2007年に入ってから再構築したときに内容が変わってしまい、ブログの購読者(あなたのブログのAtomフィードを購読している読者)の側で、未読ではない記事が未読として表示されてしまうなどの軽微な問題が起こる可能性があります。どのような問題が起こるか(あるいは起こらないか)は、購読者側のツールによる部分も多く、厳密には特定できていません。以下を参考に、修正をお願いします。
Movable Type 3.0以降にデフォルト・テンプレートとして含まれている、atom.xmlを生成するテンプレートの中に、以下の記述があります。
<id>tag:<$MTBlogHost exclude_port="1" encode_xml="1"$>,<$MTDate format="%Y"$>:<$MTBlogRelativeURL encode_xml="1"$>/<$MTBlogID$></id>
この記述は、ブログのホスト名、再構築時の年、ブログの相対URL、ブログのIDに依存しており、これらのいずれかが変更されると値が変わってしまい、ユニークなIDとしての役目を果たしません。特に、年をまたぐと、ブログの管理者自身は何も変更していないにもかかわらず、IDが変わってしまうことになります。
各ブログのテンプレート一覧から「Atom」を選択し、上記の<id>タグを探し、中身を次のように修正します。
<id>tag:<$MTBlogHost exclude_port="1" encode_xml="1"$>,2006:<$MTBlogRelativeURL encode_xml="1"$>/<$MTBlogID$></id>
今年に入って購読をしているブログの購読者は、2005年以前からブログを購読していたとしても、すでに2006という数値を持つIDをリーダーに登録しているため、2006と書いてしまっても問題ありません。[1] また、来年購読を始める読者に2006という数値を渡しても、これはIDの一部を成す記号に過ぎないので、問題はありません。
#movabletype-jaチャンネルでこの問題を指摘してくださったdrryさんに感謝します。drryさんのブログでもこの問題が丁寧に解説されています。ありがとうございます。
AtomのID要素についての詳細は、Atom Syndication Format仕様を参照してください。
厳密には、この1年で1度でも再構築を行い、かつそれを読者がリーダーソフトウェアで読み込んでいた場合、ですが、ほとんどのブログはこの条件を満たすと思われます。
six apartからアナウンスがありました。 Movable Type 3.x...
Movable Type Newsにこんなエントリーが。 Six Apart -...
MovableType3.x系のデフォルト・テンプレートのAtomフィードに不...
オフィシャルサイトにて、怪しげなアナウンスです。といっても実害というほどの実害...
XOOPSやら色々触ってみたが、なんとなくMovable Typeがしっくり来る。 3年も使っていれば慣れがあるからだろう。 書きたくない時は、書かなくて...
Atom.xmlに問題があって、購読者(お金もらってないので)単純に読者だとおう...
これをやらねば、年が越せない?! Six Apart - Movable Type News: Movable Type 3.x デフォルト・テンプレート...
MovableType Newsに12月4日付けで「Movable Type 3...
sixapartより、2007年に入ってから再構築したときに出てくるかもしれない...
atom.xmlを生成するテンプレートをそのまま利用していると、2007年に入っ...
Six Apartより指摘がありAtomのテンプレートに変更をしました。 Mov...
OpenPNEで運用している首都圏コンピュータ技術者協同組合組合員SNSで、設定...
デフォルトテンプレートに「このブログのフィードを取得」という文字があります。 ...