FeedWordPress 0.9

Update 2007-11-21: FeedWordPress 0.9 is now out of date. You can download the latest release — 0.991 at the time of this writing — from the project homepage.

0.9 is now available for download.[1]

[2]: http://projects.radgeek.com/download/feedwordpress-0.9.tar.gz

The current update does a couple of things.

First, it definitively slays the text config file: there are *no* options at all involved in normal operation that require editing either a configuration file or the PHP source to change. This was a guiding principle in 0.8, but I left a couple of the more technical items (such as whether or not to log updates into the PHP log) as define() statements in the PHP source. No longer: anything that *can* be set, can be set through the WordPress Dashboard at Options –> Syndication, or on individual feeds in Links –> Syndicated.

Second, it provides hooks through the WordPress plugin architecture(http://projects.radgeek.com/feedwordpress/use#plugin-api) that you can use to supplement FeedWordPress’s behavior on updates, and–somewhat more likely to be immediately useful to you–*filter* incoming items, and (if you so desire) either modify their contents or filter the post out entirely. of these hooks(http://projects.radgeek.com/feedwordpress/use#plugin-api) is a bit sketchy as of 2005-03-29, but I hope to flesh it out in the near future. For now, here’s a quick example that you might be able to turn to your own purposes: say that you want to filter out any posts entitled “Friday Cat Blogging”. You could define a filter like this:

[3] ) ) ) !== false) :
$item = NULL;
return $item;

Once this filter is Activated from the WordPress Dashboard, any incoming posts with ‘Friday Cat Blogging’ in the title will be filtered out of the feed.

I’m planning on adding some filtering features to upcoming updates of FeedWordPress that don’t require any PHP coding, but they will be pretty simple and inflexible in nature–I’m not about to invent any convoluted new filtering syntax to do complicated things without PHP scripting. If your filtering needs are complicated enough that you need a syntax with a lot of expressive power, then PHP’s syntax is a pretty good bet. If they’re less complicated, then there’s no reason why the filtering features accessible to you need to be able to do things like match arbitrary fields against regular expressions. But I think there are good, simple ways to provide some basic features such as category-filtering and author-filtering from within the Dashboard.

I think this leaves just a few items on the to-do list prior to releasing a package I’d be willing to call “1.0”:

1. Simple filtering by author or by category without any scripting

2. An interface for editing the properties of syndicated Links, rather than simply dumping the user off at the normal “Edit Link” page. (This should, for example, provide a nice way to edit feed settings without having to dig around in the big textarea for the Link Notes.

3. … is there anything else that is definitely needed? These are the main items I want to tackle, but if there’s something that would be helpful to you, let me know…

Initial Public Offering

Update 2007-11-21: FeedWordPress 0.8 is now out of date. You can download the latest release — 0.991 at the time of this writing — from the project homepage.

The initial public release of FeedWordPress is now for download[1]. Enjoy, and feel free to me[2] in private or in the comments with any questions, comments, applause, or brickbats.

[3]: http://projects.radgeek.com/download/feedwordpress-0.8.tar.gz
[4]: http://www.radgeek.com/contact

FeedWordPress is an Atom/RSS aggregator plugin for [5][6] 1.5. You give it a list of websites with Atom or RSS newsfeeds and it will syndicate posts from them into your WordPress weblog. It uses [7][8] to parse the feeds and some simple transformations to store the data as a post in the WordPress database. It’s a classic case of “itch-scratch ware”–I wrote it specifically because I needed something more flexible than [9][10] to run Blogs[11]. But Blogs[12] isn’t the only aggregator site in the world (let alone the only *potential* one), and I’m making the code public in the hopes that y’all might find it useful and pleasant to work with too.

[13]: http://www.wordpress.org/
[14]: http://magpierss.sourceforge.net/
[15]: http://www.planetplanet.org/
Blogs: http://www.feministblogs.org/

One of the things you’ve got to do in life is keep track of the people that you owe. FeedWordPress is free software, which makes use of code derived from more than one other free software project. The core aggregation code is adapted from an experimental PHP script (wp-rss-aggregate.php) by Elliot McCrae(http://www.laughingmeme.org/); auxiliary modules are adapted from a URL class by Minoukadeh(http://www.keyvan.net/), and the Feed Finder(http://diveintomark.org/projects/feed_finder/) by Pilgrim(http://diveintomark.org/). FeedWordPress might have been possible without their help, but it sure would have been more of a pain in the ass. Thanks, everyone, and here’s to free software!