Sam Ruby pointed out some of the changes that would be required for Feed Validator to support the new RSS Profile. The RSS Profile is the result of checking popular feed reader capabilities in order to put together a "best practices" document for feed publishers. I haven't gotten to read through the entire profile yet, but here are some interesting things I noticed while reading through Sam's validator changes:
- Encoding - the profile says to use hexadecimal entity encoding (ie, & instead of &).
- The profile says that all item elements SHOULD appear after all other elements in the channel. Good.
- "For these reasons, a feed should contain an atom:link"... They're also recommending content:encoding elements too.
I wish they'd replace a few SHOULD's with MUSTS and make this a new version of the spec that actually contains some precision. :)
Now that the Atom Publishing Protocol is a proposed standard, standard. I started wondering how well RSSBus plays with Atom and APP.
- RSSBus allows you to output any feeds (the ones you create or the ones you're calling) in the Atom format. RSS happens to be the default, but any feed can easily be output as Atom using the @ATOM querystring value. Actually the output format of a feed is a completely open interface, so custom feed formatters can be created by anyone. RSS, Atom, HTML, JSON, and Excel feed formatters come installed with RSSBus.
- RSSBus allows you to consume and manipulate Atom feeds.
- RSBScript will allow you to create RESTful interfaces by using the rsb:script tag and its "method" attribute. For an example of this, look at the REST.rsb demo that comes installed with RSSBus. It shows how to respond to specific http methods GET, POST, PUT, DELETE, etc.
- One weakness is that RSSBus does not automatically recognize Atom entry inputs (the application/atom+xml;type=entry content-type). It would be a cool feature if RSSBus could recognize this when it comes in and automatically parse the incoming entry into easily scriptable input attributes. Instead, an xpath formatter needs to be used to get at the individual pieces of a posted Atom entry. This is an area where a new set of Atom specific formatters could be useful.