2005-03-20 (Sun) [長年日記]
_ IMAPのtag
IMAPサーバを書こうかなと思ってRFC3501を眺めていると、RFC2060とtagの 仕様が微妙に変わっているのに気付いてしまった。
RFC2060:
tag ::= 1*<any ATOM_CHAR except "+">
RFC3501:
tag = 1*<any ASTRING-CHAR except "+">
要は`]'が許されるようになったらしいけど、そんなのtagに使ってうれしい?
うーん、Net::IMAP直さないといかんかなあ。とか言ってたら小人さんが 直してくれたり...しないだろうな。 まあ、クライアントはそんなtag使わなきゃいいわけだけど、サーバは そうはいかないか。何かいきなり萎えちゃったよ、とほほ。
_ 検索ベースのIMAPサーバ
とりあえず、アイデア(っていうほどたいしたものではない)だけメモしとこう。こうしとけば、だれか他の人が書いてくれるかもしれない。
- 何はなくともSEARCHを実装する。
- mailboxは基本的にINBOXだけ。代りにThunderbirdのSaved Search Folderを使う。
- とは言ってもTrashやDraftくらいは必要かもしれない。まあ仮想的に用意すればいいか。
- INBOXのメール一覧では、\Recentフラグが付いたメールだけ(あるいは1000件だけとか)を返す。
- Saved Search FolderがないMUA(ほとんど?)のために、サーバ側で Saved Search Folderを用意した方がいいかも。
- 最近検索した結果は、自動的に上記のServer Side Saved Search Folderにする。しかし、mailbox名が問題
- 手動でspamを学習させる時に類似文書検索が使えたら便利かなあ。 しかし、IMAPでそういうインタフェイスを提供するのは無理か。 Server Side Saved Search Folderの設定などと一緒にWebインタフェイス を用意するとか?
- 検索エンジンにはもちろんRastを使いたいが、属性の更新を効率よく 処理できるようにならないと辛そう。まあ、属性は自前でやる手もあるが。
- RSSも突っ込めると便利かも。あと、NetNewsとか。
morqを改造する、という手あるけど、たぶん大変な部分はmorqから流用できる部分じゃないんだよな。
_ Ajaxで「次へ」
検索サイトで「次へ」というリンクをたどるのがいつも億劫なのだが、最近流行のAjaxで何かできないだろうか。 アクセスキー用意するだけでも便利かもしれないけど、そもそも10件ずつとかで検索結果を表示すること自体、あまり必然性がないと思う。
たとえば、最初はブラウザのスクロールバーを表示させずに一画面で表示できる分だけ出力して、Ctrl-Dとかjとか押してくと必要な部分だけ取って来て表示を書きかえていくとか。 各検索語を座標に取った地図みたいなのを出して、文書を表すアイコンに カーソルを持ってくるとタイトルや概要がポップアップで出てくるとか。
地図みたいに表現ってのはおもしろそうだけど,4次元(検索語が4つ以上)になったときにどうやって見せるかが問題ですねぃ
デフォルトでは重みが高い単語3つを選ぶ、とかですかねえ。