FeedWordPress

Donate Via PayPal

Amount: $

Total amount donated to date: $1100.00

  • Author: Charles Johnson
  • License: GPL. See License for copyright jots and tittles.
  • Compatibility: WordPress and WordPress MU, versions 2.5, 2.3, 2.2, 2.1, 2.0, and 1.5
  • Status: under active development. See News for the latest updates.

FeedWordPress is an Atom/RSS aggregator for the WordPress weblog software. It syndicates content from feeds that you choose into your WordPress webblog; if you syndicate several feeds then you can use WordPress’s posts database and templating engine as the back-end of an aggregation (planet) website. It was developed, originally, because I needed a more flexible replacement for Planet to use at Feminist Blogs.

FeedWordPress is designed with flexibility, ease of use, and ease of configuration in mind. You’ll need a working installation of WordPress or WordPress MU (versions 2.5, 2.3, 2.2, 2.1, 2.0 or 1.5), and also FTP or SFTP access to your web host. The ability to create cron jobs on your web host is helpful but not absolutely necessary. You don’t need to tweak any plain-text configuration files and you don’t need shell access to your web host to make it work. (Although, I should point out, web hosts that don’t offer shell access are bad web hosts.)

Download

FeedWordPress FeedWordPress 0.993: WordPress 2.5.1 compatibility and a couple new features (posted 8 May 2008)

FeedWordPress version 0.993 is now available for download.

There are a few new features that I am in the midst of working on for an upcoming release of FeedWordPress, but I have released version 0.993 now in order to resolve the critical compatability issue with WordPress 2.5.1. I am still doing compatibility testing to see whether there are any kinks in compatibility with WordPress 2.5.x, but upgrading to this release should eliminate the fatal error that prevented 2.5.1 users from accessing the Syndication Options and the feed settings pages from within the WordPress pages. There are some small bug fixes and the beginning groundwork for some features that will become more fleshed out in the upcoming, more feature-rich release, which aren’t worth going into in detail; besides those, here is what’s new since FeedWordPress 0.992:

  • WORDPRESS 2.5.1 COMPATIBILITY: FeedWordPress should now be compatible with WordPress 2.5.1.

  • WORDPRESS 2.5 INTERFACE IMPROVEMENTS: FeedWordPress’s Dashboard interface has undergone several cosmetic changes that should help it integrate better with the WordPress Dashboard interface in WordPress version 2.5.x.

  • SYNDICATED POSTS CAN BE MARKED AS “PENDING REVIEW”: WordPress 2.3 users can now take advantage of WordPress’s new “Pending Review” features for incoming syndicated posts. Posts marked as “Pending Review” are not published immediately, but are marked as ready to be reviewed by an Administrator or Editor, who can then choose to publish the post or hold it back. If you want to review syndicated posts from a particular feed, or from all feeds, before they are posted, then use Syndication –> Syndicated Sites –> Edit or Syndication –> Options to change the settings for handling new posts.

  • AWARE OF NEW URI FOR del.icio.us FEEDS: Previous releases of FeedWordPress already automatically split del.icio.us tags up appropriately appropriately when generating categories. (del.icio.us feeds smoosh all the tags into a single <dc:subject> element, separated by spaces; FeedWordPress un-smooshes them into multiple categories by separating them at whitespace.) Unfortunately, del.icio.us recently broke the existing behavior by changing host names for their feeds from del.icio.us to feeds.delicious.com. Version 0.993 accounts for the new host name and un-breaks the tag splitting.

If you have put off upgrading to WordPress 2.5.1 due to this bug, and plan to upgrade after installing FeedWordPress 0.993, please remember that after you upgrade WordPress, you will need to reinstall the FeedWordPress MagpieRSS upgrades in order to keep your feed parsing from getting broken.

Enjoy! As I mentioned, I’m actively working on a release, probably due sometime before the end of the month, including bug fixes and a few significant new features, so let me know about any ongoing issues that you may still have.

FeedWordPress FeedWordPress and WordPress 2.5.1 compatability issue (posted 27 April 2008)

I wanted to post a quick note because I have received several reports of a serious compatability issue between FeedWordPress and the most recent public release of WordPress, version 2.5.1. Although FWP is broadly compatible with the initial release of WordPress 2.5, the recent update apparently eliminates an interface function that FeedWordPress used to display a box for selecting categories in the Syndication options and the feed settings pages. Since the function no longer exists in WordPress 2.5.1, it means that a fatal PHP error (shown either by a prematurely cut-off display, or in the form of a printed PHP error message) will be triggered if you attempt to use either of these pages in the WordPress Dashboard. (As far as I know, syndication will continue to work fine with WordPress 2.5.1; the error will prevent you from changing configuration settings from within the WordPress Dashboard.)

This problem should, hopefully, be something that it won’t be too hard to fix once I am able to sit down and work on it. Unfortunately, the release came after I had left to visit family in Alabama, so I can’t get to making the fix until I return home early in the upcoming week. Once I do, I’ll release an immediate compatability fix, and then return to work on a more thorough update, which I hope to release sometime during the month of May.

