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 <guillaume(a)xwiki.com> 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 <dgl(a)softec.lu> wrote:
>
>>>
>>> On Mon, Oct 10, 2011 at 09:31, Thomas Mortagne <
>> thomas.mortagne(a)xwiki.com>wroteote:
>>
>> On Fri, Oct 7, 2011 at 12:13 PM, Vincent Massol <vincent(a)massol.net>
>> 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