以前書いた通り、社内でOpenPNEを使ってSNSを運用しているんですが、新卒が入って人数も増えたため業務日報としてつけさせている日記をチェックするのが結構大変になってきた。
そこで楽に日記をチェックする方法としてRSSの出力を考える。
まずはgoogleでOpenPNE RSSで検索。
すばらしいことに追加モジュールが○○ってなんだよぅ: OpnePNE拡張「RSS配信モジュール」 Ver.0.4.3とか公開日記 - OpenPNEカスタマイズ外部公開SNSに公開されているので、とりあえずダウンロード。
・・・。
うーん、僕が求めている機能とはちょっと違うかなぁ。。
・どうせイントラからしかアクセスできない環境にあるので、RSS取得に認証なんか無くていい
・マイフレンドの日記だけじゃぁあんまり意味ないので、最新日記一覧を根こそぎ出力したい
とりあえずターゲットにしたのは、自分がRSSリーダーとして活用しているFirefox + Sageで普通のBlog読むように読めること。
ログインなんか無くしてしまって、「社内SNSの日記を読む」という行為の敷居を下げられるだけ下げないと、例えば本部長クラスの人間とかが平社員の(特に大勢いる新卒新人)の日報に毎日目を通すなんてことは不可能なんですよね。
発想としてはKoshigoeBLOG: OpenPNE のデータエクスポートで公開されているOpenPNEデータエクスポーターに近いかも。当然こちらも試させてもらったんですが、ウチのサーバーにはphp-jsonがないみたいでどうしてもよう分からんエラーがでる。
なんとか動かそうとがんばってみたもののPHPはあんま詳しくないし、どうやっても上手くいかないのにイライラしてきたので、ゼロから自作した(笑)。
先人が参考になるモジュールを公開してくれている例に倣って、汚いコードだけど一応公開。
(.zipファイル、1,225バイト)
OpenPNE本体はPHPで動いてますが、PHP嫌いなので(笑)Perlで作成。OpenPNE本体に組み込むものじゃぁないから問題なしでしょ。使い捨てスクリプトだし。
CGIですらない非常に単純なスクリプトなので、12行目から25行目までの設定をOpenPNEの環境に合わせて修正し、スクリプト本体を適当な場所にFTPして(WEBから見えないところ推奨)拡張子を.plに変更、実行権限を付与してやればOK。
実行属性の変更はコマンドだとこう。
chmod 755 ./genrss.pl
FTPクライアントから変更もできるはず。
スクリプトを実行すれば19行目で指定した場所にindex.xmlが吐き出されるはず。エラーが出るようならCPANからXML::Writerをダウンロードしてきてインストールすればよろし。
DBIは・・・、普通のサーバーには入ってるだろうと思う。
動くのを確認できたら、5分に一回実行するようにスケジューラーに登録。
*/5 * * * * $PATH_TO_SCRIPT/genrss.pl > /dev/null 2>&1
完了。
社内で複数人がテストしてくれてますが、評判もなかなかです。
(Firefox + Sageの他にもSleipnirのRSSプラグイン、Operaで確認)
画像も一緒に見たい、とか、ついでにコメント内容も表示させるようにしてくれ、という注文が無いわけではないですが、却下する方向で(笑)。
# てかそれを実装するくらいならちゃんとOpenPNEのモジュールとして作りたい
【2007/06/05 追記】
このスクリプトを使うと、RSSへのアクセスが「認証無しで」できてしまいます。
つまりインターネットに接続されているサーバーでこれを動かすと、登録メンバーじゃぁない不特定多数の人に日記を全て公開することになってしまう、ということです。
僕は「イントラネットという限られた人間だけがアクセスできる環境に構築したSNSで、認証無しで見られるRSS配信したい」という意図のもとでスクリプトを作成し、もし同じような需要があるなら是非使ってもらいたい、と思ったのでこれを公開することにしました。
ですので、SNSの管理ポリシーやRSSに出力する目的が違う場合は他の手段を検討して下さい。
(幸いなことに認証アリのモジュールはインターネット上で公開されています)
万一重大な事故(情報漏洩とか)に繋がっても、責任とれませんから。。そこんとこよろしくお願いします。
![]()
|
|
|
|
| Technorati Links

この記事に対するコメント