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 :)
 I suggest Thomas since he followed this issue 
  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
 devs(a)xwiki.org
 
http://lists.xwiki.org/mailman/listinfo/devs