$Id: readme_ja.txt,v 1.7 2006/09/29 12:48:54 ohwada Exp $

=================================================
Version: 0.40
Date:   2006-09-10
Author: Kenichi OHWADA
URL:    http://linux.ohwada.jp/
Email:  webmaster@ohwada.jp
=================================================

● 主な変更内容
(1) happy_linux モジュール
RDF/RSS/ATOM 生成 のクラス関数を移動した

(2) weblink モジュール
weblink との統合に備えて、一部変更した。

(3) RSS解析
(3-1) link タグのない RSS に対応した
http://dev.xoops.org/modules/xfmod/tracker/index.php?func=detail&aid=4146&group_id=1300&atid=1356

(3-2) enclosure タグが複数ある RSS に対応した

(3-3) URL形式ではない guid タグを持つ RSS に対応した
rssc_headline モジュール用

(4) 検索
(4-1) Amethyst Blue にて配布している検索モジュールに対応して、検索結果に本文を表示した
http://www.suin.jp/

(4-2) 検索結果のキーワードをハイライト表示した

(4-3) ゆらぎ検索 を追加した（日本語のみ）
http://linux.ohwada.jp/modules/newbb/viewtopic.php?topic_id=503&forum=9

Amethyst Blue にて配布している検索モジュールを参考にした
- 半角英数のとき 全角英数も検索対象にする
- 全角英数のとき 半角英数も検索対象にする
- 半角カタカナのとき 全角カタカナと全角ひらがなも検索対象にする
- 全角カタカナのとき 半角カタカナと全角ひらがなも検索対象にする
- 全角ひらがなのとき 半角カタカナと全角ひらがなも検索対象にする

(5) ページタイトル を追加した
http://linux.ohwada.jp/modules/newbb/viewtopic.php?topic_id=494&forum=9

(6) 本文をHTML表示する/しないのオプションを追加した
http://linux2.ohwada.net/modules/newbb/viewtopic.php?topic_id=199&forum=5

(7) ブログ表示のブロックを追加した

(8) config テーブルに conf_valuetype 項目を追加した

(9) スタイルシートを採用した

(10) 管理者画面
(10-1) テーブルの管理画面にて、「パンくず」を表示した
(10-2) テーブルの管理画面にて、パラメータの検査を強化した
(10-3) リンクの登録・変更画面にて、RSSが解析出来ないときは、その旨を表示した
(10-4) RSS URL の重複の検査を追加した

(11) セッションチケット・クラス (XoopsGTicket) を採用した
Peak にて配布している Tinyd から流用した

(12) バグ対策
(12-1)「このリンクに属するfeedを表示する」が常に「RSSC」ディレクトリになる
http://dev.xoops.org/modules/xfmod/tracker/index.php?func=detail&aid=4145&group_id=1300&atid=1353

(12-2) パースできないときに、Fatal error になる

(12-3) 検索結果のリンク先がない


=================================================
Version: 0.30
Date:   2006-07-10
================================================

● 主な変更内容
(1) happy_linux モジュール
weblink との統合に備えて、共通の処理を happy_linux モジュールとして独立した。
このRSSセンター・モジュールを使用するには、happy_linux モジュールが必要となります。

(2) rssc_headline モジュール
rssc_headline モジュールとの連携機能を追加した
rssc_headline は xoopsheadline をベースに、
RSSの管理機能を RSSCモジュールを利用するように改版したものです。

(3) podcast に対応した
RSS feed に enclosure タグがあると、podcast と見なし、そのリンクを表示する

(4) 同じリンクがあるかのチェック
リンクの登録時に、同じ「RDF/RSS/ATOM URL」を持つリンクがあるかチェックを追加した
リンクの変更画面で、同じ「RDF/RSS/ATOM URL」を持つリンクが複数あるときは、その旨を表示した