I’ll check back in with y’all once I’ve gotten home.

FeedWordPress Compatability bugs and possible quick fixes for issues with FeedWordPress after upgrading to WordPress 2.5 (posted 18 April 2008)

WordPress 2.5 was recently released, and as a result many FeedWordPress users have upgraded their blogs to the latest version of WordPress. I am currently in the process of testing for any compatability issues between WordPress 2.5 and the development version of FeedWordPress (0.993a); if I notice any definite problems, then I will make them high-priority bug fixes and try to push out the release of 0.993 as quickly as possible. (That probably means either tonight, or some time around the end of the month, depending on when I find any problems that I may find.) If you have tried using FeedWordPress with WordPress 2.5, either in version 0.992 or in the current trunk development version, and have noticed any problems since the upgrade that aren’t fixed by what I’m about to suggest, then please feel free to report them in the comments here or to me by e-mail, as you prefer. The most helpful bug reports are those that state, in as much detail as possible, (1) what precisely is going wrong, (2) under what conditions, (3) with what version of FeedWordPress, (4) under what version of PHP, and, if the problem is with syndicating posts, then (5) with which feeds at which specific URIs. If you are getting symptoms of a fatal error (either a printed error message or a blank screen where a page should be), then you can also help me out a lot by copying and pasting the contents of the error message into your report, or, if you have a blank screen, checking the bottom of your web server’s error logs to see if there is a PHP error report down there, and, if so, copying and pasting that.

That said, one of the most common sources of error reports when new versions of WordPress are released come not from a real compatability issue, but rather from the fact that, if you’re not careful, upgrading your copy of WordPress will downgrade your copy of MagpieRSS from the newer version shipped with FWP to the very old and busted version that WordPress continues, for whatever reason, to ship with new releases of WordPress.

Diagnosis

Here are the most common symptoms of this problem:

  • Some feeds (notably, feeds produced by Blogger and other Atom 1.0 feeds) stop syndicating post contents. You get the headline of the post and nothing else.
  • Some feeds (notably, those produced by blogs hosted at WordPress.com (!)) start appearing with just the capital letter A as the content of the post.
  • Categories stop being properly syndicated. Everything is placed in Uncategorized or in bizarre, mashed-up categories (only one per post) that seem to contain several category names.
  • Podcast attachments are no longer syndicated.

And so on, and so forth. If you notice these problems with your feeds just after you’ve upgraded your copy of WordPress, it’s probably because you need to re-install the MagpieRSS upgrade.

Cure

Here’s how you do that. In the FeedWordPress plugin directory (wp-content/plugins/feedwordpress/, relative to your WordPress installation), there is a directory called MagpieRSS-upgrade, which contains, or at least at one point contained, two files, rss.php and rss-functions.php. If you still have these files, you need to copy them to your WordPress wp-includes directory, where they will overwrite the older version of MagpieRSS that ships with WordPress. If you do not (because, for example, you moved them rather than copying them when you first installed FeedWordPress), then you can get new copies of these files by downloading the latest version of FeedWordPress, and extracting these two files from the archive.

Etiology and pognosis for the patient

The reason that this happens is that every installation of WordPress includes a very old version of MagpieRSS, the library that FeedWordPress uses to parse the feeds that it syndicates. As of the 2.5 release, WordPress still ships with a package derived from MagpieRSS 0.51, which is the same version it shipped with when I started work on FeedWordPress three years ago. This version of MagpieRSS is adequate for what WordPress needs it to do (basically, fetch headlines for the Dashboard from a select few feeds), but it was already outdated three years ago, and it is especially outdated now–it could not handle multiple categories; it could not handle enclosures, it could not translate feeds in alternate encodings; and, importantly, it cannot correctly handle Atom 1.0 feeds (now the default for Blogger feeds) or feeds with MediaRSS extensions (now the default for WordPress.com feeds). Unfortunately, since there is a version of MagpieRSS, which is loaded every time you load WordPress, it is hard to drop in a newer version which can do these things without causing errors from the collision in function and class names.

The solution I settled on was the bundled MagpieRSS upgrades, which in the past I sometimes described as optional, but which now really are mandatory if you hope to do any serious syndication in the modern environment. Users can avoid collisions by copying the upgrade so that it just overwrites the older version in wp-includes. Problem solved for the time being.

But the downside of this solution is that every time an upgrade of WordPress comes out, it comes out with older versions of the MagpieRSS package included, and when you overwrite all the files in wp-includes with the newer files from the WordPress release, one of the things you overwrite is your upgraded copy of rss.php. Meaning that, unless you remember to re-upgrade MagpieRSS every time you upgrade WordPress (something which is easy enough to forget), it breaks your syndication until you remember, or I remind you, to re-do the upgrade.

