2006/04/30

DominoでRSS(あわてて完結編)

DominoでRSSについて書こうかとのんびりしていたら、すっかりタイミングを失ってしまっていました。
そんなところに、developerWorksに、正式な記事を発表されていましたので、こちらを紹介すればよいかなあという気になってます。

Lotus Notes/Dominoを使ったRSS配信アプリケーションの実装解説

この資料の作成者、大川さんのブログでも早速紹介されています。

DominoでのRSS実装解説

のんびりしていると、仕事を失ってしまうというよい例でもあります(苦笑&反省)

DominoとXMLが注目され始めた2000年頃から、こういったXML配信のテクニックは紹介されており、今回のRSS配信テクニックもそれに基づいたものですが、ここにきてようやく使われるようになったのは、XMLという技術がそれだけ成熟し、ボキャブラリが豊富、かつそれぞれが安定してきた証拠でもあると思います。
これらのテクニックは、まだまだAjaxとの組み合わせなど、Dominoデータをいかに効率よくリクエスト先に渡すかという点でも活躍の場があると思います。Domino 7ならSOAPを使うのもよさげですが、扱いやすいデータにこしたことはありませんので。後は、いずれ研究してみたいですが、ビューのカスタマイズだけでJSONが配信出来ればAjaxとの融合性はますます進むと思います。(XML/DXLでもらって、JKL ParseXML ライブラリを使ってもよいですが、折角なのでDominoで頑張ってJSON作りたいですね。OpenAgentなしに)

話を戻すと、DominoのRSS出力といえば、非常に参考になるのが、notestips.comの2つの記事です。

Creating an RSS 1.0 news feed in Domino R5
Creating an RSS 2.0 feed in Domino R6

ここで重要なのは、Dominoのリリースではなく、RSSのバージョンです。
RSS1.0と2.0というのは全く別のものであり、2.0が1.0より優れているというわけではありません。それぞれに特徴があり、RSS1.0, 2.0それにatomを足した3つが現在主流のフィード形式で、どれを使ってもほぼRSSリーダー側で対応しているので問題はないはずです。(昔から、海外では2.0が主流、日本では1.0が主流でしたが、atomが完成して少しずつトレンドは変わっているかもしれません)

ということで、2.0の記事を参考にすればほぼよいですが、1.0の記事も十分使いものになります。
Dominoのリリースはあまり関係ありませんが、Domino 6以降を利用することで、ページを明確にXML扱いさせられるのはよいかと思います。

あと、RSSにはAutoDiscoveryという重要な技術があるのですが、こちらは上記のDomino 6の記事に書いてあるので参考にするとよいかと思います。

社内サイトでは、RSSリーダーの普及度の問題もあり、どこまで利用するかは微妙ですが、社外向けにDominoサイトを運営している場合は、是非活用されるとよいかと思います。

2006/04/29

greasemonkeyとDominoについて思うこと

greasemonkeyというのをご存知でしょうか。

Firefoxの拡張の1つですが、これを使うと既存のサイトにユーザースクリプトを定義し、DHTML的な動きを加えることが出来ます。Dominoの世界で代表的なのはLDDMonkeyと呼ばれているもので、LDDフォーラムのビューから、本文をプリビュー出来るというものです。

便利なものは、本当にサイトを見違えるように便利にしてくれます。

ところが、DHTML的なJavaScript処理をするためには、あらかじめ生成されているHTMLに、Classやidが適切に存在するなど、構造的に扱いやすくないと非常に難しいことが多いです。greasemonkeyは、あくまでJavaScriptの追加なので、既存のHTMLに依存するところもよくあります。

そこで思い出してしまうのが、DominoとJavaScriptの関係です。現行のDominoというのは、どうしても生成されるHTMLを完全にコントロール出来ないところもあり(自動生成されているため)、場合によっては不要な部分まで生成してしまうこともあります。以前のエントリの「文書が見つかりません」などはその典型でしょう。で、これらを隠すために、JavaScriptのonloadイベントで上書きしたりしますが、こういったテクニックってgreasemonkeyで時々使われるテクニックに似ているなあとふと思いました。