Upgrade Downgrade: Compatibility bugs and possible quick fixes for issues with FeedWordPress after upgrading to WordPress 2.5
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 thecontent
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.


Issues and Comments
This worked PERFECTLY for
This worked PERFECTLY for me!!! Thank you!
Thanks so much for the
Thanks so much for the detailed analysis. That is ridiculous that WP 2.5 still uses an outdated version of something as basic and important as an RSS parser.
There may be another downside of switching out the rss files - looks like on some of my sites, sidebar widgets that syndicate feeds are breaking. I'll keep you posted, but thanks so much for the tips. Sometimes all we need is just a little pointing in the right direction.
I consider this a design flaw in WordPress, not in FeedWordPress. This and the flash uploading debacle makes 2.5 a pretty lame release IMHO.
[...] and started bH over
[...] and started bH over from scratch. I chose to wait and see if a fix was posted. And yesterday, one was. As seems to always be the case, the solution was mind-boggingly simple and required [...]
Jeremy, Well, to be fair,
Jeremy,
Well, to be fair, the WordPress team doesn't have any real reason to need a more advanced version of MagpieRSS than the one that they ship, and since the version they ship is significantly modified from an off-the-shelf Magpie (so as to fit everything in one file, and so as to use the WordPress database, rather than the native file system, for caching), I can understand their reluctance to replicate the process with a newer version for something that's so little used.
The problem it causes for me isn't really inherent in the fact that the old version (which is adequate to their own needs) is there, but rather that there is no way for me to bring in the newer version without either (a) simply replacing the old include files with my new files which creates this problem, or else (b) causing a fatal error from a namespace collision. But that's really a problem with PHP itself, more than with WordPress per se, due to the lack of any mechanism for namespacing or for dynamically overriding an existing class definition. I don't blame the WordPress devs for not setting things up so as to accommodate my syndication plugin; unfortunately, design choices in PHP itself just make it so that the damage takes more routing around than I would like.
Well I agree with Jeremy.
Well I agree with Jeremy. It's not your design flaw it's WP's. Whether they need to use an updated version or not.
After I upgraded to 2.5, a lot of things "broke" on several of my blogs.
And the "media manager" is hosed. I have been looking at several different platforms for my blogs besides WP.
Of course, the best aggregate out there is this one so that particular blog isn't going anywhere but then I don't use any of the WordPress "features" so to speak.
When I read your explanation of the problem for my blog I did the head slap. I had forgotten all about the MagPieRSS replacement during the installation of FeedWordPress.
Anyway, my aggregate is working fine now, just waiting for WP to fix their buggy release.
I'm not sure this fix fixed
I'm not sure this fix fixed my problem.
I am still getting a bunch of 'uncategorized' feeds, and I have set unfamiliar categories to not syndicate unless there is one familiar category.
I have replaced rss.php and rss-functions.php inside the wp-includes directory. Please let me know what to do.
Very nice plugin, thx! I do
Very nice plugin, thx! I do not find the 2.5 quick fix, where I can download it?
I have been using
I have been using feedwordpress for about a year for my high school alumni website and this is a GREAT plugin.
Just want to inform you that I made some changes on your code to accomodate Multiply RSS or any other RSS that has no "link" tag, but using "guid permalink".
What I changed are, ... after items[0]; ?> on line 680, I add,
... on function SyndicatedPost(), after comment, // In case you want to know the external permalink..., I changed into something like this, if(!empty($this->item['link'])) $this->post['meta']['syndicationpermalink'] = $this->item['link']; else $this->post['meta']['syndicationpermalink'] = $this->item['guid'];
Hope this will help other plugin users.
I've been using FWP for a few
I've been using FWP for a few months now with no issues - until now. I tried to add an eBay feed. It seemed to work OK when entered, but later when I tried to view some results, the "title" of the feeds (as listed in FWP) changed to "eBay error". I noticed the search words were now mysteriously missing from the end pf the feed URL. Apparently, upon save, FWP truncates the feed URL (yes, eBay has a veerrrry long feed URL).
BTW, this blog is WP 2.3.3, and the PHP level is 5.
Hi Rad Geek, Thanks for this
Hi Rad Geek,
Thanks for this great plugin! It works fine in my blog. But i have little problem when setting cron jobs. I want to make it fully automatic, so i need to set up cron. The problem is, this is my 1st cron jobs setting :-) Could you tell me, which php path i should use to set on my cron jobs commands??
Hope you can help me find the answer...
Thanks a bunch :D
I got this error Fatal
I got this error
Fatal error: Call to undefined function: getnestedcategories() in /home/...../public_html/wp-content/plugins/feedwordpress/syndication-options.php on line 151
Hi, Just a heads-up, fwp
Hi,
Just a heads-up, fwp will not work with wp2.5.1. The kind folks there removed getnestedcategories() and writenestedcategories().
It looks like WP 2.5.1 broke
It looks like WP 2.5.1 broke feedwordpress by removing the getnestedcategories and writenestedcategories functions. I cant find much documentation on this change or why it wasnt mitigated for backwards compatibility. Tested with v.992
I installed
I installed feedwordpress.0.992 on wordpress 2.5.1 and when I pushed option button under syndication button,this error seen:
Fatal error: Call to undefined function getnestedcategories() in /home/myuser/public_html/mydomain/blogs/wp-content/plugins/feedwordpress/syndication-options.php on line 151
my host is Hostmonster PHP version 5.2.5
Please help me. Sorry for my english.
I just upgraded to WP 2.5.1
I just upgraded to WP 2.5.1 and now the "options" button for feedwordpress has died. Here is the error I get:
Fatal error: Call to undefined function getnestedcategories() in /home/domain.com/wp-content/plugins/feedwordpress/syndication-options.php on line 151
In syndication-options.php, I
In syndication-options.php, I think it is line 151 ($dogs = getnestedcategories(-1, 0);), Wordpress 2.5.1 is giving me a 'call to undefined function' error.
Can I fix this? How?
I'm really looking forward to
I'm really looking forward to the next version. Thanks for making AND maintaining this plugin. It is excessively useful and totally awesome.
In order to fix the options
In order to fix the options page for feedwordpress with 2.5.1 you need to look at the wp-admin/includes/template.php file in wordpress 2.3 and find the function for getnestedcategories and writenestedcategories copy these with ctrl + c.. Go into your wp-admin/includes/template.php file in wordpress 2.5.1 and paste these 2 functions at the top of the file. Boom it works again.
[...] to upgrade after
[...] 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 [...]
Just a quick note, I use
Just a quick note, I use Lighter menus http://www.italyisfalling.com/lighter-menus/ and FWP breaks the drop down menus, I assume because its adding the syndication button up top. No biggie, FWP is much more useful than lighter menus!
Maybe using Simple Pie &
Maybe using Simple Pie & Simple Pie Core Plugin is the better way... Time ago I fill a bug against this issue, but they must be still thinking about it :)
PS: Wonderful plugin, congratulations...
[...] ke 0fees. Saat itu
[...] ke 0fees. Saat itu wordpress.org meluncurkan versi 2.5 yang disusul dengan keluarnya versi 2.5.1. Cek ke situs pembuat plugin, ternyata versi lama (0.992) belum kompatibel dengan wp 2.5). Akhirnya diputuskan untuk menggunakan [...]
hello, I'm using
hello, I'm using feedwordpress on all my blogs and it works great, but...there is some issue
if I need to enter posts manually, uploading files options (URL, title,capture, ecc.) in popup ajax form are unavailable
I have to disable feedwordpress for a while, creating my posts, uploading my images, adding file tags to post using ajax form
then I get back to plugins and enable it back again
some fix for this issue?
thanks
i am having the same issue as
i am having the same issue as paolo.. FWP seems to stop the WP 2.5.1 Media uploader from crunching the images. It just hangs at the point where its uploading and never completes. I diagnosed it to a problem with FWP once I disable it the uploader works again.. This is too bad because I love them both, if only we could fix this bug. I read on this post that plugins that us Jquery are causing issues.. Is this it?
http://wordpress.org/support/topic/164999
Thanks for the great plugin!! I love it..
Cheers RadG
[...] done. I decided that
[...] done. I decided that the problem must lie with the Magpie RSS Parser that WordPress uses. Indeed, I thought I had found a solution to the problem. I installed his fix, but to no avail. After that, I thought more about his post and decided I [...]
I love this plugin!
I love this plugin!
Very informative content. I
Very informative content. I am going to use this on my website
[...] Via RSS automisch feeds
[...] Via RSS automisch feeds op je site ontvangen (installeer tevens de RSS.php en rss-function.phph update!) [...]
This is really really great.
This is really really great. Just wanted to express my appreciation of your work and your continued development and support for it. Keep up the good work!
[...] The downside is that it
[...] The downside is that it sometimes conflicts with Wordpress updates. But there is a fix for that here and it's easy to do - it's just a matter of uploading the feedwordpress magpie rss files and [...]
[...] after installing
[...] after installing FeedWordPress 2008.1030, 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 [...]
[...] feeds (especially Atom
[...] feeds (especially Atom feeds) immediately after making the upgrade, like those described in my old post about upgrading to WordPress 2.5, then you need to re-copy the MagpieRSS upgrades from your FeedWordPress installation to the [...]
Nice work on FeedWordPress:
Nice work on FeedWordPress: We are trying it out for http://ubiquity.mozilla.com/planet/.
I installed on new WP Version
I installed on new WP Version 2.7.1 blog
at first some of the new syndicated feeds disappeared from the list on admin.php?page=feedwordpress/syndication.php
now they are not visible at all - I sometimes get a glimps of them for a fraction of a second when the page loads - but then the page is just blank under the "Syndicated sources" heading
same using different computers and various web browsers
don't know if its a clash with another plugin but I never had any problems when I used an older version of Wordpress - but I am using some different plugins on the new blog
I've upgraded WP to the new magpie files - but guess that's a posting fix - not a display fix
Is it possible to limit the
Is it possible to limit the number of auto posts per day? i.e. 1 post per hour or 2 posts per day..
This plugins rocks! One
This plugins rocks! One question, and it might be a silly one:
If you are syndicating a complete post to your blog (I own the content), are there any negative SEO effects that it can clasify as duplicate content?
Hi For some reason no
Hi
For some reason no matter what RSS feed I enter and the update - I get 0 posts. For example:
Update complete. 0 new posts were syndicated and 0 existing posts were updated
Any ideas what that might be?
Is MagPie RSS that comes with Wordpress 2.8.5 still outdated?
Hi! I just wish to know if what was true for WP 2.5 still applies to WP 2.8.5 — i.e., that the MagPie version shipped with the current version of WP is still old and outdated.
Re: Is MagPie RSS that comes with Wordpress 2.8.5 still outdated
Gwyneth,
The short answer to your question is, "Yes."
The wp-includes/rss.php file bundled with WordPress 2.8.5 is still a modified version of version 0.51 of MagpieRSS, the obsolete version of MagpieRSS which has been shipping with WordPress for years now. It is unlikely that any future release of WordPress will upgrade the bundled MagpieRSS, because the WordPress team has now deprecated MagpieRSS, and now uses SimplePie -- a much newer, actively developed, and much more flexible and configurable Atom/RSS parser. The MagpieRSS module is included with recent releases of WordPress solely for backwards compatibility.
For what it's worth, in the next public release of FeedWordPress, I intend to do the same: dropping MagpieRSS and transitioning over to SimplePie. This will require some work in producing a compatibility layer, to ensure that the transition does not break existing FeedWordPress filters. But the change is coming soon, and I think everyone will be much better off for it.
Post new comment