+1 for multiple spaces

It's the simplest from retro compatibility point of view since it's
actually don't really change anything and nothing prevent us from
introducing some other scheme for REST later if e really want to.

On Fri, Jul 3, 2015 at 12:55 AM, Eduard Moraru <[email protected]> wrote:
> Hi,
>
> Initially, I wanted to go with the dots, however the backwards
> compatibility problem would force us to either use a different key than
> "spaces" and deprecate "spaces" or to introduce versioning (i.e. path
> prefix like /rest/v1/wikis...), as Vincent said.
>
> However, the multiple "spaces" (I think this is what you meant, Vincent)
> alternative has more (I`d say only) advantages than disadvantages. So the
> URL would be:
>
> /xwiki/rest/wikis/xwiki/spaces/Europe/spaces/France/spaces/Paris/pages/WebHome
>
>
> + is 100% backwards compatible
> ++ old apps will only be able to access the first level, as they were
> designed
> ++ No mixup between space name (unescaped) vs space reference (escaped)
> ++ As a result, no need to introduce any versioningjust yet
>
> + indeed is much more restful, since at each step (e.g. France) you can
> have either subspaces (e.g. Paris) or pages (e.g. WebHome or any other
> terminal page)
> ++ in other words, the resource hierarchy is better exposed
>
> + Bonus, we stick to the good old "/" separator
>
> + Reflects perfectly the expansion of the model that we are doing through NS
>
> +1 for dots, i.e.
> /xwiki/rest/wikis/xwiki/spaces/Europe.France.Paris/pages/WebHome
>
> - longer URLs for long paths
>
> So I`m +1 for the "multiple spaces" option.
>
> Thanks,
> Eduard
>
> On Thu, Jul 2, 2015 at 6:14 PM, [email protected] <[email protected]>
> wrote:
>
>> I think we should decide what we want independently of the REST framework
>> impl, to be the most restful possible.
>>
>> Then we check how to do it in the REST fwk we currently use (restlet) and
>> if not possible then we should check if it’s possible with some other REST
>> fwk (jersey for example).
>>
>> At worse, if we don’t want to wait we will need at least to introduce API
>> versioning so that we can change it later on easily.
>>
>> There’s also the suggestion I proposed with several “pages” elements which
>> seems potentially more restful than dots to me (but leads to longer urls).
>>
>> So IMO you should research more about what is the RESTful approach to this
>> before we can decide anything.
>>
>> Thanks
>> -Vincent
>>
>> On 2 Jul 2015 at 15:57:53, Guillaume Louis-Marie Delhumeau (
>> [email protected](mailto:[email protected])) wrote:
>>
>> > Hi.
>> >
>> > This proposal is already explained in
>> > http://jira.xwiki.org/browse/XWIKI-12206. I think it is an important
>> issue
>> > to fix because it blocks http://jira.xwiki.org/browse/XWIKI-12198
>> (Ensure
>> > annotations work on nested spaces).
>> >
>> > The current REST URL for a space is:
>> > /xwiki/rest/wikis/xwiki/spaces/Europe
>> >
>> > and for a page:
>> > /xwiki/rest/wikis/xwiki/spaces/Europe/pages/WebHome
>> >
>> > The idea is to use dots as space separator in the REST URLs in the case
>> of
>> > nested spaces. Example:
>> > /xwiki/rest/wikis/xwiki/spaces/Europe.France.Paris
>> >
>> > For spaces containing dots in their name, we simply escape them with \
>> > (%5C).
>> >
>> > It has the drawback to not have a similar URL than the standard action,
>> ie:
>> > /xwiki/bin/view/Europe/France/Paris/WebHome - for view action
>> > /xwiki/rest/wikis/xwiki/spaces/Europe.France.Paris/pages/WebHome - for
>> REST
>> > action
>> >
>> > But it does not seem possible to handle "/" in path parameters with
>> Restlet.
>> > ie:
>> > /xwiki/rest/wikis/xwiki/spaces/Europe/France/Paris/pages/WebHome
>> > is not supported by Restlet.
>> >
>> > After a talk with some Restlet committers, they confirm me that we have
>> to
>> > write our own URL router to handle this. I don't know if it worth the
>> pain
>> > although I don't have evaluated it.
>> >
>> > So I guess this proposal using dots is the best option, but I'm free to
>> > talk about this.
>> >
>> > Thanks,
>> > Guillaume
>> >
>> > --
>> > Guillaume Delhumeau ([email protected])
>> > Research & Development Engineer at XWiki SAS
>> > Committer on the XWiki.org project
>> > _______________________________________________
>> > devs mailing list
>> > [email protected]
>> > http://lists.xwiki.org/mailman/listinfo/devs
>> _______________________________________________
>> devs mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/devs
>>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs



-- 
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to