Movable Type 備忘録

 ATOMフィード・テンプレートの不具合

最近まともな記事を書いてませんでしたが、drry+@->さんのところで、Movable Type のデフォルト Atom フィードテンプレートを駄目出しという記事が紹介されてました。

相変わらずよく分かってないのですが、RSS2.0などのフィードとどう違うんですの!?

drryさんの記事から、ATOMフィードに対応したリーダーなどに登録するもののようですけど、少なくともわたしは他の人のATOMフィードを登録したことないし、気にしたこともありませんでした。

わたしの場合、FeedBurnerに差し替えてしまったのでATOMフィードを生成してないのですが、いつか使うときのために修正しておきました。

なんだか、わたしのATOMフィード・テンプレートはdrryさんのところで紹介されてた内容と微妙に違ってるので、何でだろと思ったらMovableType(ムーバブルタイプ) 3.2からアップグレードしたので、そのままテンプレート使ってました。

大きな違いもなく、たぶん問題ないのでしょうけど、わたしと同様にアップグレードして、ATOMフィードを生成してる人ですっごく気になる人は、MovableType(ムーバブルタイプ) 3.3のものを使用するといいかも、です。
mt/default_templatesディレクトリの中にatom_index.tmplというファイルがあります。そのファイルがATOMフィードのテンプレートになります。

drryさんの記事を参考に、ATOMフィード・テンプレートを修正した内容を以下に記します。

  1. 6行目あたり
  2.  
  3. 修正前
  4. <id>tag:<$MTBlogHost exclude_port="1" encode_xml="1"$>,<$MTDate format="%Y"$>:<$MTBlogRelativeURL encode_xml="1"$>/<$MTBlogID$></id>
  5.  
  6. 修正後
  7.  <id>tag:<$MTBlogHost exclude_port="1" encode_xml="1"$>,2005:<$MTBlogRelativeURL encode_xml="1"$>/<$MTBlogID$></id>

青い字の部分が問題の箇所のようです。
drryさんが言われてるように、本来なら一意で恒久的なものでなければいけないところが、<$MTDate$>タグが使用されていることで、年が変わるたびにその部分が更新されてしまいます。

そこで、わたしの場合は2005年にこのサイトを立ち上げたので、赤い字の部分のように直接2005としましたの。

もっと詳しいことはdrryさんのところのMovable Type のデフォルト Atom フィードテンプレートを駄目出しをご覧ください。

 Trackback Pings(0)

No trackbacks found.

 Comments(8)

#1: Posted by ぷーこ @ December 7, 2006 [REPLY]
user-pic

