日本農業新聞「e農Net」ニュース配信システム

1 はじめに

(1) 概要

 日本農業新聞「e農Net」のトップニュースとニュースフラッシュを RSS 等で配信するシステムです。RSS1.0, Atom1.0 では記事の詳細な内容、RSS2.0 では記事概要を配信します。

 My Yahoo! や Google パーソナライズドホームのような個人ポータル構築サイトでは1フィード当たりの表示件数に制限があるため、トップニュース3件とニュースフラッシュ10件は異なるフィードで配信するようにしています。

(2) 特徴

 配信フォーマットは RSS1.0, RSS2.0, Atom1.0 に対応しています。また、携帯電話等で各記事の内容を確認することもできます。

 日本農業新聞のサーバ負荷を考慮し、e農Net から取得したデータを配信サーバ側に保存し、e農Net のデータに変更があった場合だけ取得し直すようにしています。

2 動作環境

(1) スクリプト実行条件

 本システムは、Apache モジュール版の PHP4.3 以上で動作します。動作確認は、Apache 1.3.34 + PHP 4.4.2 で行っています。
 なお、日本語文字コード変換を行っているため、マルチバイト文字列関数(mbstring)が使用可能な PHP が必須です。

(2) 必要ライブラリ

 本システムを使用するためには、アーカイブに含まれるファイルのほかに、PEARHTTP_Request パッケージが必要です(さらに HTTP_Request は Net_URL, Net_Socket, PEAR パッケージを使用します)。同梱の chkpac.php をサーバに転送して実行すると、インストールされていないパッケージが列挙されますので、必要なパッケージをダウンロードしてください。

(3) 必要ツール

 本システムのインストールやカスタマイズのために、FTP クライアントソフトとテキストエディタが必要です。日本語文字コードは UTF-8N を基本としているため、テキストエディタは UTF-8N に対応したものが必要です。フリーソフトでは、JmEditorMkEditor がお勧めです。

3 使用方法

 下記に基づき、システムをサーバ上に設置します。設置後のイメージは、下図のようになります。

feed   フィードシステムルートディレクトリ
enonet   本システム用ディレクトリ
enonetlib.php   「e農Net」フィード用共有ライブラリ
gettop.php   「e農Net」トップニュースデータ受信用共有サブスクリプト
top.dat   トップニュース受信データ保存ファイル(パーミッション 666 | 606)
rss1top.php   トップニュース RSS1.0 配信用メインスクリプト
rss2top.php   トップニュース RSS2.0 配信用メインスクリプト
atom1top.php   トップニュース Atom1.0 配信用メインスクリプト
getflash.php   「e農Net」ニュースフラッシュデータ受信用共有サブスクリプト
flash.dat   ニュースフラッシュ受信データ保存ファイル(パーミッション 666 | 606)
rss1flash.php   ニュースフラッシュ RSS1.0 配信用メインスクリプト
rss2flash.php   ニュースフラッシュ RSS2.0 配信用メインスクリプト
atom1flash.php   ニュースフラッシュ Atom1.0 配信用メインスクリプト
shownews.php   携帯端末記事閲覧用共有サブスクリプト
index.cgi   携帯端末閲覧用メインスクリプト
feedlib.php   フィード用共有ライブラリ
index.htm   上位ディレクトリに移動するだけのダミーファイル
HTTP HTTP 関連パッケージ用ディレクトリ(ディレクトリ名変更不可)
Request.php   HTTP_Request パッケージ(インストール済みなら不要)
Net Net 関連パッケージ用ディレクトリ(ディレクトリ名変更不可)
URL.php   Net_URL パッケージ(インストール済みなら不要)
Socket.php   Net_Socket パッケージ(インストール済みなら不要)
PEAR.php   PEAR パッケージ(インストール済みなら不要)

(1) システムの設置

 ローカル HDD の任意のフォルダーに本アーカイブをディレクトリ付きで解凍し、まず feed\enonet 下の enonetlib.php, gettop.php, getflash.php の下記の部分を修正してください。

 サーバの HTTP 用仮想ルートディレクトリに feed ディレクトリ以下の全てのディレクトリ及びファイルを丸ごとテキストモードで転送します($feedpath を変更した場合は、転送先を指定したパスにあわせてください)。転送後、enonet ディレクトリ下の top.dat, flash.dat のパーミッションをプロバイダの推奨値にあわせて 666 または 606 に設定します($datafile を変更した場合は、受信データ保存ファイル名も変更してください)。

 chkpac.php の結果に基づき、ダウンロードしたファイルから必要なファイルを解凍し、上記設置イメージに従って転送します。

enonet.lib 修正箇所
内  容 意  味 備    考
6 $domain = 'macs.o-ya.net'; ドメイン名 自分のドメイン名に必ず変更する
7 $feedpath = '/feed/enonet'; フィードパス 本システム設置場所の絶対パス(最後のスラッシュは付けない)
8 $datafile = '.dat'; データファイル名 受信データを保存するファイル名(実際には、トップニュースは 'top'.$datafile、ニュースフラッシュは 'flash'.$datafile というファイル名になる)
9 $libpath = ''; ライブラリパス 設置イメージ以外のディレクトリにライブラリをコピーした場合は、そのディレクトリへの相対パスを指定する

(2) スクリプトの実行

 必要に応じて、メインスクリプト rss1top.php, rss2top.php, atom1top.php, rss1flash.php, rss2flash.php, atom1flash.php, index.php のいずれかを呼び出します。
 ブラウザ等の RSS オートディテクトに対応させる場合は、携帯農薬検索実験室の固定端末トップページのソースを参考にしてください。

4 留意事項

(1) 利用/改変条件

 本ソフトウェアはフリーソフトです。自由に(無料で)本ソフトウェアをご自分のウェブサイトに設置し、利用することができます。ただし、サイト上のどこかに携帯農薬検索実験室へのリンクを張って、本ソフトウェアを使用している旨を明記してください。

 また、本ソフトウェアは自由に改変して利用することができます。ただし、改変したソフトウェアを本ソフトウェアと同じ条件で、携帯農薬検索実験室/実験成果に公開することを義務づけます。

 なお、本ソフトウェアをベースとしたシステムを商利用に供することは禁止します。ただし、ここでいう商利用とは、本ソフトウェアの販売や、本ソフトウェアを利用した有料サイトの構築を指します。たとえば、農薬販売業者が職員への情報提供や顧客サービスのために自社サイトに本ソフトウェアを設置し、無償で公開する場合は商利用には当たりません。

(2) 著作権

 本ソフトウェアの著作権は、Hidemi Oya が留保します。本ソフトウェアを改変した場合、原作者の著作権表示を削除することは禁止します(改変者の著作権表示を追加することは自由です)。

(3) 免責

 本ソフトウェアのバグ等によって利用者やサーバに何らかの損害を与えるようなことがあっても、作者は補償やバージョンアップの責務を負いません。自己責任でご利用ください。

(4) サポート

 本ソフトウェアのサポートは、携帯農薬検索実験室/研究会で行います。本ソフトウェアは日本農業新聞とは全く関係ありませんので、本ソフトウェアに関して日本農業新聞に問い合わせなどを行うことは厳に謹んでください

5 開発履歴

Version 1.0.0 (2006/5/12)

 フル機能版ファーストリリース。

Version 1.1.0 (2006/5/16)

  1. パッケージチェッカの追加
  2. ユーザエリアのパッケージへのサーチパス設定機能追加
  3. HTTP アクセスパッケージを HTTP_Client から HTTP_Request に変更