Status of this Document
Abstract
1. Overview
1.1. References
2. Technical Specification
2.1. Namespace
2.2. Namespaced rssCloud XML Publisher’s Schema
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://rssboard.org/2009/xsd/rss2.0"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="0.9">
<xs:element name="cloud">
<xs:complexType>
<xs:annotation>
<xs:documentation>Specifies a web service that supports the rssCloud interface which can be implemented in HTTP-POST, XML-RPC or SOAP 1.1. Its purpose is to allow processes to register with a cloud to be notified of updates to the channel, implementing a lightweight publish-subscribe protocol for XML resources.</xs:documentation>
</xs:annotation>
<xs:attribute name="domain" type="xs:string" use="required"/>
<xs:attribute name="port" type="xs:positiveInteger" use="required"/>
<xs:attribute name="path" type="xs:string" use="required"/>
<xs:attribute name="registerProcedure" type="xs:string"
use="required"/>
<xs:attribute name="protocol" use="required"/>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="xml-rpc"/>
<xs:enumeration value="http-post"/>
<xs:enumeration value="soap"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:schema>
2.3. Use in Atom
2.4. Use in RSS
3. Examples
3.1. Atom Example
<feed xmlns="http://www.w3.org/2005/Atom"
xmlns:rss="http://rssboard.org/2009/xsd/rss2.0">
<rss:cloud domain="example.com" port="80"
path="/?rsscloud=notify" registerProcedure=""
protocol="http-post"/>
<title>Example Feed</title>
<link href="http://example.org/feed/" rel="self" />
<link href="http://example.org/" />
<id>urn:uuid:8f8f8f8f-adad-face-090909090909</id>
<updated>2003-12-13T18:30:02Z</updated>
<author>
<name>John Doe</name>
<email>johndoe@example.com</email>
</author>
<entry>
<title>Atom-Powered Robots Run Amok</title>
<link href="http://example.org/2003/12/13/atom03" />
<id>urn:uuid:1225c695-cfb8-4ebb-80da344efa6a</id>
<updated>2003-12-13T18:30:02Z</updated>
<summary>Some text.</summary>
</entry>
</feed>
September 12, 2009 at 2:57 pm |
I think this looks like a reasonable approach to adding rssCloud support to Atom. Might be worth waiting to move forward on this until any tweaks/adjustments to the original rssCloud details are made. Once folks are confident that the issues have been addressed your proposed extension could be updated and reviewed in more detail.
September 13, 2009 at 12:13 am |
Hi, Joseph. Thanks for looking it over. (And thanks for RssCloudifying my wordpress blog!)
I haven’t yet heard anyone suggest improvements to rssCloud that would affect this part of the spec, but actually I can think of two:
1. The “registerProcedure” attribute should be optional.
2. If multiple cloud elements are allowed for a single feed, each could have an optional “priority” int attribute to say, “This one is primary, this one is backup.” 10, 20, 30, etc.
Neither seem strictly necessary though. Not as important as fixing the “same-IP” issue, which I was happy to hear on the BadHair.us podcast Dave agrees is worth consideration.
November 1, 2009 at 6:36 pm |
Hmm, didn’t see this until Dave just linked to it.
Seems IP issue fix underway with the advent of the domain parameter.
I guess you mean registerprocedure should be optional since it is empty on HTTP Post. Makes sense. No big deal.
lastly, I believe there has been talk on PSHB list about the order of the hub elements in the document actually implicitly stating their priority.
What do you think of that?