いしなお!
2005-04-14 [長年日記]
_ [blogmap][trackback] Ajax版Trackback Tracer (00:52)
blogmapには実験的にtrackbackの追跡機能を載せていたんだけど、サーバーサイドで複数階層をたどって結果を返していたんじゃ、レスポンスが悪くてやってられないんで、あまり実用的な機能として前面には出していなかった。
で、Ajaxが流行りだしてから、「現在blogmapに組み込んでいるtrackback追跡機能はそのうちAjaxを使って、解析状況に応じてツリーの枝を表示していくように改造しよう」とか言うだけ言って放置していたんだけど、何となく催促された気がしたんで、重い腰を上げてAjax版を作ってみた。
作ってみたらなかなか快適な動作速度。Ajaxはこういう用途では便利だね。たとえば、「 trackback trace: ニートを語る時の立論方法」なんかを試してみるといいかも。
クロスブラウザ対応を真面目にやる気になれないんで、Windows IE/Mozilla系以外で動作するかどうかわからない。と言いながら、Opera 8βで試しに動かしたら動いたよ。あらびっくり。
ちなみに現在見ているエントリーのtrackbackを追跡するbookmarkletは、 「trace!」なんて感じになる。
あるいは自サイトのエントリーに追跡リンクを埋め込みたければ、
http://1470.net/bm/trace.html?url=エントリーのパーマリンク
なんてURLにリンクしておけばいい。パーマリンクはURLエンコードしておくと確実。movable typeだったら個別アーカイブのtrackback関連のあたりにでも、
<a href="http://1470.net/bm/trace.html?url=<$MTEntryPermalink encode_url="1"$>">trace!</a>
とか入れておけばいいのかな? tdiaryはよくわからない。mod_rewriteを入れている場合と入れていない場合、両対応の書き方ってどうするんだろう?
というわけで、blogツール開発者ならびにblogサービス運営者の方々には是非とも「trackback autodiscoveryへの対応」ならびに「trackback ping urlに__mode=rssをつけてRSS形式でデータを出力する機能」に対応して欲しい所存であります。じゃないと自動でtraceできないんで。
_ [WikiParser][PHP][JavaScript][Ajax] WikiParserのサンプルWikiをアップデートしました (16:07)
今までの実験をすべて盛り込んで、
- 通常時は、PHP版のWikiParserを使ってパース
- 編集中は、JavaScript版のWikiParserを使ってリアルタイムプレビュー
- さらにAjaxを使って、定期的に編集中の内容をサーバーに保存
というバージョンに変えました。
ってやったところ、JavaScript版のパーサーにバグがあることが判明したんで、ソースはまだ載せてません(まあJavaScriptのソースは見れるけど)。もうちょいデバッグしてからまとめます。
ちなみにローカル環境では、保存間隔をもっと短く(ほぼリアルタイムに)して使ってたりしますけど、レンダリング結果の確認と保存の手間が省けると、Wikiはメモ環境としてなかなか快適。これで、KamiWikiくらい使いやすいインターフェース付きだったらもっと便利なんだろうけどな。
まあどうせそのうち.NETでデスクトップ版を作るから、そっちでUIは凝ればいいか。
昨日、まとめサイト論をかいたら、もうishinaoさんがtrackback追跡のAjax版をつくってくださっている。これはうれしい。 けっして催促したつもりなかったのですが、開発スピードは最速ですからっ!!。 現在、別でやってるWebサイトへの組み込み方法を検討中です。 ゆく..
あー。これで、ツリーを勝手に全部開いてくれると、おれが抱いているAjaxの利用シーンにかなり近いイメージになるなぁ。これだけでもけっこう面白いけど。 ようするに、ユーザのあずかり知らぬところで(アクション抜きで)、バックでがんがん非同期通信してくれる、そんなAjax..
tdiary.ishinao.netさんからAjax版Trackback Tracer Ajaxが流行りだしてから、「現在blogmapに組み込んでいるtrackback追跡機能はそのうちAjaxを使って、解析状況に応じてツリーの枝を表示していくように改造しよう」とか言うだけ言って放置していたんだけど、何となく催..
Trackback Auto Discovery
「 Ajax版Trackback Tracer 」の記事をみて、「trackback autodiscoveryへの対応」ならびに「trackback ping urlに__mode=rssをつけてRSS形式でデータを出力する機能」を実装し...
解説記事(日本語) はてなダイアリー - Ajaxとは IT用語辞典 e-Wor...
Trackback tracer ですが、「リンクをクリックしたときにとりあえず何か出し、情報が取り出せたらそれとスイッチする」方がよくないですか? 現状ではユーザーのアクションに対するレスポンスなのかどうか分かりにくいので。
質問です。<br>①一度ひろげたツリーはたたまれないのが仕様なわけですか?<br>②再帰(それとも単にループ)っていうんですか、トラックバックを受けた元記事を修正して、トラックバックした側の記事にトラックバックした記事がある場合は、traceが延々と続くわけですが、これも仕様なんですよね?
>wtnabeさん<br>子ノードに何かがない場合もあるんですよね。まあその場合はいったん出した「now loading」みたいな表示を削除すればいいんだけど。面倒じゃなかったら作ってみます。<br><br>>ヒンディクエストさん<br>・一度広げたツリーをたたむ<br>・すでにツリー上のどこかのノードに同一URLが存在した場合は、そちらに移動する<br>というのはそのうち作ります。<br><br>あと読み込んだ全体を、再利用できる形式で書き出す仕組みとかもあった方がいいんでしょうね。