[wp-trac] Re: [WordPress Trac] #4547: Convert WP from magpie to Simplepie

WordPress Trac wp-trac at lists.automattic.com
Thu Jun 28 14:51:24 GMT 2007


#4547: Convert WP from magpie to Simplepie
----------------------------------+-----------------------------------------
 Reporter:  technosailor          |        Owner:  technosailor
     Type:  task                  |       Status:  new         
 Priority:  normal                |    Milestone:  2.3 (trunk) 
Component:  General               |      Version:  2.3         
 Severity:  normal                |   Resolution:              
 Keywords:  simplepie magpie rss  |  
----------------------------------+-----------------------------------------
Comment (by Otto42):

 Replying to [comment:12 matt]:
 > As an alternative I see either maintaining the status quo with the
 package we currently use, which parses the feeds we use Good Enough, or
 creating an even more simplistic parser designed just to work with our
 dashboard feeds. (It could also be a lot more memory/space efficient if it
 didn't store the whole feed.)

 With regards to this argument, I don't think that "rolling our own" is a
 particularly good idea for a few reasons:
 * Rolling our own feed parser means that we're only likely to support what
 Wordpress itself needs (the dashboard feeds), making that particular code
 useless to everybody else. There's no way for general feed functionality
 to be used by other people (RSS widget, any other use of fetch_rss() in
 existence).
 * Maintenance becomes a pain in the arse, as people want to add new
 features to the feed parser in order to support whatever their feeds need.
 * Why reinvent the wheel? Using an existing, well-supported, and actively
 maintained library means that upgrading is a drop-in operation, with minor
 changes needed to accommodate changes. We do this with all the javascript
 code now (prototype, jquery, etc) so where's the problem?

 > I don't buy the argument of parsing more types of feeds than we
 currently do as enough to justify the change, because even SimplePie,
 which is way better than Magpie from what I can see, is still pretty
 limited when compared to what Google does or UFP, particularly with regard
 to malformed or invalid feeds.

 You don't necessarily need "more feeds" to justify the change. The fact
 that MagpieRSS is basically dead code should be enough to switch away from
 it. The fact that it uses Snoopy (which has issues) instead of having its
 own cross-server compatible URL retrieval (using curl if available, fopen
 if not, etc) should be enough to switch away from it. All major PHP web
 projects that used Magpie in the past have switched to SimplePie because
 the switchover is relatively simple and straightforward, the functionality
 so much better, and it's still being actively maintained.

 If you've tried to use Magpie to parse virtually any of Google's feeds,
 for example, you'd rapidly learn to appreciate the simplicity and
 flexibility of SimplePie. Magpie doesn't even fully support RSS feeds,
 much less Atom feeds.

 > If parsing everything possible is our goal, we should probably use a web
 service like Google's feed API, not switch out one almost-there library
 for another.

 Using Google's AJAX API is certainly a possibility for the dashboard,
 however it doesn't solve the more generic problem of reading feeds for
 other purposes. It would be beneficial to have generic feed reading
 capabilities in Wordpress because there are many, many other reasons to
 read feeds than just displaying news on the dashboard.

 The alternative is to eliminate the RSS widget, remove all feed parsing
 functionality from Wordpress, and then let plugins do it along with all
 the conflicts that that will introduce as you have half a dozen plugins
 all trying to load feed parsing libraries.

 Want to display flickr pictures? You need a feed parser. Want to display
 anything from any of Google's services? You need a feed parser. If you
 want to pull anything from any third party service, the short of it is
 that you need a feed parser. Having a standardized one that works for
 most, if not all, cases just makes sense.

-- 
Ticket URL: <http://trac.wordpress.org/ticket/4547#comment:14>
WordPress Trac <http://trac.wordpress.org/>
WordPress blogging software


More information about the wp-trac mailing list