Blog 更新をアンテナで拾う件。Movable Type はコメントやトラックバックがついた時に index.html を再構築しちゃいます。なので、コメントがついただけでもアンテナの上位に表示されてしまうんですね。これだと、アンテナを利用している人が「なんだ?どこが更新されたんだ?」とか「更新されたコメントはどこじゃい」となってしまいます。
僕はアンテナの仕組みを知らないのですが、エントリー(記事)が更新された時に通知メールを送ることができます。逆にエントリーが追加/更新された時だけに通知を受け取る方法はこれしかないようです( Nortifications の ping だとコメントとトラックバックも含まれるよね)。アンテナの拡張に使えませんか?
また、エントリーは必ず定型フォーマットで記述されるので HTML テキストの変動を見るならば正確に拾えると思います。それ以外にいい方法があるのかなー。
※ 少しでも見やすくするために、「最近のコメント」を上に移動しました。
コメント
たびたびの書込みで申し訳ない。
プログラムを修正せずに現在とりうる最善の方法を思い付きました。
・MT で hina.txt(旧朝比奈アンテナ形式)を生成するテンプレートを追加
・いぬリンクで目的のサイトにある hina.txt を親アンテナとして登録
つまり親アンテナの情報を MT 自身で作成するようにしちゃうわけです。
あう、タグが…(^^;
Update:<MTEntries lastn=”1″><$MTEntryDate format=”%Y/%m/%d”$></MTEntries>
でちゃんと表示されるかな。
途中のままだと気持ち悪いので迷惑ついでにもう少し(^^;
いぬリンク
・自分では情報取得せずに親アンテナからのデータのみで作成
・複数の親アンテナを登録しているときに、1つでも間違った更新があると間違った日付で更新されてしまう
ということですね。どうせ perl なんだから自分でプログラムを修正しちゃえばいろいろと改善は可能なんだけどそれはたぶん敷居が高いから、それをしない方法としては index.html のコンテンツに最終更新日を記述してコンテンツの最終更新日を拾ってこれる親アンテナ(なつみかんはわからないけど朝比奈アンテナのエンジンだとそれができる)を使用することですね。
それで最終更新日を MT で入れる方法ですが前に紹介し MTDate タグだとうまくいかないことがわかったので
Update:
という方法で最後のエントリーの日付を表示してあげればたぶん大丈夫なのではないかと思います。
長くなったけど最後にもうひとつ。blog の ping を受取って更新日を配信するだけの親アンテナ(blog 以外は普通の親アンテナを使う)を作成すれば MT に関してはほぼ問題が解決できるように思う。(*1)
*1) 他の親アンテナで間違った更新日が取得された場合の問題はこれでは解決できない。ま、ほんとはちょこちょこっと親ごとに取得するサイトを指定できるようにプログラムを改造しちゃえばいいだけのことなんだけど…
http://www.starfleet.ac/… この辺に詳しいこと書いてあります。これ以上やると迷惑になりそうなのでやめときます。
すいません、説明不足でした。craneさんが言ってることを言いたかったのです。
それとindex.rdfでもけっこうおかしな時があります。
あと、もっと利口なアンテナエンジンを教えて下さい(w
コメントを更新とみなすかどうかは、index.htmlとindex.rdfのどちらで更新日時を取っているかだけの問題だと思います。index.htmlはコメントでも更新されるようです。
子アンテナは、親アンテナが取得した更新日時をもらってきているだけだと思いますので、取得方法を指示するということはできないと思います。別の親を使うか、自分で取得するしかないでしょう(多分)。
コメント付きの RSS。ちょっとつくってみました。こんな感じですか?
http://www.macospeak.org/… ※コメントがついているエントリーが1つしかないからわかりにくいかも(^^;
こんなんでよければ後でテンプレートを送ります。
タクジさん。ほんとうにコメントを更新とみなすという設定があるのでしょうか。index.rdf だとデフォルトではコメントが入らないからそれで更新になるというのはおかしいと思いますが?
親アンテナと子アンテナの関係はよくわかりません。利口なアンテナエンジンだとサイトによって更新情報の取得方法を選択できると思うのですが、それが小アンテナから指示できないとすると blog 以外のサイトでもいろいろと問題になりそうな気がします。
GNUE(鵺)さん、いぬリンクがダメとかじゃなくて
いぬリンクが更新情報を取ってくるうしみかんが
コメントを更新とみなす設定をしているためです。
これは親アンテナの人によって対応が別れると思います。
コメント付きの RSS は時間があったら作ろうかなと。GNUE(鵺) 氏のサイトのコメント付きのやつは、コメントがスレッドになりますよね。そうではなくて、エントリーの下にコメントが連なるやつを作ろうとしています。やり方知ってます?
なるほど index.rdf を使えばいいんですね。いぬリンクがだめなのは単にいぬリンクのエンジンがたこなだけという気が….
ところでアンテナとは関係ありませんが、N@Blog ではコメント付の RSS はつくらないんでしょうか。単に自分がコメントも NetNewsWire でチェックしたいというだけなんだけど….(^^;
MT でもエントリーの更新を拾う方法がありそうですね。アンテナのオーナーの方々の対応次第になっちゃいますが。こちらでできることがあれば、なんなりとアドバイス下さい。
16時台はスタイルシートをいじっていたので、かなり空更新をしてしまいました。すいません。
実験結果としては、index.rdfは更新されなかったようです。いぬリンクは、反応してしまったようです(^^;。
北国tvでは、index.htmlではなくて、index.rdfの更新日時をHTTPヘッダーで取得するとうまくいきましたよ。
http://www.siesta.co.jp/… ちょっとこのコメントで更新されるか見てみます(^^;。
MT のヘルプに
This page last updated at <$MTDate format=”%B %d, %Y %I:%M %p”$>.
というのがありますが、これを使うといいんじゃないかと思うのですがどうでしょう。
アンテナのシステムによって違うでしょうが、だいたい以下のようになっていると思います。
1) “Last Update”、“最終更新日”などのキーワードから更新日を取得
2) HTTP のヘッダから更新日を取得
3) 本文の CRC を計算。以前に保存していた値と比較して変更されたかどうか判断
原理的には“Last Update”、“最終更新日”などのキーワードと最終更新日を自動的に blog に埋込めれば既存のアンテナシステムでも正しく更新日が取得できるようになるはずです。
もし、これを機会に MT レディーなアンテナシステムに修正するのなら http://ping.bloggers.jp などの ping サイトの手法(ping を受取って更新日を取得)が参考になるかもしれません。
しまった、うちも UTF-8 でした…>TrackBack