Hi guys, can we please finish and/or close this vote so that Sergiu can act on it and we can release XE 3.2.1?
Thanks in advance, Guillaume On Mon, Oct 10, 2011 at 10:13 AM, Denis Gervalle <[email protected]> wrote: > > > > On Mon, Oct 10, 2011 at 09:31, Thomas Mortagne < > [email protected]>wrote: > > On Fri, Oct 7, 2011 at 12:13 PM, Vincent Massol <[email protected]> > wrote: > > > Hi guys, > > > > > > Ok here's second version taking into account Denis and Marius comments: > > > > > > * Have a {{display}} macro which is equivalent to context=new and > > resolve=source (ie links resolved on the reference being displayed) > > > > +1, this is simpler and clearer > > > * Have a compatibility mode for the {{include}} macro with the following > > behavior: > > > ** {{include}} in non-compatiiblity mode is equivalent to > context=current > > and resolve=current (ie links resolve on the including document) > > > ** {{include}} in compatiiblity mode is equivalent to context=current > and > > resolve=source (the default we have now and which we need to not break > > people) > > > > * We would have a rendering.macro.include.compatibility configuration > > property > > > * We would set that property to true by default for 3.3 to give some time > > for people to adjust > > > * We would set that property to false by default for 3.4 > > > -0, this is for me useless, since I doubt many understand that and have > notice this change in 3.x. I was unaware myself of this change, and I do > not > remember any discussion about it in the past. If you have a ML thread about > the rational behind this mistake, I am still interested, but I it could > have > been introduce without notice, it could be removed as well. > At least, this should not be in compatibility mode by default. > > > > So you propose to get back to previous behavior by default, right ? > > Given the fact that it has been changed very recently maybe we should > > have the property false right away and say it was a mistake ? > > > > I agree. > > > > > * Deprecate "document" parameter for the include macro and add a new > > "reference" parameter + a new "type" parameter (I forgot that one in my > > first email). The "type" parameter represents the Entity Reference Type. > > > * Also add a "type" parameter for the display macro (I forgot that one > in > > my first email) > > > * Have the "type" parameter default to "document". > > > > +1 > > > > I forgot to mention the following point: > > ** The {{include}} macro has a new "resolve" parameter (the "context" one > > is deprecated) which can be "current" or "source". > > This is needed since there are use cases both resolve=current and > > resolve=source for the include macro. Once again the context param has > > nothing to do with how links/images are resolved. And again the writer > of a > > page isn't necessarily the same as the person who's going to include your > > page. > > > I am still -1 on this last point. First, it is precisely because it is very > difficult to understand the differences between the context and the resolve > parameter that I am against it. I repeat myself, but not having the same > behavior between $doc.getURL() and [[ ]] is for me not acceptable, since > the > included document author could no more count on the equality of these to > resolution methods. If I have been aware of that change in 3.x I would have > veto it already. > > Moreover, if the writer of the included document is the not the writer of > the including document, he would be better if he could stay in control of > how links/image are accessed, protecting the way its own document works, > and > not leaving this to the including document author. This is why I have > proposed to move the resolve parameter on individual links, which is more > flexible and understandable. > > Currently, AFAIK, during an {{include}} (without context=new), using > velocity, the included document do not have an easy access to itself > (without knowing its own name), but you want this possibility for links ? > and you want it globally ? This seems to me curious that something > difficult > to do by code would be easy by syntax. > > If you still want to convince me, please explain why you need $doc and > relative links to diverge, especially without the included document author > to be aware of this. What cannot you do with {{display}} that would be > possible by {{include resolve=source}}; and that would not be better served > by giving the control to the included document author ? > > Denis > > > > > > Some additional notes: > > > * The person writing a page is not necessarily the same as the person > > writing an include. > > > * With the new sheet mechanism there are a lot less use cases for the > > include in compatibility mode. > > > > > > Please vote again. > > > > > > Here's my +1 > > > > +1 (with the previous note) > > > > > > > > Thanks > > > -Vincent > > > > > > On Oct 6, 2011, at 2:58 PM, Vincent Massol wrote: > > > > > >> Hi devs, > > >> > > >> As you know in XE 3.0 we've changed the behavior for resolving local > > links/attachments when they're included using the {{include}} macro > (they're > > now resolved against the included document instead of the including > > document). > > >> > > >> Now there might be some use cases (pretty rare IMO but they exist) > where > > you'd want the links to be resolved against the including document. > Here's a > > use case: you have a sheet document that references an image called > > image.png and you want that the including document provides it (like an > > Abstract in Java! ;)). > > >> > > >> So we've brainstormed with Thomas and here's our proposal: > > >> > > >> * Introduce a new {{display reference="…"/}} macro. This macro will > > *execute* the passed reference in its own context (it'll do what > {{include > > context="new"…}} was doing before). It'll be located in the new display > > module. > > >> * Deprecate the "context" parameter of the {{include}} macro. The > reason > > is that calling with context=new is not an include, it's a display. > > >> * Add a new "resolve" parameter for the {{include}} macro with > possible > > values = "current" | "source", with a default value of "source". > > resolve=source means that the links/attachments are resolved against the > > source (ie the document being included). Using resolve=current means that > > you want the links/attachments resolved against the including document. > > >> > > >> Pros: > > >> * Clearly separate the 2 use cases: display and include > > >> * Make the include macro simple (a single "resolve" parameter) > > >> * Use the new display module as it should be and start the direction > of > > having displayer macros for displaying all types of entities > > >> > > >> Note: In the future we'll also want to deprecate the "document" > > parameter of the include macro in favor of a more generic "reference" > > parameter, which will allow the macro to include other types of entities > > (such as an object property for ex). > > >> > > >> WDYT? > > >> > > >> Here's my +1 > > >> > > >> Thanks > > >> -Vincent > > >> > > > > > > _______________________________________________ > > > 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 > > > > > > -- > Denis Gervalle > SOFTEC sa - CEO > eGuilde sarl - CTO > _______________________________________________ > devs mailing list > [email protected] > http://lists.xwiki.org/mailman/listinfo/devs > _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

