Amazon.co.jp ウィジェット

さむしんぐにゅぅ

さとうようぞう のBlog。気の向いた時に更新。サーバー落ちてたらまた来てちょ。

OpnePNEの最新日記をRSSに吐き出す

以前書いた通り、社内でOpenPNEを使ってSNSを運用しているんですが、新卒が入って人数も増えたため業務日報としてつけさせている日記をチェックするのが結構大変になってきた。

そこで楽に日記をチェックする方法としてRSSの出力を考える。

まずはgoogleOpenPNE 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に出力する目的が違う場合は他の手段を検討して下さい。
(幸いなことに認証アリのモジュールはインターネット上で公開されています)

万一重大な事故(情報漏洩とか)に繋がっても、責任とれませんから。。そこんとこよろしくお願いします。

Posted by yz at 2007年05月29日 00:00 | コメント (7) | トラックバック (3)

このエントリーを含むはてなブックマーク | Yahoo!ブックマークに登録 | del.icio.us it! | この記事をLivedoorにクリップ! | FC2ブックマーク | Technorati Links


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

社内SNSってやつですか。興味ありです。
今度、詳しく聞かせて。

Posted by: tom at 2007年05月29日 08:44

> tom

導入して使ってみるとなかなか便利だよ。特にSNS慣れしている新卒新人とかに使わせておくと面白いアイディアとか出てくるし。

Posted by: yz at 2007年05月29日 12:28

TBどうもです♪

「○○ってなんだよぅ」改め「Web2.0ってなんだよぅ」管理人のしまさんです。
当初は認証なしだったんですよ~とか色々。
それはそれで残しておけば良かったかと、これを機に、復活(?)させました。

風呂に入っていたら、ついつい寝ちまってこんな時間ですが・・・TBしようと思ったらエラーになります。
なんででしょうねぇ?
Seesaaのせいかな?

というわけで、コメントにて失礼しました。m(_ _)m

Posted by: しまさん、 at 2007年05月30日 01:32

> しまさん

こちらこそどうもありがとうございます。
トラックバックも無事届いておりました。
掲載しておきますね。

Posted by: yz at 2007年05月31日 10:24

はじめまして。Banchoと言います。
コミュニティの最新書き込みをRSS出力するように改造して使っています。

で、自分もSeesaaなんですがトラバがエラーになりました。

Posted by: Bancho at 2007年06月03日 22:03

Banchoさん

コメント&TBどうもありがとうございます。
xoopsとOpenPNEを連携ですかぁ。考えてもみませんでしたよ、そんなこと。
どっちもLAMPで動いている仕組みですから、確かに連携はできそうですけどねぇ。


ちなみにうちの社内ではxoopsは使わず、Drupalなんかを使い始めたところです。
http://drupal.jp/


seesaaからエラーになる件、ログとかから調査してみますね。

Posted by: yz at 2007年06月05日 23:09

1つで何でもまかなえれば楽なんですけどね~
閉じられた世界でやりたい事と、外に向けて発信したい事と両方あるので、なかなか1つのツールだと両立は難しいようです。
あと、ウチは携帯ユーザが多いので、携帯対応も無視できない事項でして。

Drupalですか。興味の対象にちょっと見てみます。
たまたま仕事で目にしたのがキッカケでXOOSを使い出しましたが、GeeklogやPloneなどオープンソースのCMSも色々あるんですね~

Posted by: Bancho at 2007年06月06日 10:40

コメントを投稿する




ブラウザにお名前やアドレスを保存しますか?

はいを選択すると、次回から入力がちょっと楽になります)



この記事のトラックバックURL


この記事に対するトラックバック

» OpnePNE拡張「RSS配信モジュール」 Ver.0.4.5

「さむしんぐにゅぅ」よりトラックバックいただきまして、それも手伝って更新しました。 ユーザーさんがどのくらいいらっしゃるかわかりませんが、「RSS配信モジ...
Tracked by: Web2.0ってなんだよぅ at 2007年05月30日 01:11

» OpenPNEのコミュニティをRSS出力

自分が管理しているハロプロの応援団体のサイトは、情報発信用にXOOPSサイト、団員同士の交流用にはOpenPNEを使っていて、OpenPNEはXOOPSの...
Tracked by: デジタル番長(弐) at 2007年06月02日 12:56

» OpnePNEの最新日記をRSSに吐き出す、の注意事項

先日投稿したエントリ、OpnePNEの最新日記をRSSに吐き出すにしまさんからト...
Tracked by: さむしんぐにゅぅ at 2008年02月10日 08:45


Made with dreamweaver Made with fireworks Powered by Movable Type 3.34 Powered by Wandering Wind Apple Store 人気ブログランキング - さむしんぐにゅぅ
Copyright : [Articles] (C) さむしんぐにゅぅ All Rights Reserved.
[Comments/Trackbacks] ... Authors of those have rights.