とある方に「Plaggerとは何だね?」と間接的に尋ねられたので、自分にとってももう一度Plaggerについて整理する意味でいろんなリソースを元にまとめてみました。ツッコミあったらくださいな。
Plaggerとは?
PlaggerとはPerlで書かれたPlugin拡張可能なRSS/Atomアグリゲータのことで、miyagawaさんを中心にオープンソースで開発が進められているソフトウェアです。
RSS/Atomアグリゲータとは言葉どおりRSS/Atomフィードをaggregate(集約)する アプリケーションのことで、一般的にはBlogなどで公開されているRSS/Atomフィードを 集めてきてなんらかの形で読めるようにするためのソフトを指します。 このようなアグリゲータとしての典型的なPlaggerの使い方は、 いくつかのRSSフィードを情報としてまとめて取得して、Gmailに転送して読むというものがあります。
もう一つのPlaggerの最大の特徴であるPlugin拡張可能な(=pluggable)という点 はどういうことかを説明します。Plaggerを大雑把に表現すると「『なにか』を入力して『ふがふが』して『どれか』に出力するもの」(otsuneさんの言葉より)ということができます。 簡単に言うとこの『なにか』とか『ふがふ』とか『どれか』にあたる部分がPluginというわけです。 Plaggerでは様々なPluginが用意されていてまた独自に開発することも可能になっています。 例を挙げると(これまたotsuneさんの例)数件のRSSフィードを入力元として読み込み、ただRSSの 概要だけじゃなくてそのページの全文を取得して(Filter::EntryFullTextプラグイン)、 さらにそこからHTMLタグを除去して(Filter::HTMLScrubberプラグイン)、重複したエントリーを 取り除いて(Filter::Ruleプラグイン)、出力として携帯用のHTMLに書き出す(Publish::CHTMLプラグイン)という具合です(実装はこれまたotsuneさんのはてな回答を参考にしてください)。これらPluginを組み合わせることによりRSS/Atomフィード及びそのエントリーを基本オブジェクトとして様々なことが実現できます。
Plaggerは実装としても「Plagger風なソフトウェア」という言葉があるくらいに、 特徴があったります。Plugin拡張可能な点もそうですが、設定ファイルをYAML形式で書いていく点や そのソフトウェアでなんでもやろうとする(考える)点や最先端とかということがあたるようです(松野徳大さんがShibuya.pmテクニカルトーク#7で言及)。このなんでもやろうとする点というのが 面白くてPlaggerでできそうな事例があるとPlaggerな人たちは[それPla]というタグをつけてソーシャルブックマークをしていきます。それPlaとは「それPlaggerでできるよ」が略されたと言われています。例えば、災害情報を察知するセンサーが作動したらアラートを携帯電話にメールする といったシステムもPlaggerでできるかもしれませんね。
Plaggerを使った面白い有名な実例を2件あげておきます。ひとつはGoogleで「はらへった」と検索すると自動的に自分の家にピザが届くというものです。Googleの検索履歴を入力として、そこからはらへったという文字があったらピザを届けるという形で出力、通知、をするというものです。本当に実践されていて、寿司バージョンもあるのが面白いです。もうひとつの例はPlaggerを使ってアダルトサイトの更新情報を伝えるエロサイトを自動で作る仕組みというものです。RSS配信のされていないようなアダルトサイトもPluginを使って新しいページができたのかを入力として読み込み、複数のサイトの更新をHTMLで書き出しています。
最後にPlaggerをより理解するための資料をいくつかピックアップしておきます。 まずはmiyagawaさん自身によるPlaggerのプレゼン資料の最新版はKansai.pmの第7回ミーティングでのものかと思います。またLL RINGでのtakesakoさんの資料もわかりやすいです(プレゼンの動画がYouTubeにあがっています)。
以上、さまざまな方がPlaggerを試しているのでその他の情報はウェブで検索などするとその他の、また新しい情報が得られると思います。

