On 6 Jul 2015 at 18:14:07, Guillaume Louis-Marie Delhumeau 
([email protected](mailto:[email protected])) wrote:

> Thomas actually convinced me that 2) is better.

It’s certainly “better” for the implementer since it’s simpler to implement.

In the end it’s really a question of:

1) shorter URLs or not (since escaping “pages” is not really a big deal - FTR I 
had replied to you at 
http://jira.xwiki.org/browse/XWIKI-12206?focusedCommentId=87131&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-87131).
 
2) Whether we want to strictly consider each space as a REST entity or the list 
of spaces itself as the REST entity, i.e. in the same way as our 
EntityReference in Java or not.

<much thinking…/>

I think I agree that sol2 is the best (for now), even though I hate that it’s 
so long, but it’s consistent.

Thanks
-Vincent

PS: Re 1) see 
http://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers
 which says that if we want to be fine we should not go beyond 2000 chars in 
URLs (IE10 has a 2083 limit for example - Incidentally this could also be a 
problem for the view action for long hierarchies but your hierarchies would 
really need to be very long: with an average of 20 chars per space level, you’d 
need an 80 -level deep hierarchy to reach the problem - And a 40 level deep one 
for the REST URL). So we should be safe.

> Why: how to access a space called "pages"?
>  
> It would be:
> /xwiki/rest/wikis/xwiki/spaces/Europe/France/Paris/pages/
>  
> But this url has an other meaning: list all pages of the space
> Europe.France.Paris
>  
> I have proposed to escape the space name for this kind of use-case, like
> this:
> /xwiki/rest/wikis/xwiki/spaces/Europe/France/Paris/~pages/
>  
> But this escaping using "~" is not very RESTful (it would be a custom,
> xwiki-specific, standard).
>  
> Meanwhile the solution 2 does not have this drawback:
> /xwiki/rest/wikis/xwiki/spaces/Europe/spaces/France/spaces/Paris/pages/
> is very clear. We have nothing to escape.
>  
> Thanks,
>  
>  
>  
> 2015-07-06 17:43 GMT+02:00 Guillaume "Louis-Marie" Delhumeau <
> [email protected]>:
>  
> > Note: I am personally for 1).
> >
> > 2015-07-06 17:38 GMT+02:00 Thomas Mortagne :
> >
> >> On Mon, Jul 6, 2015 at 5:11 PM, Guillaume "Louis-Marie" Delhumeau
> >> wrote:
> >> > Let me resume everything.
> >> >
> >> > It seems that jax-rs does not have a solution for handling list
> >> parameters
> >> > [1] (except by using a query string, or matrix parameters, which we
> >> don't
> >> > want). But, thanks to some hacks (example there:
> >> >
> >> https://github.com/xwiki/xwiki-platform/compare/d5f4997ddf40d70c8eef9a9ee0e9e98d767eb586...26b63f99654c90ba39c0601ee0d7c9397e1c629c
> >> )
> >> > we can manage to do it. We might find better solution afterwards.
> >> >
> >> > So we have several choices:
> >> > 1 - /xwiki/rest/wikis/xwiki/spaces/Europe/France/Paris/pages/WebHome -
> >> "/"
> >> > as separator for nested spaces
> >> > 2 - Edouard's proposition:
> >> >
> >> /xwiki/rest/wikis/xwiki/spaces/Europe/spaces/France/spaces/Paris/pages/WebHome
> >> > - with multiple "spaces/" prefix
> >> > 3 - Vincent's proposition -
> >> > /xwiki/rest/v2/type/page/ref/wiki:Europe.France.Paris.WebHome - the
> >> > reference version
> >> >
> >> > If we want to have this in M1, options 1 and 2 are more realistic.
> >>
> >> I don't think doing 3 is a good idea right now and this new concept
> >> needs to be discussed more.
> >>
> >> 1 looks easier to implements and write but 2 is probably more
> >> consistent with what we have today (plus it adds the feature of
> >> listing the nested spaces of some space) so I'm more for 2.
> >>
> >> >
> >> > [1]
> >> >
> >> http://cxf.547215.n5.nabble.com/Passing-array-as-a-parameter-in-JAX-RS-td563656.html
> >> >
> >> > Thanks,
> >> > Guillaume

[snip]

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

Reply via email to