• 検索結果がありません。

RNA: RSS 収集・配信サービス

ドキュメント内 phdthesis dvi (ページ 112-117)

RNAはPerlで記述されたCGI プログラムである.ユーザは自身が持つWebサーバにこ れを設置して運用することができる.スクリーンショットを図6.3に示す.

RNAのユーザは最初にRSS の登録を行う必要がある.他サイトが配信している RSSの URIを設定すると,RNAはHTTP 通信によってファイルを取得する.登録サイトには分類 のためにカテゴリを設定することができる.登録サイトのリストはRSS化され,他のアプリ ケーションで使用することができる.また,アグリゲータのサイトリストの標準フォーマット であるOPMLの読み込み,書き出しにも対応している.

RNA は登録された RSS を取得後,パース処理を行い,複数の RSS ツリーから 1 つの

第6章 個人のための情報流通プラットフォーム 99

「global」RSSツリーを構築する.global RSSツリーは取得された全ての情報が格納されてい る.次に,RNAはコントローラの要求に応じてglobalツリーを加工し.部分ツリーを生成す る.ここでは,サイトごとの最新記事を抽出したもの,サイトにかかわらず更新時間順にコン テンツを並べるものといった3種類のツリーを生成する.また,ユーザはルールを記述したプ ラグインスクリプトを用意することで自由に部分ツリーを生成することができる.

生成された部分ツリーは,そのまま新しいRSSとして配信するほか,XSLスタイルシート を用いてWebブラウザ側もしくはサーバ側の XSLTエンジンによって可視化することが可 能である.また,RNA内部のHTML変換エンジンによって,ユーザがテンプレートファイ ルを用意することで部分ツリーをHTML化することも可能である.ここで用いられるテンプ レートはHTMLと類似したものになっており,XSLスタイルシートよりも理解しやすく一般 ユーザにもカスタマイズしやすいものになっている.

RNAで表示するコンテンツのうち,ユーザが興味を持ったものに対しては,1クリックで クリップリストに登録することができる.クリップされたコンテンツは独自のRSSツリーに 格納され,その他のRSSと同様に配信される.通常のツリーは内容が刻々と変化していくが,

クリップのツリーからは情報が消されることはない.

RSS の内容は配信元の情報更新によって変化するために,RSS 取得およびツリー生成は たびたび行う必要がある.RNAはシンプルなCGI であることから,更新処理はサーバ側の cronによって一定間隔で行うことが可能である.また,閲覧者が手動で更新要求を出せるほ

かに,Weblogツールが標準的に備えている XML-RPCインターフェイスのメッセージを受

信し,遠隔更新することも可能である.これにより,Weblogの書き手が新たなコンテンツを 作成したことをRNAに通知することができる.

RNAは取得したコンテンツのそれぞれについて後述の TrackBackリンクの有無をシステ ムに問い合わせ,存在する場合にはこれを抽出する.また,Description内に記述されている ハイパーリンクを同様に抽出する.抽出されたリンク情報は新たなメタデータとして配信時に 追加される.

RNAでは取得されたRSSの文法をチェックし,正しくないものがあればこれを修正する.

RSSには主に0.91,1.0および2.0の3種のバージョンが提案されており,サイトごとに配信 されているRSSのバージョンが異なっているが,RNAでは全てのフォーマットをバージョン 1.0に変換する.全てのRSSはキャッシュされるとともに,サイトごとにしか付加されていな かったRSSのツリーを分解し,コンテンツごとに付加したものを保存する.このRSSには先 ほど述べたリンク情報をメタデータとして追加する.

特定のサイトを登録し,更新状況をチェックするためのアプリケーションとしてはアンテナが すでに存在する.既存のアンテナはURIに対してHTTP通信を用いてヘッダ(LastModified

第6章 個人のための情報流通プラットフォーム 100

6.3 RNA: Snapshot

等)を取得し,それに応じてリストを並べ替える.RNAでは,RSSをデータ交換フォーマッ トとして用いることにより,コンテンツのタイトルや作成者,概要といったリッチなコンテン ツを取得できるため,RNAが配信するコンテンツもそれにともなって充実させることができ る.ただし,RSSを配信していないサイトに対応するために,RNAでは既存のアンテナと連 携して情報を得る機能がある.

RNAではRSSに対応することでサイト単位だけでなく,サイト内のコンテンツ単位での 情報編集を行うことが可能になった.クリップ機能やTrackBack抽出機能はその一部である.

また,RNAが独自に RSSを付加することにより,より充実したメタデータの配信が可能に なっている.

6.7.1 glucose: クライアント型 RSS アグリゲータ

glucoseはWindows PC上で動作するクライアント型RSS アグリゲータである.既存のク ライアント型アグリゲータと異なり,glucoseでは RNAとの連携によって情報の流通プロセ スを支援することを目指して開発されている.スクリーンショットを図6.4に示す.

ユーザはRNAと同様に他サイトが配信するRSSのURIを登録する.OPMLの入出力に も対応する.また,RSSを配信していないいくつかのニュースサイトについてはセンサープラ グインというPythonスクリプトによって記事を切り出し,RSS化することが可能である.

第6章 個人のための情報流通プラットフォーム 101

glucoseによって取得されたRSSは展開され,3ペインのインターフェイスによって表示さ

れる.左ペインはRSSを配信するサイトのリスト(チャンネル)である.右上のペインには 各コンテンツのタイトル,更新日時,サイト名等のリストが表示されており,各項目によって ソートすることが可能である.右下のペインには選択されたコンテンツの内容が表示される.

また,ティッカー(電光掲示板)機能により,ユーザに対してプッシュ形式で情報を伝えるこ とも可能である.

RNAと同様に各コンテンツについてTrackBackを抽出することが可能である.抽出され たリンクは右上のペインでメーラの「Re:」表示と同じように表示される.また,リンク先の コンテンツはglucoseが先読みすることで,快適に閲覧することができる.

興味のあるコンテンツについてユーザ自身のWeblogに記事を追加する場合には,glucose

のWeblogインターフェイスを用いて直接ポストすることができる.このインターフェイスに

はXML-RPCを利用している.

Weblogへのポスト機能と同様に,ユーザの持つRNAのクリップに情報を追加することが

できる.

glucoseはP2P のサーバントとして動作し,glucoseを起動しているユーザ同士でネット ワークを構成する.P2P ネットワーク内では閲覧されたコンテンツの URI 情報がランダム に配信され,他のユーザの glucoseに対してコンテンツ推薦を行う.その中に興味のあるコ ンテンツがある場合には,クリップやポストによって反映させるほか,そのサイトのRSSを glucoseに登録することができる.

第6章 個人のための情報流通プラットフォーム 102

6.4 Glucose: Snapshot

第6章 個人のための情報流通プラットフォーム 103

ドキュメント内 phdthesis dvi (ページ 112-117)