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

| コメント(7) | トラックバック(3)

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

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

トラックバック(3)

トラックバックURL: http://somethingnew2.com/cgi/b/mt-tb.cgi/659

「さむしんぐにゅぅ」よりトラックバックいただきまして、それも手伝って更新しました。 ユーザーさんがどのくらいいらっしゃるかわかりませんが、「RSS配信モジ... 続きを読む

自分が管理しているハロプロの応援団体のサイトは、情報発信用にXOOPSサイト、団員同士の交流用にはOpenPNEを使っていて、OpenPNEはXOOPSの... 続きを読む

先日投稿したエントリ、OpnePNEの最新日記をRSSに吐き出すにしまさんからト... 続きを読む

コメント(7)

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

> tom

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

TBどうもです♪

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

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

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

> しまさん

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

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

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

Banchoさん

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


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


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

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

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

コメントする

このブログ記事について

このページは、SATO Yozoが2007年5月29日 00:00に書いたブログ記事です。

ひとつ前のブログ記事は「六本木ヒルズでワインイベント」です。

次のブログ記事は「Apolloアプリケーションが落ちたときは」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

ウェブページ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.04