日記
TrackBack (20:02)Edit

TrackBackという機能

blogネタで話題になったMovableType。基本機能の部分には大して興味がなかった(ありがちなものの集大成というだけ)し、RSS配信ってのも別にやればいつでもできる(けど再利用する人が出てこないと面白くない)よなーと思っていたんだけど、TrackBackって仕組みはちょっと興味を引かれるな。こういうのをWikiCloneでも取り込むといいかもね。

今のところ複数のWikiサイト間のつながりはInterWikiで表現しようってのが主流なんだろうけど、個人的にInterWikiってのはあんまり面白いと思わない。リンク(とページ生成コマンド)だけはつながるけど、それ以上のつながりがあまりにもないし。まあたったあれだけの実装であのくらいつながると言うこと自体は面白いけど(っつーかWiki自体がそういう面白さの積み重ねだから、それを否定しちゃおしまいって気もするけど)。

TrackBackのポイントは、ある記事(WikiCloneならばWikiPage)への他サイト(のWiki)からの言及を取り込む仕組みを用意しよう、ってことだろう。その仕組みも非常にシンプルだ。ある記事に他のサイトから反応する場合、あるURLを「対象の記事ID」と「反応したURL」を引数につけて呼んでくれれば、システムはその記事に対する他サイトからの反応があったことを認識する、というだけのもの。

tDiaryみたいにReferer解析をそういう用途で使えるように実装しているシステムがあったり、アクセス解析を使って手動でそういうことをやっている人は結構いるだろうけど、共通フォーマットを定めてシステムとしてそういうことが出来るようにするってのはいい考えだな。ずいぶん昔から「Web日記同士の言及リンクがわかりやすい更新報告型リンク集:http://ishinao.net/diary/?200201c&to=200201281#200201281」を作りたいといろいろ考えていたんだけど、リンク集という形式ではなくP2Pベースに実装するという考えは思いつかなかったよ。

WikiLikeでのTrackBackサポート方法(文字コードについて)

ここのWikiLikeでも実験的にTrackBackをサポートしてみました(RSSとTrackBackを実装を参照)。現行のTrackBackの仕様書には文字コードに関する情報が盛り込まれていないため、その部分を拡張しました。

  1. http://host.domain/dir/tb.php/sid/****というPATH_INFOの2階層目に入力文字コードを指定
  2. ie=****という要素(GET/POST)で入力文字コードを指定
  3. charset=****という要素(GET/POST)で入力文字コードを指定
  4. 投稿要素の文字列から自動認識を使って入力文字コードを判別

という順序で入力文字コードを指定します。最初に見つかった要素が優先です。

送信側としては、POSTするパラメータにcharsetを追加。多分これが一番直観的な実装なんで文字コードの解決手段としてはこの方法に収束していくといいな。うちはしばらくの間はすべてのパラメータを受け付けるようにしておきますけど。

TrackBackの送信側インターフェースも実装。文字コードは送信時にドロップダウンから選択できるようにした。ただ、本文の最初の255文字を抜粋として送信しているんだけど、そうするとほとんど元の引用文部分だけになっちゃうな。それはちょっといまいちかも。

※文字コード指定文字列は、受信側はそのままPHPのmbstring系関数に渡しています。送信側はutf-8/euc-jp/shift_jisで渡しています

Published At2002-11-18 00:00Updated At2002-11-18 00:00