ページの作成や編集にはユーザ登録が必要です。
前方一致によるグループ指定機能付きリファクタ版RSS生成プラグイン
- 投稿者: typer
- カテゴリ: 修正
- 優先度: 普通
- 状態: 提案
- 日時: 2005年12月25日 16時49分51秒
内容
MLでアイデアの出た、特定ページ群を対象としたRSS生成も出来るプラグインです。
また、それに併せてRSS0.91とRSS1.0のコード共通部分をなるべく共有するようにリファクタしました。これによりRSS2.0やAtomへの対応が行ないやすくなればと思います。
変更点
今の所、表面的な変更点は以下のようになっています。
- groupパラメータによる特定ページ群を対象としたRSS生成(詳細は後述)
- 幾つかの設定を設定ファイルにて変更できるようにした(設定ファイルの変更インターフェースは未作成、詳細は後述)
- RSS0.91のキャッシュファイル名をRSS91.cacheとした。
- RSS1.0にてdescriptionのないページがrdf:resourceに含まれないのを含まれるようにした(これはバグ?バグなら今のプラグインも修正します)
groupパラメータ
現在、RSSの取得はhttp://www.example.com/wiki.cgi?action=RSSのようになっていますが、これを、http://www.example.com/wiki.cgi?action=RSS&group=BBS%2Dとする事で掲示版のみの更新状況を得るなどが出来るようになります。つまり「group=」に設定した文字に前方一致するページだけのRSSが生成されます。
注意点として、groupの指定がない場合は、現状と同じくページ作成/更新時にRSSを生成しキャッシュする事で負荷を下げていますが、group指定を行なうと毎回更新ページを検索しRSSを生成しますので、RSSの参照数によってはサーバの負荷が上がります。
設定ファイルによる設定値の変更
現在、以下の項目が設定ファイルにより変更できます。ただし、設定ファイルを変更するための、環境設定のような変更インターフェースはまだ作成されいていません。したがって、変更には直接config/config.datを変更する必要があります。
- rss_content_type
- RSSを出力する際の、「Content-Type」を変更します。デフォルトはRSS0.91は「text/xml」RSS1.0は「」です。
- rss_max_item
- RSSに含める最大項目数を変更します。デフォルトは15です。
今後
さらなるリファクタ?
今の所、xmlはベタに生成しています。この方法だとスタイルシートの適用やDCモジュール以外の適用など、機能追加でも書き換えが必要になって、あまり嬉しくありません。出来ればプラグインなどで簡単に追加できつつ、xmlを意識した(でも軽い)生成方法に出来ないかなと思ってます。ですが、そこまでやるのはオーバースペックかなとも思っていて、需要の面をはかりかねてます。ご意見をお聞かせください。
group指定時もキャッシュが出来るようにする
環境設定などで特定の場合はキャッシュする様にしたり、他の項目も環境設定で変更できる様にしたい。
RSS2.0、Atom対応
これはだれかやるという人がいると嬉しいです。実際の所、私はRSSにつてあまり詳しくないので。
ライセンス
GPLとします。
コメント
- HEAD_INFOに出力する "RSS Auto Discovery"
をも 任意の指定が出来る様になると嬉しいです。 - kitta (2006年02月27日 13時23分20秒) - FSWikiでPodcastがやってみたいと思っているのでRSS2.0対応に期待しております。 - あいる (2006年03月12日 05時26分55秒)
- W2KでFSWiKi2.5.7 を使っています。このプラグインを定義し、単にFSWiKiのサイトにアクセスすると"Can't locate object method "add_head_info" via package "Wiki" at plugin/rss/RSSMaker.pm line 89."とエラーとなります。pluginフォルダのrssフォルダ配下にあるファイルを入れ替えましたが、適用方法や対象のFSWiKi版数は限定されていますか? - js (2006年04月03日 18時53分45秒)
- add_head_info は 3.5.9 以降のバージョンでないと実装されていない為、それ以前のバージョンではエラーとなります。履歴/2005-8-27 - KG (2006年04月03日 18時58分21秒)
- そうでしたか。ありがとうございました。 - js (2006年04月03日 19時04分40秒)
- 反対に、前方一致で特定のページを除外できるように出来ませんか?? - Masapiyo (2007年02月10日 21時50分45秒)
最終更新時間:2007年02月10日 21時50分45秒