Plagger: DIY RSS/Atom aggregation

Plagger is a pluggable RSS/Atom feed aggregator written in Perl. Everything is implemented as a small plugin and you can mash them up together using Plagger core API and plugin hooks. You can think of Plagger as a blosxom or qpsmtpd for RSS aggregator.

Plagger comes with various plugin API hooks so that third-party plugins can extend:

  • Subscription (Bloglines, Google Reader, My Yahoo!, OPML)
  • Custom Feed (mixi, Mailman, Google News)
  • Filter/Tag Content (del.icio.us, Technorati, URLBL, FeedBurner)
  • Smart Feed (Tag, Rating, Enclosure)
  • Widget on output (del.icio.us, Digg.com, Technorati, Bloglines, Blogpulse)
  • Publish (Gmail, SMS, CHTML, Mobile Mail, XHTML, JavaScript, IMAP, NNTP, PSP, iPod, metaWeblog, Atom)

Plugins can be enabled / disabled using condition modules (= rule-based). So you can do "Forward all the updates to my Gmail account, but if the title contains 'Plagger' and bookmarked by 5 users on del.icio.us, SMS me as well."

By default, Plagger doesn't do anything with the 2 tough parts of aggregator: Crawling and User Interface, but lets other services/tools do it. My recommendation is to use Bloglines for Crawling and Gmail for User Interface (and Search).

Since rev7, Plagger comes with a dumb aggregator plugin that fetches RSS/Atom feeds synchronously. You can use OPML remote subscription and the Simple aggregator to consume a small number of feeds. It doesn't do de-duplication of feed updates yet.

We're in the active development right now. API and config file format might be changed in the future.

Development

We have a Subversion repository and you can check it out with:

svn co http://svn.bulknews.net/repos/plagger/trunk/plagger

If you want svn commit bit, email me your username and htpasswd format password to miyagawa<at>bulknews.net

Community

How to Write/Register Plugins

If you have a nice idea of plugin, drop a line to the development mailing list and we can help you.

For now, the best way to register your plugins to get an svn account and commit to our svn repository. Of course you can host your plugins yourself, but since our API is still premature and will be likely to change a lot, I'd recommend you to put the plugins under our control so that users won't be confused.

Once the APIs are finalized, you'll be able to create your plugins and release to CPAN, which is the best repository to distribute Perl modules.

Authors

  • Tatsuhiko Miyagawa
  • Masayoshi Sekimura
  • Masahiro Nagano (kazeburo)
  • Kazuhiro Osawa (yappo)

Trac Guide

For a complete list of local wiki pages, see TitleIndex.

Trac is brought to you by Edgewall Software, providing professional Linux and software development services to clients worldwide. Visit http://www.edgewall.com/ for more information.