Hi, I'd like to submit the first version of a proposal for a component to support the Atom Publishing Protocol. It's a very basic version, I'm sure I've missed lots out, so any comments are welcome.
-- Cheers, Michael eZ component: AtomPub, Requirements ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :Author: Michael Maclean :Revision: $Revision$ :Date: Date: 2008-02-20 Introduction ============ Description ----------- The purpose of this component is to implement a server for the Atom Publishing Protocol (standardised in `RFC 5023`_). Atom is "an application-level protocol for publishing and editing Web Resources using HTTP and XML." [#]_. It is mainly used with CMS and blog applications as an API to publish content from client tools. Several popular blogging tools such as Google's Blogger and Wordpress support it. It has also been used in similar situations to UDDI for Web service registration and discovery [#]_. .. _`RFC 5023`: http://tools.ietf.org/html/rfc5023 .. [#] http://www.atomenabled.org/developers/protocol/ .. [#] http://intertwingly.net/blog/2008/01/16/Atom-as-Registry-Repository Requirements ============ The requirements for this component are somewhat aligned with the WebDAV component, and they can be used for similar purposes. It is possible that some of the infrastructure for that component could be recycled for this one. The first version of the component should, like WebDAV, support a filesystem backend and have a plugin system suitable for writing drivers to handle many other backends - database, FTP, etc. Component integration ===================== Feed ---- AtomPub uses the Atom syndication format as a representation format for collections. As such, a dependency on the Feed component to provide this output is likely to be unavoidable. Authentication -------------- At first, the component should support use of HTTP Basic as the authentication protocol. To provide the authentication database, ie-ins to backends provided by the Authentication_ component should be possible. .. _Authentication: http://ezcomponents.org/docs/tutorials/Authentication Other considerations ==================== Routing/dispatching ------------------- Implementation of the AtomPub protocol may require certain considerations to be made when implementing routing - for example, to allow the service document URL to be available in the correct location. It may be best to provide advice to implementors on how to set this up, rather than build in any particular support for routing into the component. Metadata -------- Like WebDAV, Atom allows for metadata such as author data, titles, "slugs" (which are to be used when generating URLs for the content), and publishing timestamps. The storage backend will need to provide some way of storing this, such as XML files, a database, or similar. .. Local Variables: mode: rst fill-column: 79 End: vim: et syn=rst tw=79 -- Components mailing list [email protected] http://lists.ez.no/mailman/listinfo/components
