MiniPlanet - RSS Aggregator / "Planet"
Displays newest titles from other peoples weblogs on your own page.
So I had this little weblog of mine, and I was putting up links to other blogs I like to read. But it started to get annoying that I had to click all of them to see if they wrote anything new... So I wrote this little Zope product that will check their feeds and show what they did. This is what they call a "feed aggregator" or "planet" (throw in some buzzwords about RSS, Web 2.0, etc. here).
Once you integrate it in your site, it can show you and your visitors what your friends or related weblogs have been writing about. It does so in a compact format, saving valuable screen space.
How does it save screen space?
- by displaying only the last 3 posts from each blog, to a maximum of 30 posts (both numbers configurable), newest posts on top.
- by displaying only the post titles, date, and blog reference
- by not displaying anything from the post text (hey, I told you, it's a mini planet!)
As of version 1.6, there is a "feed of all the feeds" - a so-called meta-feed. It can be accessed at the URL of your Mini Planet object + '/rss' at the end. (e.g. if http://www.example.org/mycoolfeed is your mini planet, then http://www.example.org/mycoolfeed/rss is your meta-feed).
The product contains a readme, with information about basic installation and setup procedures. It also gives some examples how to include the output into your own page layout.
This code is in production use on my weblog. It has a couple of unit tests and should behave reasonable. I would consider it stable, but of course "your mileage may vary".
There seems to be a bug in feedparser, in relation to media:title tag misparsed as title. In some feeds the titles have an arbitrary title. I doubt that I can do anything about it from miniplanet side of code. Using a differently packaged feed might be a workaround - if there are alternative feeds.
Since this issue seems to pop up especially with wordpress blog feeds, the workaround there seems to be to use the "atom" feed instead. So for a wordpress feed at http://www.wordpress.example.org/blog/feed you can use http://www.wordpress.example.org/blog/feed/atom instead.
There is also an unofficial patch for the issue for feedparser.
If you came here because you saw this URL in your logs and someone is hitting your feeds too much (or doing something else they shouldn't):
You do't want me, I'm just making this software, you want the person who is actually using the MiniPlanet software.
Please check the IP doing the requests and contact the person who is actually in charge (e.g. by looking up the IP with whois).
Appart from this, please test and let me know if you have any other issues (address on kontakt page).
1.2 Initial public release 2007-11-06
1.3 Time out after 45 seconds when a feed is not responding, catch errors on feed parsing 2007-12-10
1.4 Some code cleanup suggested by kosh (of #zope fame) 2008-05-13
1.5 Added a workaround for wordpress feeds changing the post date when a post was edited 2008-05-24
1.6 Added a meta-feed in RSS 2.0 format 2011-11-07
I use darcs for source code / revision control. When you have darcs installed you can check out the development version with one simple command:
darcs get -v http://repos.betabug.ch/MiniPlanet
This checkout is like having your own branch of the code, but with full revision history. You can make your own revisions, test out what you've got and you could even send me patches :-). The ZWiki project has a nice writeup about working with darcs at ZWiki:DarcsRepos .