[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