atom feed29 messages in org.xwiki.devsRe: [xwiki-devs] [VOTE] New {{display...
FromSent OnAttachments
Vincent MassolOct 6, 2011 5:57 am 
Thomas MortagneOct 6, 2011 6:02 am 
Denis GervalleOct 6, 2011 6:22 am 
Anca LucaOct 6, 2011 6:32 am 
Vincent MassolOct 6, 2011 6:37 am 
Vincent MassolOct 6, 2011 6:47 am 
Denis GervalleOct 6, 2011 7:20 am 
Vincent MassolOct 6, 2011 7:41 am 
Denis GervalleOct 6, 2011 8:23 am 
Marius Dumitru FloreaOct 7, 2011 2:08 am 
Vincent MassolOct 7, 2011 3:13 am 
Vincent MassolOct 7, 2011 5:16 am 
Marius Dumitru FloreaOct 10, 2011 12:22 am 
Thomas MortagneOct 10, 2011 12:31 am 
Denis GervalleOct 10, 2011 1:12 am 
Guillaume LerougeJan 9, 2012 8:59 am 
Denis GervalleJan 9, 2012 9:26 am 
Denis GervalleJan 9, 2012 9:28 am 
Vincent MassolJan 9, 2012 9:37 am 
Denis GervalleJan 9, 2012 10:29 am 
Ludovic DubostJan 9, 2012 10:57 am 
Vincent MassolJan 9, 2012 2:01 pm 
Vincent MassolJan 10, 2012 4:29 am 
Denis GervalleJan 10, 2012 4:37 am 
Ludovic DubostJan 10, 2012 5:07 am 
Thomas MortagneJan 10, 2012 6:04 am 
Marius Dumitru FloreaJan 10, 2012 9:56 am 
Sergiu DumitriuJan 10, 2012 3:17 pm 
Thomas MortagneJan 11, 2012 3:30 am 
Subject:Re: [xwiki-devs] [VOTE] New {{display}} macro and changes to the {{include}} macro - Third Try
From:Marius Dumitru Florea (mari@xwiki.com)
Date:Jan 10, 2012 9:56:27 am
List:org.xwiki.devs

+1

Thanks, Marius

On Tue, Jan 10, 2012 at 2:30 PM, Vincent Massol <vinc@massol.net> 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 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

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