I just released SimpleAggregator 1.1, which contains a few improvements and fixes over the previous release:
- the backend is now ready for categories (planned for the next release)
- the feedsloader script now uses threads for much better performance
- the feedsloader script now periodically cleans up read entries
- the feedsloader script now traps feed encoding errors
- added OPML import and export for feeds
- moved CSS style sheets to a common external file
- small fixes mainly to the user menu links
Thanks to Thomas Johnsen and Karsten Mueller for spotting the unicode problems in feedparser and testing various fixes. Thomas Johnsen also sent me a fix to correctly store item dates when parsing.
In preparation for a new release of my news reader, I have implemented categories support in the DB, and rewritten the Python feeds loader to use threads, and to clean up old news items.
The threaded feeds loader is more than 10x faster than the old one (obviously it depends on the number of feeds), and seems to perform well. If you feel adventurous, you can try it now. To use it, you also need the updated SQL schema in preparation for categories and the corresponding feed management page.
The next release will feature an optional frames-based interface, categories, search, and OPML export/import. It will take some time though, what with work and vacations coming up. Let me know if you have any features you would like to see implemented.
From time to time I receive an inquiry about the status of of my FeedOnFeeds rewrite, so today I took a few hours to add the main missing bits. For those of you who have never heard of FeedOnFeeds, Simple Aggregator is a web-based news aggregator. It supports Atom feeds, CDF, and the nine different versions of RSS thanks to Mark Pilgrim’s Universal Feed Parser. There are still a few things missing (a frames view, OPML import/export, maybe categories), but it’s quite usable and highly customizable if you know a bit of HTML and/or PHP.
It features a few improvements over its ancestor:
- a better SQL schema
- separation of code and presentation using HTML templates
- cleaner code, the web interface is composed of 3 PHP scripts, 3 templates, and two PEAR-compliant PHP classes (DB access and templating)
- a Python command line feeds loader making full use of Mark Pilgrim’s Universal Feed Parser last-modified and etag support to reduce bandwidth usage
- better looking (IMHO), and more user-friendly interface
It has few requirements:
- a recent (2.2+) version of Python
- the MySQLdb module
- Mark Pilgrim’s Universal Feed Parser
- MySQL 4.0+ with InnoDB support
- a recent PHP with the mysql extension
- the PEAR base class in your PHP include_path
If you want to give it a try, version 1.0 is available for download. Please send me any comments, patches, or features suggestions.