I frankly consider this a design flaw in FeedWordPress, but it’s not a flaw that is easy for me to fix. I am considering different ways of getting around it, and honestly the most likely solution at this point is probably simply to abandon MagpieRSS and package another feed parsing package (such as SimplePie) in the feedwordpress plugin directory, where upgrades to the WordPress core code cannot interfere with it. But doing that will involve pretty dramatically refactoring some of FeedWordPress’s internal workings, and that may take a while. In the meantime, if you have a working aggregator, you should probably apply this quick fix and see how many of your problems it solves.

FeedWordPress FeedWordPress 0.992: author remapping and URI bug fix (posted 4 February 2008)

FeedWordPress 0.992 is now available for download.

Since I’ve had to spend time either traveling or working on other projects, it’s been longer than I would have liked since the last update of FeedWordPress. This release is a rather limited one: it fixes one outstanding bug and adds one major new feature:

  1. BUG RELATED TO URIS CONTAINING AMPERSAND CHARACTERS FIXED: A bug in WordPress 2.x’s handling of URIs in Blogroll links created problems for updating any feeds whose URIs included an ampersand character, such as Google News RSS feeds and other feeds that have multiple parameters passed through HTTP GET. If you experienced this bug, the most likely effect was that FeedWordPress simply would not import new posts from a feed when instructred to do so, returning a “0 new posts” response. In other cases, it might lead to unpredictable results from feed updates, such as importing posts which were not contained in the feed being syndicated, but which did appear elsewhere on the same website. This bug has, hopefully, been resolved, by correcting for the bug in WordPress.

  2. NEW FEATURE - AUTHOR RE-MAPPING: I’ve been promising this one to my e-mail correspondents for a couple of months now; and I’m happy to announce that I’ve been able to polish up the preliminary implementation that I was working on late last year and make it ready for general consumption. FeedWordPress now offers a new feature in the site-wide Syndication Options (Syndication –> Options), and in the settings for each syndicated feed (Syndication –> Syndicated Sites –> Edit). You can now create re-mapping rules to determine how author names in a feed are translated into usernames within the WordPress database.

    Traditionally, what FeedWordPress has done, when adding a post, is to take the author information from the feed and search the WordPress database to determine whether there is a username with the same name or e-mail address. If it found a match, then the new post would be assigned to that user. If there was no match, then FeedWordPress would consult the settings for the feed, or the global default settings, for what to do with an unfamiliar author. These could be set by the administrator from within the WordPress Dashbard, with three options: (1) create a new user account with the same name as the author, and assign the new post to that new user; (2) filter out the post rather than adding it to the database; or (3) assign the new post to a default user (user #1 in the WordPress database, i.e. the site administrator).

    With the new re-mapping feature, you have considerably more control over what FeedWordPress does with post authorship data from the feed. In the settings for each syndicated feed (Syndication –> Syndicated Sites –> Edit), you can now define rules that tell FeedWordPress what to do with each particular author name on that feed — to filter out all posts by that author, or to assign posts by that author to any username that you like. You can also tell FeedWordPress what to do with usernames that aren’t listed in your rules, and which don’t match any of the users already in the WordPress database — to filter out the posts, or to assign them to any username you like, or to create a new username to match the new author, or to follow the default setting for new author names on all feeds. The site-wide default setting can be changed using Options –> Syndication.

    So, for example, one of my friends runs a FeedWordPress aggregator site that syndicates http://praxeology.net/blog/feed/. The problem is that, like an increasing number of WordPress blogs out there, all the posts on this blog are attributed to Administrator. For those visiting the blog directly, it’s clear that Administrator is the blogger; but when someone aggregates the blog on another website, the naming now mistakenly implies that the Administrator of the aggregator website is the author of the post. (It also means that if two or more blogs both attribute their posts to Administrator, the aggregator site will mistakenly treat all of the posts from all of those blogs as being by the same author.) With the new re-mapping feature, you could now define a rule that would attribute posts by Administrator from the praxeology.net feed to a different username — in this case, Roderick Long. Problem solved. Huzzah!

One more note before I go. I regret that I haven’t been able to develop FeedWordPress more actively than I currently am developing it, or to spend as much time handling and responding to bug reports as I would like. I originally created FeedWordPress for my own use, and made it available to others in the hope that it would be useful, so the best guarantee of getting a feature added or a bug identified and quickly fixed has always been whether it’s one that I personally encountered, or one of my friends encountered, in the course of using it. But I’m really very pleased with how much uptake and interest there has been for FeedWordPress. Ideally I would like to devote much more time to FeedWordPress development and support than I currently do. But I earn my living freelance, by the hour or by the project, and I do have to pay my rent every month, so the only way that I can keep up with this on more than a limited and casual basis is if the donations from FeedWordPress users allow me to free up the time needed to work on FeedWordPress, rather than spending the same time looking for paying gigs.

So, if you would like to see more regular upgrades and bugfixes, and more rapid replies to your support questions, I’d urge you to consider how much ongoing development and support for FWP is worth to you, and consider making a contribution through the project donation jar at http://projects.radgeek.com/feedwordpress/. It’s in your hands, and anything you can offer will help. (If I had $5 for everyone who ever sent me a FeedWordPress tech support question, I’d be flush for the next several years….)

Thanks,
-C