Hi Simon, > On 28 Jun 2019, at 18:56, Simon Urli <simon.u...@xwiki.com> wrote: > > Hi everyone, > > this is a proposal to add a new wikimacro script binding for the next > release, that I also plan to backport on 11.3.x and 10.11.x branches. > > We had recently a bug report (https://jira.xwiki.org/browse/XWIKI-16520) > about the WikiMacro parameter: types were introduce in 10.10 (with > https://jira.xwiki.org/browse/XWIKI-13282) but we in fact never converted > them, making their type pretty useless. > > We provided a first fix to it actually broke at least one existing macro, > AttachmentSelector which was still expecting String parameter values instead > of the types used in some of those parameters. > > So even if the parameters were supposed to be typed since XWiki 10.10, in > practice they never have been. We might as well consider returning a typed > values as a regression since it might break some of the existing macros. > > That's why I propose to implement right now a new wikimacro binding, to be > able to get both typed parameter values and string parameter values. > The old binding would then still be available by using $xcontext.macro but we > would deprecate its usage. > > I propose that all the existing $xcontext.macro information to be available > by using $macro, and to be able to use: > > * $macro.parameters.foo to get a typed parameter value > * $macro.parametersAsString.foo to get the string value parameter > > > Could you tell me if you agree with all those changes?
Sounds good. I’m wondering if I wouldn’t prefer the following: * $macro.parameters.foo.value() <- typed * $macro.parameters.foo.rawValue() or toString() <- string, as specified by the user when using the macro $macro.parameters.foo would return some MacroParameter object. Note that $macro.parameters.foo when used in a string context would call $macro.parameters.foo.toString() which would return the raw value. Thanks -Vincent > > Thanks, > Simon > > > -- > Simon Urli > Software Engineer at XWiki SAS > simon.u...@xwiki.com > More about us at http://www.xwiki.com