On Fri, May 11, 2012 at 3:32 PM, Marius Dumitru Florea
<[email protected]> wrote:
> On Fri, May 11, 2012 at 4:20 PM, Jean-Vincent Drean <[email protected]> wrote:
>> On Fri, May 11, 2012 at 3:08 PM, Marius Dumitru Florea
>> <[email protected]> wrote:
>>> On Fri, May 11, 2012 at 3:52 PM, Jean-Vincent Drean <[email protected]> wrote:
>>>> On Fri, May 11, 2012 at 2:31 PM, Marius Dumitru Florea
>>>> <[email protected]> wrote:
>>>>> I opened http://jira.xwiki.org/browse/XWIKI-7815 .
>>>>>
>>>>> On Fri, May 11, 2012 at 11:47 AM, Vincent Massol <[email protected]> 
>>>>> wrote:
>>>>>>
>>>>>> On May 11, 2012, at 10:35 AM, Thomas Mortagne wrote:
>>>>>>
>>>>>>> On Fri, May 11, 2012 at 10:25 AM, Marius Dumitru Florea
>>>>>>> <[email protected]> wrote:
>>>>>>>> Hi devs,
>>>>>>>>
>>>>>>>> While debugging the failing REST integration tests I discovered an
>>>>>>>> inconsistency in the page REST resource. Take for instance the
>>>>>>>> response returned for this URL:
>>>>>>>>
>>>>>>>> /xwiki/rest/wikis/xwiki/spaces/Blog/pages/BlogIntroduction
>>>>>>>>
>>>>>>>> * The returned content is the raw (not rendered) content. In this
>>>>>>>> particular case, since the blog post content is saved in the blog post
>>>>>>>> object, and also because the blog uses the new sheet system, the raw
>>>>>>>> content of Blog.BlogIntroduction page is empty
>>>>>>>>
>>>>>>>> * The returned title is the display title (i.e. the rendered title).
>>>>>>>> In this particular case, since the raw title is empty, but the blog
>>>>>>>> post sheet, which controls how the title is displayed, renders the
>>>>>>>> 'title' property of the blog post.
>>>>>>>>
>>>>>>>> The inconsistency is that the content is raw while the title is
>>>>>>>> rendered. I think the page REST resource should provide data in the
>>>>>>>> first place, so raw title. It could provide the rendered title or
>>>>>>>> content additionally, but that is secondary IMO.
>>>>>>>>
>>>>>>>> WDYT?
>>>>>>>
>>>>>>> I agree. The default behavior of REST should be to return data.
>>>>>>> Especially since thee is nothing here to indicate in which syntax to
>>>>>>> output the title.
>>>>>>
>>>>>
>>>>>> I agree too. We need to decide how to handle this change though since 
>>>>>> it's going to break backward compat.
>>>>>
>>>>> I think the "title" page REST resource property should provide the raw
>>>>> document title on the long run, and the rendered title could be
>>>>> obtained through http://jira.xwiki.org/browse/XWIKI-5820 . So I don't
>>>>> see other solution besides:
>>>>
>>>
>>>> But this means that in order to get technical info about a page
>>>> (parent, children, etc) and the rendered title you'll need to make 2
>>>> requests right ?
>>>
>>> No. If you need only the rendered version of a page you request
>>> directly the rendered version, which includes all the document meta
>>> data (parent, child, etc.). The only difference is that fields like
>>> title and content which are "renderable" are rendered. At least that's
>>> what I understood from http://jira.xwiki.org/browse/XWIKI-5820 . Now,
>>> if you need both raw and rendered data you have to make indeed 2
>>> requests.
>>>
>>>> Is the raw title really useful outside of an editor ?
>>>
>>> As I said before, I believe the data is more important than the
>>> presentation of the data and REST should focus on the data first, i.e.
>>> it should expose XWiki data. Right now you can't access the raw
>>> document title through REST and this is a serious limitation.
>>>
>>
>> We render the title field in order to display data (from an object
>> field for example) or in order to get a translation.
>> I see what you mean but we're only talking about velocity evaluation
>> here, which is not exactly "presentation".
>
> Hmm, indeed, evaluating the Velocity code from the document title
> outside of the XWiki context is tricky.
>
> More info:
>
> * we didn't provide the rendered title from the start. Here's the
> commit that introduced it
> https://github.com/xwiki/xwiki-platform/commit/2f47139e21bc0ea1d7210d6bc9cf4f5fcfa58843#L1L229
> * there are resources that return the raw title. I found
> /xwiki/rest/wikis/xwiki/pages so there's clearly an inconsistency.

Why not returning both under different keys ?

Ultimately, maybe such case should probably be addressed using a sort
of "aspect" API parameter for all rest APIs, that would allow the
consumer to precise what kind of response they expect : row value,
data for human presentation, etc.

Jerome

>
> Thanks,
> Marius
>
>>
>>>
>>> I don't know if there are more use cases for the rendered title versus
>>> raw title, but I know that you can get the rendered title from the raw
>>> title, but not the other way around. Someone might want to use his own
>>> renderer for the title (although that's a bit far fetched :) ).
>>>
>>
>> You can get the rendered title from the raw title only of you're using
>> the API from XWiki itself (and on the server side).
>>
>> --
>> Jean-Vincent Drean,
>> XWiki.
>> _______________________________________________
>> devs mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/devs
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs



-- 
Jérôme Velociter
Winesquare
http://www.winesquare.net/
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to