Change Atom protocol workspace to provide two primary collections per workspace, one for entries and one for media. This would allow Atom to, at a minumum, equivalent functionality to the widely used MetaWeblog API. The first collection of each type MUST be considered the primary collection of that type.


This change will make it easy for blog client and server authors to support Atom since the already assume that a place to post entries and a place to post file uploads. Without this change, blog client authors will have to introduce a UI for picking a collection.

Specific changes

Change Atom protocol (draft 7) section 7.2.2 The "app:workspace" Element to read as follows, with proposed changes shown in bold:

The "app:workspace" element contains information elements about the collections of resources available for editing. The app:workspace element MUST contain one or more app:collection elements.

appWorkspace =
   element app:workspace {
      attribute title { text },
      ( appCollection+ 
        & extensionElement* )

In an app:workspace element, the first app:collection element of each type MUST refer to the preferred or primary collection of that type. In the following example, the "Entries" collection would be considered the "preferred" or "primary" entries collection of the workspace and the "Photos" collection would be considered the primary media collection.

    <workspace title="My Blog">
      <collection title="Entries" ... >
      <collection title="Photos" ... >
      <collection title="Other Photos" ... >
      <collection title="Archived Entries" ... >