FeedWordPress 2009.0613: minor UI glitches fixed and improved diagnostics for feed problems

version 2009.0613 is now available for download.(http://downloads.wordpress.org/plugin/feedwordpress.2009.0613.zip)

This is a very minor update, which I guess should not be too much of a surprise, if you take into account the fact that made a major release just yesterday(http://projects.radgeek.com/2009/06/12/feedwordpress-20090612/). However, due to some difficulties that some people have been having, I thought it would be a good idea to push out a release with better diagnostics.

The basic issue is this: until WordPress version 2.7, FeedWordPress used the Snoopy HTTP library (which is included in WordPress) to fetch feeds for updating, and also for the feed finder that helps you subscribe to new feeds in the administrative interface. With WordPress 2.7, however, the WordPress team decided to deprecate Snoopy — so it’s still included with WordPress, but not used internally, and it may be dropped from future releases — and to introduce new custom API for HTTP requests(http://trac.wordpress.org/browser/trunk/wp-includes/http.php) (the WP_Http class and some wrapper functions that make use of it). So, if you’re using WordPress 2.7.x or 2.8, FeedWordPress uses the new functions rather than the deprecated Snoopy module. One of the advantages of the new code is that it is supposed to be able to make use of any of several different HTTP transport APIs which may be available, depending on your PHP set-up (for example libcurl, fsockopen, URL support in fopen, etc.). But I’ve been noticing problems that many users have had that tie back to problems with the underlying HTTP transports used by WordPress’s new code, and, for reasons that are unclear to me, the WordPress development team decided to make some changes in WordPress 2.8 which make these problems even more likely to occur and even harder to get around. In any case, this is almost certainly the underlying issue if you, like others, are encountering something like this when you try to syndicate a new feed:

> **Error:** I couldn’t find any feeds at <> request error: :. Try another URL

The best solution for you will depend on details about your own hosting situation — in particular, what version of WordPress you are using FeedWordPress with, and whether or not you are able to install new PHP modules on your web host, or, if not, whether or not you have someone who is willing to install new PHP modules for you. Unfortunately it’s not likely to be something that FeedWordPress itself can fix. But I have made some updates so that FeedWordPress will, at least, provide some more useful diagnostic information — which may help you figure out what needs to be done, or which will hep me help you figure it out, if you send the diagnostic information to me along with your support request.

So, anyway, all that said, that’s why I’m pushing out a new release today. (There are also a couple other minor changes included in the release, but I would probably not have bothered with a public release just yet except for the number of support requests I’ve gotten since yesterday’s release, which the diagnostics would help with.) Other than some under-the-hood re-arranging of the code, here are the significant changes between 2009.0613 and the previous releas, 2009.0612:

* **INTERFACE/BUGFIX: WORDPRESS 2.8 CATEGORY BOX FIX.** Thanks to a subtle
change in class names between the WordPress 2.7 and 2.8 stylesheets,
category boxes in the FeedWordPress settings interface tended to overflow
and have a lot of messy-looking overlapping text under WordPress 2.8.
This has now been fixed.

* **FeedFinder FAILURE DIAGNOSTICS:** When FWP’s FeedFinder fails to find any
feeds at a given URL (for example, when you are trying to add a
subscription through the administrative interface and you run into an
error message), FeedWordPress now provides more diagnostic information
for the reasons behind the failure. If that helps you, great; if not,
it should help me respond more intelligently to your support request..

Download and enjoy! As always, you have any issues with the release, or if there is anything that you would like to see included in a future release, please use the comments form or me a line(http://radgeek.com/contact) to let me know about it.

Please remember that your generous gifts to the tip jar(http://projects.radgeek.com/feedwordpress/) make ongoing development, quick fixes and timely support for FeedWordPress possible.

Posted in Uncategorized

FeedWordPress 2009.0612: WordPress 2.8 compatibility, interface redesign, bug fixes, and significant convenience features added

version 2009.0612 is now available for download.[1]

[2]: http://downloads.wordpress.org/plugin/feedwordpress.2009.0612.zip

Given the recent release of 2.8[3] I thought it would be an opportune time to roll up the development I’ve been doing on FeedWordPress over the past few months and push out a new official release. A list of major changes since the last release follows below.

2.8: http://codex.wordpress.org/Version_2.8

First things first, though. A new version of WordPress has come out, which has caused a number of e-mails — just like every WordPress release does — from people who upgraded WordPress to the latest version, and, in the process, inadvertently *downgraded* their MagpieRSS to the old, busted version included with WordPress. If you have noticed strange problems with syndicating feeds (especially Atom feeds) immediately after making the upgrade, like those described in old post about upgrading to WordPress 2.5(http://projects.radgeek.com/2008/04/18/compatability-bugs-and-possible-quick-fixes-for-issues-with-feedwordpress-after-upgrading-to-wordpress-25/), then you need to re-copy the MagpieRSS upgrades from your FeedWordPress installation to the wp-includes/ subdirectory of your WordPress installation. Fortunately, if you upgrade to FeedWordPress 2009.0612, one of the new features included in the package is that it will politely remind you to perform this upgrade if it notices that the old version of MagpieRSS is the one that’s loading up.

Now, then. Here are the major changes since the release of FeedWordPress 2008.1214.

* **WORDPRESS 2.8 COMPATIBILITY:** FeedWordPress 2009.0612 has been tested for
compatibility with the recent version 2.8 release of WordPress.

* **INTERFACE RESTRUCTURING:** In order to avoid settings posts from becoming
too crowded, and to modularize and better organize the user interface,
new “Posts” and “Categories & Tags” subpages have been created under the
“Syndication” menu. “Posts” controls settings for individal syndicated
posts (such as publication status, comment and ping status, whether or
not to use the original location of the post as the permalink, whether
or not to expose posts to formatting filters, and so on). “Categories &
Tags” controls settings for assigning new syndicated posts to categories
and tags, such as categories or tags to apply to all syndicated posts,
and how to handle categories that do not yet exist in the WordPress
database. These subpages, like the Authors subpage, handle settings for
the global default level and for individual syndicated feeds.

Corresponding to these new subpages, the old Syndication Settings and
Feed Settings subpages have been cleaned up and simplified, and now only
link to the appropriate subpages for options that can be set in the
Posts, Authors, or Categories & Tags subpages.

* **FEATURE: ADD CUSTOM SETTINGS TO EACH SYNDICATED POST:** FeedWordPress has
long had an interface for creating custom settings for each syndicated
*feed* which could be retrieved in templates using the `get_feed_meta()`
template function. But it had no feature for adding custom fields to
each individual syndicated *post*. In response to requests from users, I
have added the ability to apply custom fields to each individual
syndicated post, using the new Syndication –> Posts subpage. You can
set up custom fields to be applied to every syndicated post, or custom
fields to be applied to syndicated posts from a particular feed.

* **FEATURE: MAGPIERSS VERSION CHECK AND UPGRADE:** FeedWordPress will attempt
to determine whether or not you are using the upgraded version of
MagpieRSS that comes packaged with FeedWordPress. If not, it will throw
an error on admin pages, and, if you are a site administrator, it will
give you the option to ignore the error message, or to attempt an
automatic upgrade (using a native file copy). If the file copy fails,
FeedWordPress will offer some guidance on how to perform the upgrade
manually.

* **BLANK POSTS PROBLEM NO LONGER OCCURS WITH OLD & BUSTED MAGPIERSS:** Due
to the fact that I relied on a content normalization that occurs in my
upgraded version of MagpieRSS, but not in the old & busted version of
MagpieRSS that ships with WordPress, until this version, if you tried to
syndicate an Atom feed without having performed the (*strongly
recommended*) MagpieRSS upgrade, all of the posts would come up with
completely blank contents. That’s not because MagpieRSS couldn’t read
the data, but rather because the new Magpie version puts that data in a
location where the old version doesn’t, and I was only looking in that
newer location. Now it checks for both, meaning that posts will continue
to display their contents even if you don’t upgrade MagpieRSS. (But you
**really should** upgrade it, anyway.)

* **BUGFIX: RELATIVE URI RESOLUTION FOR POST CONTENT RESTORED.** Some time
back, I added support for resolving relative URIs against xml:base on
feeds that support it to the MagpieRSS upgrade in FeedWordPress. Then I
took out code that did the same thing from the main FeedWordPress code.
Of course, the problem is that some people, even though it is clearly
stupid or evil to do so, still include relative URIs for images or links
in posts on feed formats that do *not* adequately support xml:base
(notably, RSS 2.0 feeds). In response to a user request, I have added
this functionality back in, so that MagpieRSS will resolve any relative
URIs that it knows how to resolve using xml:base, and then FeedWordPress
will attempt to resolve any relative URIs that are left over afterwards.

* **BUGFIX: INTERFACE OPTION FOR SETTING SYNDICATED POST PUBLICATION STATUS
ON A FEED-BY-FEED BASIS HAS BEEN RESTORED:** Due to a version-checking
bug, users of WordPress 2.7.x lost an option from the “Edit a syndicated
feed” interface which allowed them to determine whether newly syndicated
posts should be published immediately, held as “Pending Review,” saved
as drafts, or saved as private posts. (The option to change this
setting globally remained in place, but users could no longer set it on
a feed-by-feed basis.) The version-checking bug has been fixed, and the
option has been restored.

* **BUGFIX: “ARE YOU SURE?” FATAL ERROR ELIMINATED AND SECURITY IMPROVED:**
Under certain circumstances (for example, when users have configured
their browser or proxy not to send HTTP Referer headers, for privacy or
other reasons), many features in the FeedWordPress administrative
interface (such as adding new feeds or changing settings) would hit a
fatal error, displaying only a cryptic message reading “Are you sure?”
and a blank page following it. This problem has been eliminated by
taking advantage of WordPress’s nonce functions, which allow the
security check which ran into this error to work properly even without
receiving an HTTP Referer header. (N.B.: WordPress’s nonce functions
were first introduced in WordPress 2.0.3. If you’re using FeedWordPress
with an older version of WordPress, there’s no fix for this problem:
you’ll just need to turn Referer headers back on. Sorry.)

* **BUGFIX: MANUALLY-ALTERED POST STATUS, COMMENT STATUS, AND PING STATUS NO
LONGER REVERTED BY POST UPDATES:** If you manually altered the post status,
comment status, or ping status of a syndicated post from what it was set
to when first syndicated — for example, if you had a feed that was set
to bring in new posts as “Pending Review,” and you then marked some of
the pending posts as “Published” and others as “Unpublished” — then
in previous versions of FeedWordPress, these manual changes to the
status would be lost — so that, for example, your Published or Unpublished
articles would revert to Pending Review — if the source feed made any
upates to the item. This could make the Pending Review feature both
unreliable and also extremely frustrating to work with. The good news is
that this bug has since been fixed: if you manually update the status
of a post, it will no longer be reverted if or when the post is updated.

* **BUGFIX: OCCASIONAL FATAL ERROR ON UPDATE ELIMINATED:** Under certain
limited conditions (specifically, when both the title and the content of
a post to be updated are empty), an attempt to update the post would
result in a fatal error. This has been fixed.

* **INTERFACE: “CONFIGURE SETTINGS” CONVENIENCE LINK ADDED TO CONFIRMATION
MESSAGE WHEN A NEW FEED IS ADDED:** When you add a new subscription to
FeedWordPress, the message box that appears to confirm it now includes a
handy link to the feed’s settings subpage, so that you can quickly set
up any special settings you may want to set up for the new feed, without
having to hunt through the list of all your other subscriptions to pick
out the new one.

* **INTERFACE: SIMPLIFYING AND CLARIFYING AUTOMATIC UPDATES SETTINGS.** I have
removed an interval setting for the cronless automatic updates which has
confused many FeedWordPress users. In past versions of FWP, when you
turned on automatic updates, you would be presented with a time interval
setting which controlled how often FeedWordPress would check for feeds
ready to be polled for updates. (That is, it DID NOT control how often
feeds *would be polled*; it controlled how often FeedWordPress would
*check* for feeds that *had become ready to poll*. The schedule on which
feeds became ready for polling was still controlled either by requests
encoded in elements within the feed itself, or else according to an
internal calculation within FeedWordPress, averaging out to about 1 hour,
if the feed did not include any scheduling request elements.) Since many
users very often (and understandably) confused the purpose of this
setting, and since the setting is for a feature that’s actually very
unlikely to require any manual control by the user, I have removed the
setting; FeedWordPress now simply uses the default value of checking for
feeds to poll every 10 minutes.

* **FEEDFINDER PERFORMANCE IMPROVEMENT:** FeedWordPress’s FeedFinder class
now uses `array_unique()` to make sure that it doesn’t waste time
repeatedly iterating over and polling the same URI. Props to Camilo
().

Enjoy! As always, you have any issues with the release, or if there is anything that you would like to see included in a future release, please use the comments form or me a line(http://radgeek.com/contact) to let me know about it.

Please remember that your generous gifts to the tip jar(http://projects.radgeek.com/feedwordpress/) make ongoing development and support for FeedWordPress possible.

Posted in Uncategorized

FeedWordPress 2008.1214 fixes known compatibility issues with WP 2.7, fixes a couple bugs, and polishes the interface a bit.

version 2008.1214 is now available for download.(http://downloads.wordpress.org/plugin/feedwordpress.2008.1214.zip)

The advent of December has seen the release of 2.7[1], and I’ve been working to get out a new release of FeedWordPress before I leave to visit family for the holidays, which incorporates the couple of small compatibility fixes. In addition, I’ve added some interface improvements (to help FWP look a bit less out-of-place in the new user interface), and a couple of fixes of bugs reported or detected in the process of testing.

2.7: http://codex.wordpress.org/Version_2.7

Also, I created cheesy little logo icon for FeedWordPress(http://projects.radgeek.com/wp-content/uploads/2008/12/feedwordpress.png) to fit in with the general practice in the WordPress 2.7 interface. It’s not actually intended to be a distinctive logo for FeedWordPress (it just takes a syndication icon and the WordPress logo and puts them together), but it should at least visually mark off the FeedWordPress configuration interface from the rest of the Dashboard. Hope you like it.

First things first, though. A WordPress update has come out, which has caused a number of e-mails — just like every WordPress release does –from people who upgraded WordPress to the latest version, and, in the process, inadvertently *downgraded* their MagpieRSS to the old, busted version included with WordPress. If you have noticed strange problems with syndicating feeds (especially Atom feeds) immediately after making the upgrade, like those described in old post about upgrading to WordPress 2.5(http://projects.radgeek.com/2008/04/18/compatability-bugs-and-possible-quick-fixes-for-issues-with-feedwordpress-after-upgrading-to-wordpress-25/), then you need to *re-copy* the MagpieRSS upgrades from your FeedWordPress installation to the `wp-includes/` subdirectory of your WordPress installation. (The old post discusses this issue, and the steps for fixing it, in more detail.)

Now, then. Here are the major changes since the release of FeedWordPress 2008.1105:

* **WORDPRESS 2.7 COMPATIBILITY:** FeedWordPress has been tested for
compatibility with the newly released WordPress 2.7. WordPress 2.7 has
deprecated the Snoopy library for HTTP requests, which caused a fatal
error for users who had not installed the MagpieRSS upgrade (or whose
installation of the MagpieRSS upgrade was overwritten by a recent update
of WordPress). FeedWordPress now handles things gracefully when Snoopy
is not immediately available. The 2008.1214 fix also releases a minor interface
bug experienced when changing link settings under WordPress 2.7. (This was the result of
some new caching features implemented in 2.7.)

* **INTERFACE SPIFFED UP:** Interface elements have been updated so that
FeedWordPress’s management interface fits in more naturally with the
WordPress 2.7 interface (including a new logo and a number of small
interface tweaks).

* **BUG WITH TAGS FOR SYNDICATED ARTICLES FIXED:** Several users encountered a
bug with the option to add tags to all syndicated posts under
Syndication –> Settings — if you told FeedWordPress to add more than
one tag to all syndicated posts, instead of doing so correctly, it would
add a *single* tag instead, whose name was composed of the names of all
the tags you asked it to add. This bug was the result of nothing more
dignified than a typographical error on my part. It has now been fixed.

* **MORE INFORMATION AVAILABLE WHEN FEEDWORDPRESS CAN’T FIND A FEED:** When
you enter a URL for a new syndication source, FeedWordPress uses a
simple feed-finding algorithm (originally based on Mark Pilgrim’s
Universal Feed Finder) to try to determine whether the URL is the URL
for a feed, or, if the URL points to an ordinary website rather than to
a feed, whether there is a feed for that website. All well and good, but
if FeedWordPress failed to find a feed, for whatever reason, it would
typically return nothing more than a nasty little note to the effect of
no feed found, without any explanation of what went wrong.
FeedWordPress now keeps track of error conditions from the HTTP
requests that it uses in the course of looking for the feed, and so may
be able to give you a bit more information about the nature of the
problem if something goes wrong.

Enjoy! As always, you have any issues with the release, or if there is anything that you would like to see included in a future release, please use the comments form or me a line(http://radgeek.com/contact) to let me know about it.

Also, I know that there are a couple of issues that some users have already reported that have not yet been addressed in this release. (For example, I haven’t yet been able to investigate the issue reported by Hacker(http://projects.radgeek.com/2008/11/06/feedwordpress-20081105/#comment-20081211140135) and [2](http://projects.radgeek.com/2008/11/06/feedwordpress-20081105/#comment-20081125073857), as well as some private e-mails. I’m hoping to investigate this issue over the next couple weeks in order to discover what’s going on and how to fix it; if I can catch it in action, then I should be able to push out a release either during downtime on my winter vacation, or else shortly after New Years’.) In any case, please remember that your gifts to the tip jar(http://projects.radgeek.com/feedwordpress/) make ongoing development and support like this possible.

Posted in Uncategorized

Remember, remember the Fifth of November: FeedWordPress 2008.1105 fixes a few reported issues

Update 2008-12-14: FeedWordPress 2008.1105 is now out of date. You can download the latest release — 2008.1214 at the time of this writing — from the project homepage.

As a slightly belated gift for Fawkes Day(http://radgeek.com/gt/2007/11/05/the_only/), here’s latest release of FeedWordPress, version 2008.1105(http://downloads.wordpress.org/plugin/feedwordpress.2008.1105.zip), now available for download.

(Why 2008.1105 when I’m announcing the release on 6 November 2008? Because the release itself was completed yesterday; all I did this morning was to document the changes and prepare the announcement.)

Besides the beginnings of some re-organization of the interface, the main purpose of this release is to make fixes available for several existing issues that were reported by users. (In particular, thanks to Alan Cordle, [1](http://projects.radgeek.com/2008/11/01/feedwordpress-20081101-fixes-interface-bug-that-prevented-new-users-from-adding-syndicated-feeds/#comment-20081103092846), Glenn Marcus, Waldo Jaquith, and several other users for bringing some of these issues to my attention, and for suggesting some of these fixes.

Here are the major changes since FeedWordPress 2008.1101:

* **INTERFACE RESTRUCTURING AND SYNDICATION –> AUTHORS PAGE:** As a first
step towards modularizing and better organizing the user interface, a
new “Authors” subpage has been created under the Syndication menu, which
controls settings for syndicated authors, both at the global default
level and at level of individual syndicated feeds.

* **BUG RELATED TO THE ATTRIBUTION OF POSTS TO THE WRONG AUTHOR FIXED:** Some
users encountered an issue in which posts by different authors on
different blogs — especially blogs generated by Blogger — were
mistakenly attributed to a single author. The problem was caused by the
way in which FeedWordPress matches syndicated authors to user accounts
in the WordPress database: normally, if two feeds each list an author
with the same e-mail address, they are counted as being the same person.
Normally this works well, but it creates an issue in cases where
blogging software assigns a single anonymous e-mail address to users who
do not want their real e-mail address published. This is, for example,
what Blogger does (by giving all users a default e-mail address of
if they don’t want their own e-mail address
listed). FeedWordPress now allows the user to correct for this problem
with a couple of new settings under **Syndication –> Authors**, which
allow users to turn off e-mail based author matching for particular
addresses, or, if desired, to turn it off entirely. By default, e-mail
based author matching is still turned on, but disabled for a list of
known generic e-mail addresses. Right now, the “list” consists entirely
of ; if you know other addresses that should be
added, please me(http://radgeek.com/contact) to let me know.

Please note that if you have already encountered this issue on your
blog, upgrading FeedWordPress will prevent it from re-occurring in the
future, but you still need to do two other things to fix the existing
problem on your blog.

First, for each feed where posts have been mis-attributed, you need to
change the existing author mapping rules to re-map a a syndicated
author’s name to the proper target account. Go to **Syndication –>
Authors**, select the feed you want to change from the drop-down list,
and then change the settings under the “Syndicated Authors” section.
(You will probably need to select “will be assigned to a new user…” to
create a new user account with the appropriate name.)

Second, for each feed where posts have been mis-attributed, you need to
re-assign already-syndicated posts that were mis-attributed to the
correct author. You can do that from **Syndication –> Authors** by
using the author re-assignment feature, described below.

* **AUTHOR RE-ASSIGNMENT FOR A PARTICULAR FEED:** The author settings page
for each syndicated feed, under **Syndication –> Authors**, now
includes an section titled “Fixing mis-matched authors,” which provides
an interface for re-assigning or deleting all posts attributed to a
particular author on a particular feed.

* **SUPPORT FOR `` ELEMENT IN SYNDICATED FEEDS:** Some feeds
(for example, those produced by FeedWordPress) aggregate content from
several different sources, and include information about the original
source of the post in an `` element. A new setting under
**Syndication –> Options** allows you to control what FeedWordPress
will report as the source of posts syndicated from aggregator feeds in
your templates and feeds: you can have FeedWordPress report that the
source of a post is the aggregator feed itself, or you can have it
report that the source of a post is the original source that the
aggregator originally syndicated the post from.

By default, FeedWordPress will report the aggregator, not the original
source, as the source of a syndicated item.

* **LOAD BALANCING AND TIME LIMITING FEATURES FOR UPDATES:** Some users have
encountered issues due to running up against PHP execution time limits
during the process of updating large syndicated feeds, or a very large
set of syndicated feeds. FeedWordPress now has a feature that allows you
to limit the total amount of time spent updating a feed, through the
“Time limit on updates” setting under **Syndication –> Options**. By
turning on this setting and adjusting the time limit to a low enough
figure to avoid your PHP installation’s time-out setting. (PHP execution
time limits are usually in the vicinity of 30 seconds, so an update
time limit of 25 seconds or so should provide plenty of time for updates
while allowing a cushion of time for other, non-update-related functions
to do their work.)

If feed updates are interrupted by the time limit, FeedWordPress uses
some simple load balancing features to make sure that updates to other
feeds will not be blocked by the time-hogging feed, and will also make
sure that when the interrupted update is resumed, FeedWordPress will
skip ahead to resume processing items at the point at which it was
interrupted last time, so that posts further down in the feed will
eventually get processed, and not get blocked by the amount of time it
takes to process the items higher up in the feed.

* **`guid` INDEX CREATION BUTTON:** FeedWordPress frequently issues queries on
the `guid` column of the WordPress posts database (since it uses post
guid URIs to keep track of which posts it has syndicated). In very large
FeedWordPress installations, you can often significantly improve
performance by creating a database index on the `guid` column, but
normally you would need to poke around with MySQL or a tool like
phpMyAdmin to do this. FeedWordPress can now save you the trouble: to
create an index on the `guid` column, just go to
**Syndication –> Options**, and mash the button at the bottom of the
“Back End” section.

Enjoy! If you have any issues with the release, or if there is anything that you would like to see included in a future release, please use the comments form or me a line(http://radgeek.com/) to let me know about it.

Please remember that your generous gifts to the tip jar(http://projects.radgeek.com/feedwordpress/) make ongoing development and support like this possible.

Posted in Uncategorized

FeedWordPress 2008.1101: Fixes interface bug that prevented new users from adding syndicated feeds.

Update 2008-11-06: FeedWordPress 2008.1101 is now out of date. You can download the latest release — 2008.1105 at the time of this writing — from the project homepage.

2008.1101(http://downloads.wordpress.org/plugin/feedwordpress.2008.1101.zip) is now available for download. This fixes a user interface bug that some users noticed with FeedWordPress 2008.1030, which prevented users from adding new feeds on a clean install (or in any other situation where there are currently no syndicated feeds).

Thanks to David Lindsey, and to the commenter from Design and Photo(http://projects.radgeek.com/2008/10/30/feedwordpress-20081030-bugfixes-wordpress-26-compatability-new-features-and-a-new-versioning-scheme/#comment-20081031095159), for pointing out this bug to me.

Enjoy! If you have any issues with the release, or if there is anything that you would like to see included in a future release, please use the comments form or me a line(http://radgeek.com/contact) to let me know about it.

Posted in Uncategorized

FeedWordPress 2008.1030: bugfixes, WordPress 2.6 compatability, new features, and a new versioning scheme

Update 2008-11-06: FeedWordPress 2008.1030 is now out of date. You can download the latest release — 2008.1105 at the time of this writing — from the project homepage.

2008.1030 is now available for download.(http://downloads.wordpress.org/plugin/feedwordpress.2008.1030.zip)

I’ll talk about what’s new in a second. But first, I’m going to ask you for some money. Here’s why.

It’s been a long time since I’ve been able to concentrate on FeedWordPress development and support, and I’m glad to finally get this release released. The major reasons for this have been related to work: FeedWordPress development has had to take a back seat while I took on other projects as full-time or seasonal work in order to pay the bills. FeedWordPress started out, originally, as itch-scratch-ware for my own purposes, and eventually became a sort of hobby that I was pleased to find a lot of people were finding useful. But I do have rent and bills to pay, and other work has kept me from being able to keep up with FeedWordPress as much as I would like. Since then my circumstances have changed. I am now working as a freelance web developer, which gives me more flexibility over choosing my projects and setting the hours that I work on them. And what I would like is to be able to devote significantly more time to developing and supporting FeedWordPress. Which I will be able to do if my work on FeedWordPress generates enough user donations to free me up from having to spend that time looking for paying gigs. So, if you enjoy FeedWordPress (or at least find it useful), I’d encourage you to figure out how much ongoing development and support for FeedWordPress is worth to you, and consider making a contribution to the project through the project tip jar at .

O.K. Now, on to the release.

This release of FeedWordPress features a couple of fixes to bugs that have been irritating FeedWordPress users for some time now. It also features some important new features. And a new versioning scheme: rather than call this release 0.994, I have decided that, with these bug fixes in place, and with the number of reasonable version numbers left between 0.993 and 1.0 quickly running out, it is time to drop the beta-status versioning and to adopt a new versioning scheme. Because of the way that FeedWordPress releases work — the basic architecture is likely to remain stable even if there are bug fixes, small or significant changes to internal workings, or the occasional significant new feature added — I think that it will not make much sense to try to follow a standard major.minor.bugfix pattern for version numbers of FeedWordPress. Instead, I’ve decided to adopt release numbers based on the date of the release; since this one is being released on October 30, 2008, we’ll call it FeedWordPress 2008.1030.

Here is most of what has changed since FeedWordPress 0.993:

* **WORDPRESS 2.6 COMPATABILITY:** FeedWordPress should now be fully compatible with
WordPress 2.6, and should work more or less seamlessly with the new post
revision system. A bug which caused multiple new revisions to be created
for posts on certain feeds, regardless of whether or not the item had
been updated, has been fixed.

* **INTERFACE IMPROVEMENTS:** The user interface has been substantially
restyled to fit in better with the visual style of WordPress 2.5 and
2.6.

* **YouTube BUG (`` TAGS STRIPPED FROM SYNDICATED POSTS)
FIXED:** Due to the way that some versions of WordPress process posts that are
inserted into the database when no user is logged in, many users
experienced an issue where YouTube videos and other content using the
HTML `` tag would be stripped out of posts that were syndicated
during an automatic update. (Posts that were syndicated through manual
updates from within the WordPress Dashboard were not affected, because
the issue does not arise when an update is executed under a logged-in
administrator’s credentials.) This bug has now been fixed; YouTube
videos and other content using `` tags should now appear
properly in syndicated posts, regardless of the way in which the post
was syndicated.

* **AJAX BUGS FIXED:** Bugs which blocked the normal operation of WordPress
2.5’s AJAX interface elements when FeedWordPress was activated have been
fixed.

* **TAG SUPPORT:** A couple of features have been introduced to take advantage
of the tagging features in WordPress 2.3.x, 2.5.x, and 2.6.x. Now, when
unfamiliar categories are encountered for posts on a feed, you can
choose for FeedWordPress (1) to drop the category; (2) to drop the
category and to filter out any post that does not match at least one
familiar category; (3) to create a new category with that name, or,
now, you can also have FeedWordPress (4) create a new *tag* with that
name. This option can be set site-wide under Syndication –> Options,
or it can be set on a feed-by-feed basis in a feed’s Edit screen.

In addition, you can now set particular tags to apply to all incoming
syndicated posts, under Syndication –> Options, or you can set tags
to apply to all incoming syndicated posts from a particular feed in that
feed’s Edit screen.

* **FORMATTING FILTERS:** There is a new option available under **Syndication ->
Options** which allows users to choose whether or not to expose syndicated
posts to being altered by formatting filters. By default, FeedWordPress
has always protected syndicated posts (which are already in display-ready
HTML when they are syndicated) from being reformatted by formatting
filters. However, this approach means that certain plugins which depend
on formatting filters (for example, to add “Share This” bars or relevant
links to the end of a post) are blocked from working on any syndicated
posts. If you want to use one of these plugins together with
FeedWordPress, you can now do so by changing the “Formatting Filters”
setting from “Protect” to “Expose.”

* **`` ELEMENTS NOW INCLUDED IN ATOM FEED:** Atom 1.0 provides
a standard method for aggregators to indicate information about the original source of
a syndicated post, using the `` element. FeedWordPress now
introduces standard `` elements including the title, homepage, and
feed URI of the source from which a syndicated post was syndicated. Cf.

* **MODULARIZATION OF CODE:** The code for different elements of FeedWordPress
has been broken out into several modules for easier inspection,
documentation, and maintenance of the code.

* **VERSIONING SCHEME CHANGED:** FeedWordPress’s feature set has proven stable
enough that it can now be removed from beta status; a good thing, since
I was very quickly running out of version numbers to use. New releases
of FeedWordPress will have version numbers based on the date of their
release.

**If you have put off upgrading to WordPress 2.6.x while you waited for a compatibility-tested version of FeedWordPress, and plan to upgrade WordPress after installing FeedWordPress 2008.1030, please remember** that after you upgrade WordPress, will need to reinstall the FeedWordPress MagpieRSS upgrades(http://projects.radgeek.com/2008/04/18/compatability-bugs-and-possible-quick-fixes-for-issues-with-feedwordpress-after-upgrading-to-wordpress-25/) in order to keep your feed parsing from getting broken.

Enjoy! If you have any issues with the release, or if there is anything that you would like to see included in a future release, please use the comments form or me a line(http://radgeek.com/) to let me know about it.

Posted in Uncategorized

FeedWordPress 0.993: WordPress 2.5.1 compatibility and a couple new features

Update 2008-11-06: FeedWordPress 0.993 is now out of date. You can download the latest release — 2008.1105 at the time of this writing — from the project homepage.

version 0.993 is now available for download.[1]

[2]: http://wordpress.org/extend/plugins/feedwordpress/feedwordpress.0.993.zip

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 critical compatability issue with WordPress 2.5.1[3]. 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 `` 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.

[4]: http://projects.radgeek.com/2008/04/27/feedwordpress-and-wordpress-251-compatability-issue/

**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, will need to reinstall the FeedWordPress MagpieRSS upgrades[5] in order to keep your feed parsing from getting broken.

[6]: http://projects.radgeek.com/2008/04/18/compatability-bugs-and-possible-quick-fixes-for-issues-with-feedwordpress-after-upgrading-to-wordpress-25/

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 and WordPress 2.5.1 compatibility issue

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.

Upgrade Downgrade: Compatibility bugs and possible quick fixes for issues with FeedWordPress after upgrading to WordPress 2.5

2.5[1] 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 me by e-mail(http://radgeek.com/contact), 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.

2.5: http://codex.wordpress.org/Version_2.5

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 package derived from MagpieRSS 0.51(http://trac.wordpress.org/browser/tags/2.5/wp-includes/rss.php), which is the same version shipped with when I started work on FeedWordPress three years ago(http://trac.wordpress.org/browser/tags/1.5/wp-includes/rss-functions.php). 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 [2][3]) 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.

[4]: http://simplepie.org/

FeedWordPress 0.992: author remapping and URI bug fix

Update 2008-11-06: FeedWordPress 0.992 is now out of date. You can download the latest release — 2008.1105 at the time of this writing — from the project homepage.

0.992 is now available for download.(http://wordpress.org/extend/plugins/feedwordpress/feedwordpress.0.992.zip)

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
. 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 . 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