Plagger is written in Perl and the competition always comes from Python world. For instance, Planet is a good software written in Python to aggregate posts from lots of blogs into a single HTML and our friend Dave Cross wrote a very good post how easy it is to build Planet site using Plagger.
Today I found another competition: newspipe, which is also written in python. The site has a very good summary of what it does and how you use it. And the list of the features makes me feel that the author has the very similar strategy to how to deal with configuration and site scraping stuff, and what's actually needed for email notification/archiving. Very good stuff.
So, let's compare the things newspipe claims to do, with Plagger (Subscription::OPML + Publish::Gmail).
Yeah, Plagger uses XML::Feed and XML::Liberal to deal with various versions of feeds, even if they're somewhat broken.
feeds are listed in an OPML file:
Yes, you can write a list of feeds in an OPML file using Subscription::OPML. Optionally you can take the list from XOXO file, Database, your Bloglines account etc. with the power of plugins.
feed options can be set individually for each feed or for a group of feeds
No feed options support yet when you use Subscription::OPML. I think this is a good idea.
supports screen-scraping scripts via an internal pipe:// URI schema
Supports screen-scraping with the usual HTML page URL (written in htmlUrl if you use OPML) and register CustomFeed:: for the URL. (Plan: I'll rename the CustomFeed:: to Scraping:: or something) CustomFeed::Pipe plugin actually calls another process to get the data from various sources including screen scraping.
the OPML file can reside locally (in your hard disk) or remotely (in a web server).
Yes. The OPML file can be local or remote one.
sends news items via SMTP to a designated e-mail address
Yes. Plagger supports SMTP, Sendmail and SMTP-TLS. There's a patch to do SMTP-AUTH as well.
messages can be in HTML/multipart MIME format or plaintext
Yes. The Emails are now sent in HTML. No built-in plaintext format support yet but there're plugins to do that.
multiple items from a feed can be grouped and sent in a digest message
Yes. This is the default behavior of Plagger Publish::Gmail.
updated news items are detected and re-sent with additions and
No, we don't do this but leave it for Gmail's diff functionality.
images linked from the feed items are downloaded and included as inline images inside the mail message (great for archiving purposes).
Not by default but easily can be done with:
- module: Filter::FindEnclosures - module: Filter::FetchEnclosure - module: Publish::Gmail config: attach_enclosures: 1
a mobile (text-only) view of a feed can be sent to a secondary e-mail address (to read on a PDA or an MMS-enabled mobile phone)
Once we've done refactoring on email notification, it'd be pretty simple to enable another Notify::Email directive with plaintext mode on.
full support for HTTP optimizations like gzip compression, If-Modified-Since and If-None-Match headers. Feeds and image files will only be downloaded when they have changed.
Yes, with URI::Fetch.
E-mail "threading" based on previously sent RSS items.
No, it doesn't do and leave it for Gmail's "conversations" feature. Adding X-Item-* headers and References: (or In-Reply-To:) would be a good idea.
That's it. Obviously, we are better in some places and can learn from them in others, too.