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

