[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