Magpie falling behind feed developments
|Reported by:||skeltoac||Owned by:||link92|
|Component:||Optimization||Keywords:||magpie rss atom rdf xml bg|has-patch bg|needs-testing|
MagpieRSS doesn't know how to handle new elements in XML. It doesn't understand Atom 1.0 or RSS 2.0 very well. It is lossy. It doesn't use wp_object_cache. It needs an update.
Rather than tweak Magpie to handle each new thing that comes along, I've put together an XML parser that handles Atom, RSS and RDF feeds and provides an way to add support for new kinds of XML elements. It has default logic to handle any XML data in a feed and can be extended via plugins to add logic for handling special elements. It uses wp_object_cache whenever possible; otherwise it falls back on the database.
fetch_rss is emulated very well and much extra data is available in the array returned but some elements, such as Atom elements with both attributes and inner text, may lose some of their meaning. It may be best to start using a lossless format or tweak the array so that attributes are always preserved.
This code is in use on wordpress.com right now. It needs scrutiny and testing on other platforms as well.