[Cosmo-dev] url addressing via uid
Brian Moseley
bcm at osafoundation.org
Wed Nov 1 13:51:34 PST 2006
if you read my response to randy's 0.6 sharing proposal, you'll see
that i suggested a url scheme for morse code that addresses items in
cosmo by uid rather than by hierarchical path.
i'd like to expand a bit on that suggestion by pointing out that
there's really very little reason why cosmo's protocols should expose
hierarchical relationships between collections. some webdav users will
come undoubtedly want to organize their shares into subcollections,
and we should support that, but there's no particular reason why any
of our other protocols should inherit the "hierarchy view" of our
repository.
i propose that in in 0.6 we revamp the addressing of cosmo resources
through atom and rpc so that collections and items are only addressed
by uid (the hierarchical view seems to still be useful in the homecoll
browser ui). this will make these services more performant (since
cosmo doesn't have to go through the expensive path -> uid translation
for each operation) and will simplify their interfaces and
implementations.
here's an example that will hopefully illustrate what i'm talking about.
in 0.5, the atom url for my default calendar is:
<https://osaf.us/cosmo/feed/atom/1.0/bcm/Cosmo>
my suggestion would make it this instead:
<https://osaf.us/cosmo/atom/vsiy6be5x0>
this url would not change even if i used webdav to reparent the
collection, and it doesn't imply anything about ownership or security.
it doesn't make it harder for users to subscribe to the atom feed,
because nobody will ever type this url by hand anyway - they'll always
copy and paste it from the homecoll browser or from an email.
thoughts?
More information about the cosmo-dev
mailing list