[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Collection Item Represenations
PaceCollectionIdiom[1] outlined a basic collection management
interface for the Atom Publishing Protocol. The idea was to
pull out an idiom and then reuse that idiom for other collections
in the APP that we need to cover. From our charter
we need to manage:
1. Entries
2. Comments
3. Subjects/Categories
4. Users
5. Templates
6. Other resources (images, etc.)
N.B. I am 'interpreting' the charter at this point. The charter
actually says:
* adding, editing, and deleting users
* setting and getting user preferences
But this raises a question for me. Aren't there
going to be preferences per
user and, in addition, preferences for the whole blog?
I have assumed, for the time being, that we have global
preferences for a site, and that the global
preferences won't work like a collection, i.e.
there will be single resource for the preferences
and that it understand GET and PUT.
We know we need to manage them, and
PaceCollectionIdiom outlines the types of
URIs we are going to use to manipulate them.
Now we need to settle on the types of
representations we need. To keep the conversation
on track let's just talk about the representations
of the individual resources, i.e. the representation
of the the Collection Item Resource,
and not that of the Collection Resource.
1. Entries - The represenation of entries is via an atom:entry.
2. Comments - Since CommentsAreEntries[2], this is also atom:entry.
3. Subjects/Categories - Given the sad state of affairs of the format
there is nothing there to reuse. So we could use something
extracted from PaceCategoriesFacet:
<?xml version="1.0" encoding="utf-8"?>
<subject
version="draft-ietf-atompub-format-03: do not deploy"
xmlns="http://purl.org/atom/ns#draft-ietf-atompub-format-03"
value="http://example.net/myontology/#books"
>
Books
</subject>
Or we could just reuse DC:
<?xml version="1.0" encoding="utf-8"?>
<subject
xmln="http://purl.org/dc/elements/1.1/">
title="Books">
http://example.net/myontology/#books
</subject>
4. User - Reuse the Person Construct from the Atom Format:
<?xml version="1.0" encoding="utf-8"?>
<author
version="draft-ietf-atompub-format-03: do not deploy"
xmlns="http://purl.org/atom/ns#draft-ietf-atompub-format-03">
<name>John Doe</name>
<uri></uri>
<email></email>
</author>
5. Templates - Let's maximize the reuse and let
templates be entries also.
6. Other Resources - According to PaceSimpleResourcePosting
the representation of each of these resource is their native
representation.
[1] http://intertwingly.net/wiki/pie/PaceCollectionIdiom
[2] http://intertwingly.net/wiki/pie/CommentsAreEntries
[3] http://intertwingly.net/wiki/pie/PaceCategoriesFacet
[4] http://intertwingly.net/wiki/pie/PaceSimpleResourcePosting
Thanks,
-joe
--
Joe Gregorio http://bitworking.org