Hi Denis,

On Oct 6, 2011, at 3:22 PM, Denis Gervalle wrote:

> On Thu, Oct 6, 2011 at 14:58, Vincent Massol <[email protected]> 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).
>> 
> 
> I do not remember this change. Does not this depends on the context=new ?

No. Context = new is only about isolating the execution context. It's not about 
deciding against what to resolve the links/attachments.

> If you have a link to the previous discussion, it could help.

Related Issues are:
http://jira.xwiki.org/jira/browse/XWIKI-5902
http://jira.xwiki.org/jira/browse/XWIKI-5807
http://jira.xwiki.org/jira/browse/XWIKI-5808
http://jira.xwiki.org/jira/browse/XWIKI-4802
http://jira.xwiki.org/jira/browse/XWIKI-6196
http://jira.xwiki.org/jira/browse/XWIKI-6874

>> 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! ;)).
>> 
> 
> This is not rare, but this could be solved using velocity anyway.
> 
> 
>> 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.
>> 
> 
> Does not this new macro exists already in 1.x syntax under name '#Topic' ?
> Was it a mistake to have not kept this one in 2.x ?

Probably.

>> * 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.
>> 
> 
> Since I have really thought it was depending on the context parameter, why
> use a new parameter for this ?

See above. They're 2 separate things.

>> 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).
>> 
> 
> Is this reference parameter already support

No. right now there's only a document parameter supported.

> , and is this only the
> deprecation for future ? Why not deprecate right now ?

We would need to agree about it first and it's not the subject of this mail ;) 
(let's go step by step!).

Thanks
-Vincent

>> WDYT?
>> 
>> Here's my +1
>> 
>> Thanks
>> -Vincent

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to