Talk 4: Plagger
This talk is being given by Six Apart's Tatsuhiko Miyagawa about his pluggable RSS aggregation system. Basically, he realized that every other week he was writing some new RSS system - rss2opml, bloglines2gmail, rss2audiobook, etc etc. Why not make a framework to pull them all together?
Hence Plagger was born. It provides a general purpose framework for getting, processing, and publishing information. You can write plugins that hook into one of these sections, so for example, write a system that parses your LJ friends page and creates an RSS feed out of it, or something that reads in your system status and turns it into a subscribable feed. Then put them together.
By default it supports everything you'd expect. Automatic detection of RSS/Atom feeds, and support for everything from old RSS 0.9 to modern Atom. It supports a variety of modules on your system, using old and broken XML libraries up to new and awesome ones, so you don't have to install a billion modules if you don't want to. Also supports the enclosure specification, like for podcasts, images, videos, etc.
It is fully supportive of non-English, as well. "I18n sane!" he says. You can also create plugins that do things such as screen scrape or do whatever. And then plugin stacking! Wow, seems like it has pretty much every feature you could ever want out of a pluggable aggregation system.
The system operates by using phases. I won't document them all here, as this is synopsis mode. There are lots of phases that allow you to do fancy things like write a Filter phase plugin that strips RSS ads, or fixes up the metadata, or does whatever. You can then write a Publish plugin that writes it ... to Excel. What? That's really weird. (Justification - if you don't have browsers at work... hah!) There's even a Notify phase for sending out updates to someone.
Okay. There's also a Notify plugin that, if you post something saying "I'm hungry" to your blog, it will automatically order your favorite pizza from the local pizza joint. (This works in Japan, they apparently have a web services API for ordering pizza?! Amazing.)
Comments
Thanks for writing this up! the Pizza thing was done usinc Screen-Scraping actually, using WWW::Mechanize :-) http://e8y.net/blog/2006/07/25/p126.html
wow that's really cool, i had heard plagger mentioned but never knew anything about it until now! :)
oh and i guess this means you are in portland right now too, hi from across the river!! :)