Atom and the Atom Publishing Protocol (AtomPub) will become one of the most important methods for information management on the web, and this trend has only started. AtomPub turns Atom into a read/write technology, which makes it much more powerful and widely applicable. it also adds features such as service discovery and category descriptions to Atom. the core documents have been published as RFCs:
- RFC 4287: The Atom Syndication Format is an XML-based Web content and metadata syndication format.
- RFC 5023: The Atom Publishing Protocol (AtomPub) is an application-level protocol for publishing and editing Web resources. The protocol is based on HTTP transfer of Atom-formatted representations.
three other RFCs define small but very useful extensions to the basic Atom format, which are likely to be applicable in many scenarios:
- RFC 4685: Atom Threading Extensions presents a mechanism that allows feeds publishers to express threaded discussions within the Atom Syndication Format.
- RFC 4946: Atom License Extension defines an extension to the Atom Syndication Format for describing licenses associated with Atom feeds and entries.
- RFC 5005: Feed Paging and Archiving defines three types of syndicated Web feeds that enable publication of entries across one or more feed documents. This includes
pagedfeeds for piecemeal access,
archivedfeeds that allow reconstruction of the feed's contents, and feeds that are explicitly
- RFC 6721: The Atom "deleted-entry" Element adds mechanisms to the Atom Syndication Format that publishers of Atom Feed and Entry documents can use to explicitly identify Atom entries that have been removed.
Web Linking moved link relationships that previously had been defined statically in standards such as Atom and AtomPub to an IANA registry of link relations, thus allowing new link relations to be defined and discovered in a standardized and managed place. The following RFCs are relevant link relations from the Atom/AtomPub point of view:
- RFC 5988: Web Linking specifies relation types for Web links, and defines a registry for them. It also defines the use of such links in HTTP headers with the Link header field.
- RFC 5989: A SIP Event Package for Subscribing to Changes to an HTTP Resource; The Session Initiation Protocol (SIP) is increasingly being used in systems that are tightly coupled with Hypertext Transport Protocol (HTTP) servers for a variety of reasons. In many of these cases, applications can benefit from being able to discover, in near real-time, when a specific HTTP resource is created, changed, or deleted. This document proposes a mechanism, based on the SIP Event Framework, for doing so.
- RFC 5829: Link Relation Types for Simple Version Navigation between Web Resources defines a set of link relation types that may be used on Web resources for navigation between a resource and other resources related to version control, such as past versions and working copies.
- RFC 6573: The Item and Collection Link Relations; RFC 5988 standardized a means of indicating the relationships between resources on the Web. This specification defines a pair of reciprocal link relation types that may be used to express the relationship between a collection and its members.
In addition to existing standards, several Atom and AtomPub extensions are currently under development, here are the active ones:
- draft-divilly-atompub-discovery: AtomPub Guidelines for Collection Discovery recommends best practices for discovering AtomPub Collection resources as applicable to various content representation formats.
- draft-divilly-atom-hierarchy: Hierarchy Extensions for Atom defines mechanisms for hierarchical navigation among Atom feeds and entries.
- draft-gregorio-atompub-multipart: AtomPub Multipart Media Creation defines how an Atom Publishing Protocol collection should process multipart/related requests and also defines how a service announces that it accepts multipart/related entities.
- draft-mehta-atom-inline: In-lining Extensions for Atom defines mechanisms for in-lining representations of linked resources in Atom documents.
- draft-rsalz-atom-adv-sec: Advanced Security Processing for Atom and APP Documents states that the Atom and APP specifications specify simple uses of cryptography to sign and encrypt their documents. Each document is processed completely, and in isolation. The draft specifies additional uses that enable selective protection or encryption of content, and allows a "trust path" to be created across "atom:link" elements.
- draft-wilde-atom-profile: Profile Support for the Atom Syndication Format states that Profiles are one way how Atom feeds can indicate that they support specific extensions. To make this support visible on the media type level, this specification adds an optional "profile" media type parameter to the Atom media type. This allows profiles to become visible at the media type level, so that servers as well as clients can indicate support for specific Atom profiles in conversations, for example when communicating via HTTP. This specification updates RFC 4287 by adding the "profile" media type parameter to the application/atom+xml media type registration.
the following drafts seem to be abandoned (at least the I-D documents are expired), but this does not necessarily mean that they will not be re-published at some point in time:
- draft-nottingham-atompub-fiql: FIQL: The Feed Item Query Language is a simple but flexible, URI-friendly syntax for expressing filters across the entries in a Web feed. It also specifies a mechanism to allow feeds to indicate what types of queries are supported.
- draft-nottingham-atomtriples: AtomTriples: Embedding RDF Statements in Atom describes AtomTriples, a set of Atom extension elements for embedding RDF statements in Atom documents (both element and feed), and declaring how they can be derived from existing content.
- draft-saintandre-atompub-notify: Transporting Atom Notifications over the Extensible Messaging and Presence Protocol (XMPP) describes a method for notifying interested parties about changes in syndicated information encapsulated in the Atom feed format, where such notifications are delivered via an extension to the Extensible Messaging and Presence Protocol (XMPP) for publish-subscribe functionality.
- draft-snell-atompub-autodiscovery: Atom Feed Autodiscovery specifies a machine-readable method of linking to an Atom feed from a Hypertext Markup Language (HTML) or Extensible Hypertext Markup Language (XHTML) document, using the <link> element.
- draft-snell-atompub-bidi: Atom Bidirectional Attribute adds a new attribute to the Atom Syndication Format used to indicate the base directionality of directionally-neutral characters.
- draft-snell-atompub-feature: Atom Publishing Protocol Feature Discovery introduces extensions to the Atom Publishing Protocol Service Document format for expressing metadata about the behaviors, functions and capabilities supported by an Atom Publishing Protocol collection.
- draft-snell-atompub-feed-index: Atom Ranking Extensions defines an Atom Syndication Format extension for numerically ranking entries within a syndication feed.
- draft-snell-atompub-link-extensions: Atom Syndication Format Link Extensions defines extensions to the Atom Syndication Format link and content elements that may be used to express additional metadata about linked resources.
- draft-sayre-atompub-protocol-seek: Feed Seek for the Atom Publishing Protocol presents a set of URI parameters used identify segments of an Atom Publishing Protocol feed. It also presents a syntax for declaring the placement of those parameters in a URI.
- draft-snell-atompub-revision: Atom Syndication Format Revision Tracking defines metadata extensions for use with the Atom Syndication Format to track revisions of entries.
my goal is to keep this collection of Atom-related specifications and standardization activities up-to-date and announce any changes to it on my blog, so if any of the information looks outdated, or something is missing, please let me know! thanks!
change log (latest first):
- August 9, 2013: added draft-wilde-atom-profile
- September 25, 2012: added RFC 6721 (was draft-snell-atompub-tombstones)
- June 15, 2012: added RFC 6573 (was draft-amundsen-item-and-collection-link-relations)
- October 4, 2011: added draft-amundsen-item-and-collection-link-relations
- November 3, 2010: added RFCs 5988 (Web Linking) and 5829/5989 (link type registrations), removed draft-nottingham-http-link-header (draft of RFC 5988) and draft-brown-versioning-link-relations (draft of RFC 5829)
- November 2, 2010: added (expired) draft-snell-atompub-revision
- January 22, 2010: updated title of draft-brown-versioning-link-relations
- August 23, 2009: added draft-rsalz-atom-adv-sec
- July 13, 2009: added draft-brown-versioning-link-relations
- June 10, 2009: added draft-mehta-atom-inline
- June 8, 2009: several changes in the atom landscape: draft-snell-atompub-tombstones has become active again; added draft-sneddon-atom-export; draft-divilly-atom-hierarchy replaced draft-divilly-atompub-hierarchy; added draft-divilly-atompub-discovery
- March 1, 2009: added draft-nottingham-http-link-header
- February 25, 2009: added draft-snell-atompub-autodiscovery
- January 8, 2009: moved draft-saintandre-atompub-notify to the
expiredlist; added draft-nottingham-atomtriples to the
- October 31, 2008: added draft-divilly-atompub-hierarchy; moved a number of drafts to the
- June 11, 2008: added draft-gregorio-atompub-multipart
- March 18, 2008: added draft-nottingham-atompub-fiql
- February 13, 2008: added draft-sayre-atompub-protocol-seek
- January 29, 2008: added draft-snell-atompub-link-extensions
- January 22, 2008: turned the atom landscape overview into a
- January 5, 2008: published revision as Atom Landscape Overview v2
- November 10, 2007: first published as Atom Landscape Overview