(5) パンくずを表示した
(6) メインに説明文を追加した
(7) コマンドライン(bin_refresh) の初期値を変更した 
(8) RSS の image タグを link テーブル に保存した
(9 feed 管理で pagenavi が効かないバグを修正した

内部構造を大きく変更した
(1) feed テーブルに podcast用の項目を追加した

● 要求事項
happy_linux モジュールが必要です。

● 注意
ほぼ全てのファイルを変更しています。
大きな問題はないはずですが、小さな問題はあると思います。
バグ報告やバグ解決などは歓迎します。

● TODO
(1) weblinksモジュールと連携する
(2) ブラックリストを共有する仕組みを作る
(3) 検索結果のブロックを追加する
(4) 管理画面にヘッドラインの一覧が追加する


=================================================
Version: 0.20
Date:   2006-06-08
=================================================

● 主な変更内容
１．ユーザー向けの機能
(1) 単体リンク表示 (single_link) を追加した
(2) 単体リンク UTF-8 表示 (single_link_utf8) を追加した
(3) HTMLタグ許可のとき、javascript の検査を強化した
(4) RSS表示にて、管理者のとき、debug モード を表示していたが、通常の表示モード に変更した。
debug モードの表示を管理者画面に移動した

(5) ブロック表示のテンプレート用に site_tile と site_link をアサインした
http://linux.ohwada.jp/modules/newbb/viewtopic.php?topic_id=432&forum=9

２．管理者向けの機能
(1) feed の登録を廃止した
(2) RSSの debug モードの生成・表示を追加した
(3) リンクを登録・編集した後に、RSSを更新するようにした

(4) エンコードが自動検出できなかったときに、デフォルト値として UTF-8 を設定した
BUG 3875: 
http://dev.xoops.org/modules/xfmod/tracker/?func=detail&aid=3875&group_id=1300&atid=1353
http://linux2.ohwada.net/modules/newbb/viewtopic.php?viewmode=flat&topic_id=145&forum=5

(5) single_link と single_feed へのリンク用にアイコンを表示した
(6) コマンド実行時のオーバーヘッドを削減した
DB操作を直接行い、XOOPS コア・ファイルを使用しないようにした

３．実装面、内部構造
(1) RSSパーサーに magpie を採用した
パーサーの選択を廃止し、magpie のみにした
管理者画面のRSS解析にて 表示する項目を増やした

(2) RSS 解析後のデータをオブジェクト・クラス化した
(3) channel と rows の保存形式を serialize 関数に変更した

４．PHP 5 対応
(1) 下記の notice を修正した
Only variable references should be returned by reference

５．言語対応
(1) フランス語を追加
http://linux2.ohwada.net/modules/newbb/viewtopic.php?topic_id=177&forum=5

６．バグ修正
(1) BUG 3622: cannot modify blacklist
http://dev.xoops.org/modules/xfmod/tracker/index.php?func=detail&aid=3622&group_id=1300&atid=1353

(2) BUG 3864: suppress Notice Undefined offset: 0
http://dev.xoops.org/modules/xfmod/tracker/index.php?func=detail&aid=3864&group_id=1300&atid=1353

● 注意
ほぼ全てのファイルを変更しています。
大きな問題はないはずですが、小さな問題はあると思います。
バグ報告やバグ解決などは歓迎します。

● TODO
(1) 他のモジュールと連携するサンプルを作る
(2) ブラックリストを共有する仕組みを作る
(3) 検索結果のブロックを追加する
(4) 管理画面にヘッドラインの一覧が追加する


=================================================
Version: 0.11
Date:   2006-01-21
=================================================

* 主な変更内容 *
(1) ブロック名にモジュールの識別番号を追加した
(2) レコードの一覧にID逆順を追加した
(3) レコードの更新方法を変更した
(4) menu.php のリンク切れを修正した

=================================================
Version: 0.10
Date:   2006-01-01
=================================================

● モジュール概要
このモジュールは、 登録されたサイトを巡回し、RDF/RSS/ATOM 記事を収集し、データベースに格納する。
格納されたデータは検索が可能であり、検索結果をRDF/RSS/ATOM形式で出力することも可能である。

このモジュールは、 WebLinks の RDF/RSS/ATOM 記事収集機能を独立し、機能拡張したものである。
RDF/RSS/ATOM 収集のプラットホームとなる方向を目指している。
応用例としては、ヘッドライン・モジュール や 未来検索 http://sf.livedoor.com/ を想定している。

現在、ベータ版です。
今後、大幅に仕様や実装が変わる可能性があります。
何か問題が出ても、自分でなんとか出来る人のみお使いください。
仕様や応用例の提案、またはバグ報告やバグ解決やハックなどは歓迎します。


● 機能概要
１．サイト登録
サイト名、サイトURL、RDF/RSS/ATOM のURL、キャッシュ時間などを入力する。

２．「RDF/RSS/ATOM Auto Discovery」
サイトが「RDF/RSS/ATOM Auto Discovery」に対応してるときは、
サイトのURLを登録すると、RDF/RSS/ATOM のURL を自動検出し登録される。

３．ブラックリスト登録
未来検索などのブログ検索サイトを登録すると、好ましくない記事が収集されることがある。
好ましくない記事のURLをブラックリストに登録すると、以降の収集は停止される。
なお「好ましくない記事」は人により異なる。

４．RDF/RSS/ATOM記事の取得
どういう契機でRSS/ATOM記事を取得するか。
３つの方法を用意しています。

４．１ 誰かが WEBブラウザでアクセスしたときに、取得する
誰かが簡易ヘッドラインのページやブロックにアクセスしたときに実行されます。
巡回するサイトは簡易ヘッドラインに表示しているサイトだけです。
表示するサイトが多いと、タイムアウトする可能性があります。

４．２ 管理者が手動で取得する
管理者画面にアーカイブ更新があります。

４．３ コマンドラインモードで、自動的に取得する。
「コマンドラインの設定」を参照ください。

５．RDF/RSS/ATOM記事のXML解析
５．１ 文字コード
任意の文字コードに対応している。
ただし、XMLデータに文字コードの指定がないか、
PHPのマルチバイト関数が対応していない文字コードでは、文字化けすることがある。
また、日本語版では、ドイツ語やフランス語のウムラウトなどは文字化けすることがある。
なお、PHPのXMLパーサー関数は US-ASCII あるいは UTF-8 しか使用できないため、
EUC-JPなどはUTF-8に変換してから、解析している。

５．２ パーサーの選択
XMLデータの形式に応じて、RDF/RSS/ATOMのパーサーを自動的に選択する。
さらに、パーサーは複数 用意され、好きなものが選択できる。
XOOPSコアのRSSパーサーと、RSSCモジュール独自のパーサーが用意されている。
後者の方がパースできる項目が多い。

６．RDF/RSS/ATOM記事の表示
(1) HTMLタグの有効・無効
タイトルや本文にHTMLタグの使用をするか/しないかが選択できる。
使用する場合でも、JavaScript が含まれていると、サニタイズされ無効になる。

７．不備なRDF/RSS/ATOM記事の処理
(1) タイトルなし
タイトルがないものは、「---」を表示する。

(2) 日付なし
日付がないものは、常に最下位に表示される。
DBに格納するときに、現在の時刻を設定する。

(3) 未来の日付
未来の日付になっていると、常に上位に表示される。
表示するときに、３日以上未来のものを省いている。

８．サーバー環境
(1) PHP環境変数 allow_url_fopen off に対応した。

９．データの移行
９．１ XoopsHeadline モジュール
XoopsHeadline モジュール からヘッドライン・テーブルの過去のデータを移行できる。

９．１ WebLinks モジュール
WebLinks モジュールから、リンク・テーブル、フィード・テーブル、ブラックリストなどの過去のデータを移行できる。
現時点では、WebLinksとの連携機能がないので、
WebLinks側でも継続してRDF/RSS/ATOM記事を収集する必要がある。

１０．モジュール複製
コピーするだけでモジュールが複製できます。
TinyD モジュールなどで実装されているものと同じ機能です。
用意されているモジュール名は "rssc" と "rssc0" の２つです。
それ以外の場合は、sql と templates と images ディレクトリに必要なファイルを作成してください。


● インストール
(1) 解凍すると、「rssc」というディレクトリが出来る。
(2) XOOPS管理画面にて、モジュールのインストールをする。
(3) RSSCアイコンをクリックし、RSSCモジュールの管理者画面にする。
(4) 一番最初はいくつか警告が出る。
  (i) 設定テーブルが初期化されていない
     「保存」をクリックして、初期化する。
  (ii) cacheデイレクトリの書込み許可がない
      rssc/cache デイレクトリに書込み許可を与える
(5)「リンク一覧」にて「xoops.org」が登録されていることを確認する。
(6)「アーカイブ管理」にて「アーカイブの更新」を実行する
(7)「モジュールへ」をクリックし、RSSCモジュールのトップページを表示する。
(8) 最新のfeed記事が表示されれば、OK。
(9) 必要に応じて、 XoopsHeadline モジュールやWebLinks モジュールからデータを移行する。

● コマンドラインの設定
コマンドラインは、cron から定期的に実行することを想定しています。
不要であれば、bin ディレクトリを削除してください。

(1) 管理者画面にする
(2)「コマンド管理」にて「設定ファイルの生成」を実行する。
(3)「bin/refresh.php のテスト実行」を実行する。

(4) crontab に下記のような設定を加える。
-----
22 3 * * * /usr/bin/php4 -q -f /home/***/html/modules/rssc/bin/refresh.php password
-----
password は、「モジュール設定」画面の「コマンド設定」「パスワード 」に表示されている。


● TODO
(1) パーサーに magpieRSS と PEAR RSS を追加する。
(2) ブラックリストを共有する仕組みを作る
(3) 他のモジュールと連携するサンプルを作る
(4) 検索結果のブロックを追加する
(5) ヘッドラインにHTMLありを表示する
(6) 管理画面にヘッドラインの一覧が追加する

