[Registry-dev] Registry URLs and meanings
Jonathan Marsh
jonathan at wso2.com
Thu Nov 8 16:24:36 PST 2007
We noted after this discussion we omitted versioning. I'll throw out a
straw man:
/{r1};v{x}
Resource {r1} version x
No POST, PUT, DELETE allowed.
This syntax is mutually exclusive with other qualifiers tags, comments, etc.
That is, only the content of the resource, not its metadata, is versioned.
(Is this how it works today?)
The other potential thing to version is the user himself (name, bio,
properties, etc.) Again we get into a discussion about how much like a
resource a user is. Which also makes me wonder if we at least need a way to
set user properties through URLs:
/users/{username};properties
Collection of user metadata properties
POST to add a new property
(DELETE not allowed)
/users/{username};properties:{prop}
Value of {prop} property for user {username}
PUT to change value
DELETE supported
And are these media-typed properties too ;-)
Jonathan Marsh - <http://www.wso2.com> http://www.wso2.com -
<http://auburnmarshes.spaces.live.com> http://auburnmarshes.spaces.live.com
From: registry-dev-bounces at wso2.org [mailto:registry-dev-bounces at wso2.org]
On Behalf Of Jonathan Marsh
Sent: Wednesday, November 07, 2007 6:54 PM
To: registry-dev at wso2.org
Subject: [Registry-dev] Registry URLs and meanings
Here is a sketch of the URI space and rough semantics of the registry we
came up with.
/users
Collection of users
POST creates new user
n/a
/users/{username}
User resource
PUT to change data
DELETE
/users/{username};tags
Collection of tags used by {username}
POST to rename tag
no
/users/{username};tags:{tag}
Collection of resources tagged with {tag} by {username}
n/a
no
/users/{username};comments
Collection of comments writing by {username}
n/a
no
/tags
Collection of all tags used in the system
n/a
no
/tags/{tag}
Collection of all resources tagged {tag}
n/a
no
/{r1}
Resource {r1}
POST creates new child resource (if it's a directory), PUT to change data
DELETE (including children, comments, tags)
/{r1};v{x}
Resource {r1} version x
no
no
/{r1};tags
Collection of tags on {r1}
POST creates new tag
(? Also deletes a tag Glen says yes, Jon says no)
n/a
/{r1};tags:{tag+username}
{? Jon says yes, Glen says no)
Collection of tags
n/a
(? Exception to PUT because the tag name and value are the same thing.)
DELETE
/{r1};tags:{username}
Collection of tags on {r1} applied by {username}
n/a
no
/{r1};comments
Collection of comments on {r1}
POST creates new comment
no
/{r1};comments:{username}
Collection of comments on {r1} by {username}
n/a
no
/comments:{id}
Comment {id} resource
PUT to change content
DELETE
/{r1};properties
Collection of metadata properties
POST to add new property
no
/{r1};properties:{prop}
Value of {prop} property for {r1}
PUT to change value
DELETE
/{r1};ratings
Collection of ratings of {r1} (includes average)
POST to rate
no
/{r1};ratings:{username}
Rating of {r1} given by {username}
n/a
DELETE
/{r1}/{r2}
Resource {r2}
See /{r1}
See /{r1}
/d1/d2/{q1}?{p1=v1}
Collection of results of query {q1} with parameters p1,=v1, etc.
PUT to change query
DELETE to remove query
Jonathan Marsh - <http://www.wso2.com> http://www.wso2.com -
<http://auburnmarshes.spaces.live.com> http://auburnmarshes.spaces.live.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://wso2.org/pipermail/registry-dev/attachments/20071108/703d2463/attachment-0001.htm
More information about the Registry-dev
mailing list