http://www.ietf.org/internet-drafts/draft-ietf-atompub-protocol-08.txt
A few comments:
7.2.3 Editorial. Still has a reference to appListTemplate
8.3.2 Media collection entries with editable metadata. Better, but
still broken.
It's great that a media resource can have an associated atom entry
for editing metadata, however, the way this is defined, after posting
the image, the client would either have to hope that the server included
the generated Atom entry in the response to the POST operation (an
undefined behavior) or do a GET on the collection-uri, dig through the
entries to find the one that matched the image they just posted, look
for the edit link, etc. Solution: return an edit Link header in the
response:
Link: <http://example.org/media/1.png?edit>; rel="edit"
The other problem with media collections is that they are unusable
in scenarios where the public referenceable uri is different than the
edit uri. Solution: limit Location to editing, use a Link header to
optionally point to alternative public read-only references. The
Location URI MAY still be used for public referencing.
Location: http://example.org/media/1.png
Link: <http://cdn.example.org/photos/1.png>; rel="alternate"
A final issue is that the client has no way of correlating the
POSTed image with whatever entry appears in the media collection feed. I
would suggest optionally using the Content-ID header in the response to
communicate the generate atom:id of the media resource back to the client.
Complete example response:
HTTP/1.1 201 Created
Date: nnnn
Location: http://example.org/media/1.png
Link: <http://example.org/media/1.png?edit>; rel="edit",
<http://cdn.example.org/photos/1.png>; rel="alternate"
Content-ID: <tag:example.org,2005:media/1.png>
The Link and Content-ID headers would also be returned in response
to GET and HEAD operations on the URI specified by Location.
I will write up a Pace that describes these changes in spec text.
9. Contradictory requirements. each entry in the feed document *MUST*
have an atom link element. But media collection entries MAY (section
8.3.2) and entry collections MAY (section 8.2). Which is it?
9.1 Editorial. First sentence is duplication of first sentence of section 9
12 Example still busted (see section 8.3.2 comments above)
13 Should support http basic authentication, not just digest. I'll
submit a Pace.
- James