Thu, March 08, 2007 12:16:29

デブサミ回顧録・WindowsでPlagger体験「それPla」

テーマ:IT関連ニュース

DevSummiで一番面白かったトピック。
それはサイボウズラボの竹迫さんが講演した
「PlaggerによるRSS/ATOMフィードのマッシュアップ」


最近は更新コンテンツをRSSなどのフィードにしているサイトが
多くて、自分もいろいろ購読しているのですが、その量が半端じゃないので
読まないままになっているものが山積みになってます。


整理分類して勝手にメールしてくれれば楽なんだけどなー

「それPlaggerでできるよ!」
と天の声。


そうなんです。Plaggerを使えばいろんなことが解決できるのです。


Plaggerの基本的な仕組みは
「購読」「カスタムフィード」
 ↓
「変換」
 ↓
「出力」「通知」
となっています。


つまり入力→加工→出力というアプリケーションのアタリマエの流れなのですが
これが柔軟にいろいろ変えられるところに面白さがあるわけです。


竹迫さんの事例で言うと…
腹減ったと検索するとピザやら寿司の出前をオーダーしてくれる
などということも出来るようです。


さて、そんな便利なPlaggerはLinux,Windows,Mac OSなどあらゆる
プラットフォームで稼働するという優れもの。


早速Windowsでのインストールですが

1.ActiveStateのサイトからActivePerl5.8.7を取得
 (バージョンが違うだけで全くインストールできないので注意!)

2.ppm プロンプトからTcoolのリポジトリをPPMに追加
> rep add tcool http://ppm.tcool.org/server/ppmserver.cgi?urn:PPMServer
> rep up tcool
> search Plagger

3.ppm プロンプトからPlaggerのインストール
> install Plagger
(基本全部Enterで大丈夫)

4.SSLパッケージを入れ替え
 1)theoryx5のリポジトリ追加
  rep add theoryx5 http://theoryx5.uwinnipeg.ca/cgi-bin/ppmserver?urn:/PPMServer58
 2)SSLeayのパッケージ検索
  rep up theoryx5(2回やると最上位に)
  search SSLeay
 3)インストール
  install -force 1

5.Plaggerの3大罠の一つ「assetsの罠」を回避するためPlaggerのソース
 からassetsを持ってきて入れ替えする
 入れ替える先はC:\Perl\bin
 Plagger-0.7.9.tar


と結構初心者には高いハードル。


わからなくなったら調べて、直して、というアプリ開発の健全なサイクル
が確立されて文化的な貢献が云々と話していた気がします。


で、起動する前にやらせたいことをYAMLというコンフィグファイルに
記載しておきます。


最初に書いたやつはこんな感じ。

---------------------

c:\perl\bin\config.yaml

---------------------

plugins:
- module: Subscription::Config
config:
feed:
- http://blog.bulknews.net/mt/index.rdf
- http://phpspot.org/blog/atom.xml
- http://www.pheedo.jp/f/JapaneseTechCrunch
- http://blog.japan.cnet.com/kenn/index.rdf
- http://www.asks.jp/users/hiro/data/rss
- http://www.socialnetworking.jp/index.rdf

- module: Filter::Rule
rule:
expression: $args->{entry}->body =~ m/WEB2.0|SNS|PHP|microsoft|JAVA/

- module: Filter::Rule
rule:
module: Deduped

- module: Publish::Gmail
config:
mailto:
- oresama@dot.com
mailfrom: hardreggaecafe@gmail.com
mailroute:
via: smtp_tls
host: smtp.gmail.com:587
username: hardreggaecafe@gmail.com
password: password


何も言わずこれを書いてみてください。ちなみにYAMLはタブではなく
インデントはすべてスペースです。
修正が必要なのはアグリゲートするRSSのところと、引っかける
キーワードとメールを送るSMTPサーバにGmailを使っているのでそこの
設定のところです。

賢明な皆様でしたら書いてある内容は何となくお分かりかと。


この辺のドキュメント
http://plagger.org/trac/wiki/
やインターネット上にいろいろな情報が流れているので
是非ググって見てください。


Plaggerはもちろんオープンソース。コミュニティのコミッタも
40人ほどいるとかで今最もアツいと思います。


プラグインも続々有志によって開発されており、Mixi情報もゲット
できたりするようです。


- module: CustomFeed::Mixi
config:
email: hardreggaecafe@gmail.com
password: password
fetch_body: 1
show_icon: 1
feed_type:
- RecentComment
- FriendDiary
- Message


こんなものを書いておけばアグリゲートするみたい。


あとは、環境変数のPATHにc:\perl\bin(Plaggerが入っているとこ)を
確認してコマンドプロンプトから

Plagger

と入力するだけです。


どうです?何やらメールで飛んできませんか?


キーワードに合致したエントリが続々送られてくるかと。

- module: Filter::Rule
rule:
module: Deduped

この設定がされていると、次から重複エントリは送信されません。


ということで、スタートメニューから
「アクセサリ」→「システムツール」→「タスク」
を立ち上げて定期的にバッチ起動させれば、あとは時間が到来すれば
自動でアグリゲートして送付という構図が出来上がります。


RSSみたいに必ずしもフィード化されているものでなくても
サイトの情報から必要な項目だけ切りだして送ったりとか、Excelに吐きだす
とかも出来るみたいです。


この辺 に詳しいこと載ってます。

そもそもの開発者Six Apartの宮川さんも多く文献を残しています。
それがhttp://pllager.org のwikiに集約されています。


サイボウズラボの社員でありながらShibuya Perl Mongers(Perlのユーザコミュ)
として積極的に広めようといろんな仕掛けを見せてくれる
竹迫さんはさながらPlaggerのエヴァンジェリストってところでしょうか。


当日は羽織袴で登場し、Wiiリモコンでプレゼン資料を次々めくる。

会場にいた人は完全にクギづけでしたよ(w

HardReggaeCafe@Amebloさんの読者になろう

ブログの更新情報が受け取れて、アクセスが簡単になります

最近の画像つき記事
 もっと見る >>