On Jan 9, 2012, at 6:26 PM, Denis Gervalle wrote:

> Seems to me that there has been an agreement to revert to the old behavior
> has soon as possible,

Where? I don't remember seeing this (since I was on holiday at some point maybe 
I missed it).

Thanks
-Vincent

> but I do not see the link with XWiki 3.2.1 release ?
> 
> 
> On Mon, Jan 9, 2012 at 17:59, Guillaume Lerouge <[email protected]> wrote:
> 
>> 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

Reply via email to