こんばんは☆彡テンプレ、クリスマスバージョンですねw
私もFeedBurnerにしてあるのでこの点については
全然気にも留めていなかったですΣ(; ̄□ ̄A アセアセ
MTのバージョンは現在3.3なのですが、
同じように修正した方がいいですかね??
私はサイト運営自体は2004年からなんですが、
MTに完全移行したのは今年の1月なので、
記事自体も今年からの物しかありません。
修正するとしたら該当箇所を「2006」にすれば
OKですよね?

#2: Posted by bzbell @ December 7, 2006 [REPLY]
user-pic

>>1 ぷーこ さん

こんにちわ^^

> テンプレ、クリスマスバージョンですねw

はい♪
でも、薄汚れたかんじに見えませんか(; ̄∇ ̄A
それに、メリハリがないというか、締りがないというか、ピンボケしてるようなかんじなんですよねぇ。

> 同じように修正した方がいいですかね??

そうですね。一応修正しておいたほうがいいかも、です。
わたしもATOMフィードって使ってないのですが、時間おいてしまうと忘れちゃうので、使わなくても忘れないうちに修正しておきました(; ̄∇ ̄A

> 私はサイト運営自体は2004年からなんですが、・・・記事自体も今年からの物しかありません。

わたしも詳しいことはよく分からないのですが、2004でいいんじゃないですか!?
何か支障があるのかなぁ・・・。
ぷーこさんもFeedBurner使ってるなら、たぶんATOMフィードって生成してないんですよね!?

だったら、とりえあず2004としておいたらどうでしょ( ̄∇ ̄)b

ところで、ぷーこさん・・・わたしのサイトのコメント投稿って分かりにくかったですか!?
いっぱい、ぷーこさんからのコメント投稿メルが届いてたので(; ̄∇ ̄A

#3: Posted by Author Profile Page ぷーこ @ December 8, 2006 [REPLY]
user-pic

す、すみませんでしたペコm(_ _;m)三(m;_ _)mペコ
何回か投稿エラーになって、私の方に何かあるのかと思って;;;
ただサインインしてなかっただけのようです。
ご迷惑とお手数おかけしましたΣ(; ̄□ ̄A アセアセ

>だったら、とりえあず2004としておいたらどうでしょ( ̄∇ ̄)b
そうか、西暦はとりあえず入れておけばいいという感じですかねw
分かりました!これで安心して私も年越し出来るかな♪

#4: Posted by bzbell @ December 8, 2006 [REPLY]
user-pic

>>3 ぷーこ さん

こんにちわ^^

> 何回か投稿エラーになって、私の方に何かあるのかと思って;;;

えっ∑( ̄□ ̄;)ガーン!!
投稿エラーでました!?
サインインしなくても投稿できるはずなのに・・・。

> そうか、西暦はとりあえず入れておけばいいという感じですかねw

たぶん、その程度だと思うんですの。

だって、不具合の状態だと毎年2006、2007、2008と変更されちゃうわけだから・・・誤解を招くかもですけど、ぶっちゃけ適当でも動作上には問題なさそうに思います(; ̄∇ ̄A
仕様上は問題ありかも、ですけどね。

思いっきりシロウト考えですね♪

#5: Posted by oscar @ December 9, 2006 [REPLY]
user-pic

勝手に補足:
問題になってる部分はAtomフィードのID部分で、「他に存在しないだろう値であり、変化しない値である」事が求められる部分です。
それをMTが作り出す時に、MTDateっていう再構築するたびに変化する値を使ったのが問題なので、別に年号部分自体に絶対的な意味がある訳じゃないですよ。
それこそIDすべて手打ちでもいいぐらい。

#6: Posted by bzbell @ December 9, 2006 [REPLY]
user-pic

>>5 oscar さん

こんにちわ^^

> 別に年号部分自体に絶対的な意味がある訳じゃないですよ。

お手数おかけしました♪
補足ありがとうございます。

ATOMフィードって使ったことないし、意識もしたこなかったのですが、数あるフィードの違いについて調べてみました。
RSS・Atomフィードとは

フォーマットによる違いは当然あるとは思ってましたが、発信する情報はどれもいっしょで、お好みで使ってちょうだい!! というスタンスですよね( ̄∇ ̄)b

でも、上記URL中にATOMフィードのフォーマットは「読み取りと書き込みを統一されたフォーマットで行なう事が出来ます」とあるのですが、読み取りは理解できます。
でも、書き込み!? って何ですの!?

もしご存知でしたら教えていただけますか( ̄∇ ̄)

#7: Posted by oscar @ December 9, 2006 [REPLY]
user-pic

「読み取りと書き込みを統一されたフォーマットで行なう事が出来ます」ですが、bzbellさんはブログの投稿ツールって使ったことないですか?
外部から直接エントリーを投稿したりするやつです。
MTは一般的に、XML-RPCっていうので投稿するパターンが多いですが、Atomでの投稿もサポートしています。
よくDel.icio.usやFlickrからエントリー投稿するアレですよ。
あんまりMTのATOMでの投稿の実装は良くないって話は聞いてますけど、それはMT側の問題で他じゃATOMで投稿CMSも結構あるみたいですよ。

#8: Posted by bzbell @ December 9, 2006 [REPLY]
user-pic

>>7 oscar さん

こんにちわ^^

> 外部から直接エントリーを投稿したりするやつです。

えと、moblog系の外部サービスは使ったことあります。
そうなんですか、ATOMでの投稿が可能なんですか( ̄∇ ̄)へぇ~。

わたしが利用したサービスもXML-RPCって単語でてました(; ̄∇ ̄A
よく分からなかったんですけど、MTのディレクトリの中に同じような名前のファイルがあったので適当にやったらできたんです。

インターネットってすごい反面、ムズかしいです。
もうそこら辺はシロウトには手に負えない領域です(つω-`。)

 Post a Comment

 

コメント用フィード