さかにゃ日記 Information(臨時連絡):
現在臨時連絡はありません。 まぁ暇なときでかまわないので、 一度くらいは通常のInformationをご覧ください。
この日記中のamazon.co.jpへのリンクはアソシエイト・プログラムが適用されています。
最近さかにゃ日記経由でAmazonで発注していただいた商品リスト
あまりにも仕事が詰まってきて、 気分転換をする必要があったので、 現実逃避にトイレにこもって思考してみた(ぉ
_
昨今大流行(らしい)のblogシステムには、 TrackBackとゆーシステムが実装されている。 これは我々が旧来親しんできた refererによる被リンク判別をもう一歩すすめて、 「リンク先サイトにリンクしたことを通知する」 +「被リンクサイトの該当ページにリンク元サイトの情報を記述する」 とゆーことをシステマチックに行なうシステムのようだ。 つかったことないけど。
このシステムの利点と欠点についてはまぁ今更語るまでもないので割愛。 あたし個人の意見としては、こんなかんじ。とりあえず現状でうちの日記に実装する予定はない。
まぁそれはそれとして、将来的に 「今から24時間以内にTrackBackを実装しないと死ぬまで毒男どころか生まれ変わっても毒男」 とかわけのわからん強迫観念にかられてしまう可能性はゼロではないので、 技術的な面からこのシステムについて検討してみた。 前置き長いよ。まったくだ。
_
まずは、TrackBack-pingと呼ばれているシステム。 「リンクしたよー」と通知するシステムですな。 これは ping とゆー名前にはなっているけど、 要するにやってることは単にリンク情報を 規定の書式に従ってPOSTしているだけ。 このPOSTする先のURIが、各所のblogに存在している 「TrackBack URL」とゆーやつなのかな。
この「ping送信」を実装するだけなら別にどーとゆーことはない。 必要な情報を入力できるフォームを作って、そのままPOSTするだけ。 また、このpingを受け付けるのもそれこそ教科書レベルのperl scriptで充分だろう。 悩む必要はなにもない。自動化しようとすると若干アレげだけど、 今のあたしの日記の書き方だと自動化しなくてもそんな手間ではない。
注意点としては規格自体がマルチリンガル対応ではないとゆーことらすい。 例えばPOSTする内容が日本語だったとして、その文字コードに関する規定がない。 EUC-JPで送るのかUTF-8で送るのか、はたまた文字コードをどこかに記述しておくのか、 その辺がなにも規定されていない模様。 いくつかの方法が提案されているようだけど、このへん確立されてるんかいな? Jcode.pmの自動認識に頼ると、主にUTF-8の認識に失敗することがわかっているので、 このへんは要調査。
_
で、問題はTrackBackを受けた時の対応。 TrackBack用のURIを用意して、どこぞからTrackBackが送られてきたとする。 ちゃんとPOSTの内容を読み込んで、文字化けも解消できたとしよう。
さて、この被リンクの情報をどこに書き込むべきか。 TDSの場合、1日分の日記をまとめて1ファイルに収容している。 しかし、1日の日記の中には多数のtopicが存在している。 最近「あさ〜・ぽひる〜・たらいも〜」ばっかりだがそんなことはどーでもよく、 とりあえず複数のtopicが存在していることは確かだ。 どのtopicに対するTrackBackなのかを判別するのは全然難しくない。 topic毎に違うTrackBackURIを用意してやればいいだけだ。 しかしこれらのtopicは実際の日記ソースの上では 単に [^NEW\s+.*$]で区切られているだけで、機械的に分類するには少々やっかい。 きっと最近大流行(多分)のblogシステムでは、 1topicあたり1つのソースが用意されているのだろう。そうに違いない。 あと、日記ソースに直接情報を書き込んでしまうと、 今のシステムのままだとそれは「日記の更新」とみなされてしまう。 誰かがTrackBack-pingを送っただけでアンテナの一番上に来てしまうのは避けたい。
そーなると、TrackBackされた情報は、 日記ソースとは違うところに保存するしかあるめい。 で、実際にhtmlを表示する際にマージすると。 しかし、その場合はTDSのhtml作成ルーチンに変更を加える必要がある。 それだけならまだしもcacheの扱いとかどーするんだ。 TDSのそのあたりの処理を理解している人が地球上に存在するのか? 少なくとも開発者のtomさんは忘れているぞ(ぉぃ
ちなみに日記システムからblogツールへと華麗に進化したtDiaryでは、 TrackBackは1日単位でしか受け付けられない模様。 更新日時の変更があるかどうかは未確認。
_ 結論
下手したら、システム作り直すほうが早い(ぇ
_ 参考
tomさん謹製tusskomi.cgi ちなみにこいつはコメントが入るたびにcacheをclearしている。 日記ソースとは別の場所にコメントを保存するため、 日記更新日時に変更はかからない。
|
|