6 +1 and no other votes, lets do it. On Tue, Jan 10, 2012 at 1:30 PM, Vincent Massol <[email protected]> wrote: > Hi again, > > After discovering http://jira.xwiki.org/browse/XWIKI-7301 and after > discussing this more with Ludovic, Denis and Thomas, here's what we propose: > > For 3.2.1 and 3.3.1: > - revert behavior of include as it was before 3.0 (i.e. 1 year ago) i.e. have > include with context = current be the default and no relative resolution of > links/images > - Big warning in release notes about the change and explain that in 3.4+ > there's a new "display" macro for the context=new use case (see below) > > For 3.4: > - revert behavior of include as it was before 3.0 (i.e. 1 year ago) i.e. have > include with context = current be the default and no relative resolution of > links/images > - new display macro (equivalent to include context = new) > - Big warning in release notes about the change > - deprecate the "context" param in include macro > - deprecate the "document" param in include macro and add "reference" + > "type" (with default type being documents) > - also use "reference" and "type" params in new "display" macro > > Future: > - possibly add a resolve=current|source parameter in the include macro in the > future if we find a valid use case for it > > The idea is to release 3.2.1, 3.3.1 ASAP so that user move back to the old > behavior ASAP. > > Here's my +1 > > We need to find a volunteer to implement this ASAP. If anyone has some time > for this please step forward :) > > Thanks > -Vincent > > PS: We discussed the idea of a backward compatibility param but we decided > against since it would think complex and not help that much in the end. > > On Oct 7, 2011, at 2:16 PM, Vincent Massol wrote: > >> >> On Oct 7, 2011, at 12:13 PM, Vincent Massol 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) >>> * Have a compatibility mode for the {{include}} macro with the following >>> behavior: >>> ** {{include}} in non-compatibility mode is equivalent to context=current >>> and resolve=current (ie links resolve on the including document) >> >> 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. >> >> Thanks >> -Vincent >> >>> ** {{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 >>> * 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". >>> >>> 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 >>> >>> 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

