Note: this should be done at xwiki-commons-properties level. Macro
parameters are just one use case.
On Wed, Nov 7, 2018 at 4:34 PM Adel Atallah <adel.atallah(a)xwiki.com> wrote:
Hello everyone,
So what we thought about with Vincent for implementing the "concept of
aliases or groups" would be to actually have two new annotations that
we would use on macro properties.
The first one is a "Group" annotation which is meant to indicate that
some properties are part of the same group, obviously.
The second is an "Alternative" annotation which is meant to indicate
that only one property / group of properties can be used (among the
ones that are part of the alternative).
Here is an example:
We want for the Include macro to be able to specify either:
the "reference" and "type" parameters
or
the "page" parameter
For that, we will change the IncludeMacroParameters java class like this:
@Alternative("reference")
@Group("entityReference")
public void setReference(String reference)
@Alternative("reference")
@Group("entityReference")
public void setType(EntityType type)
@Alternative("reference")
public void setPage(String page)
In the WYSIWYG side, we will only be able to specify either the
"reference" and the "type" or the "page" parameter.
WDYT?
Thanks,
Adel
On Tue, Sep 25, 2018 at 11:51 AM Marius Dumitru Florea
<mariusdumitru.florea(a)xwiki.com> wrote:
>
> On Wed, Sep 19, 2018 at 4:31 PM Vincent Massol <vincent(a)massol.net> wrote:
>
> >
> >
> > > On 19 Sep 2018, at 14:47, Adel Atallah <adel.atallah(a)xwiki.com>
wrote:
> > >
> > > On Wed, Jul 18, 2018 at 5:00 PM Vincent Massol <vincent(a)massol.net>
> > wrote:
> > >>
> > >>
> > >>
> > >>> On 5 Jul 2018, at 12:06, Vincent Massol <vincent(a)massol.net>
wrote:
> > >>>
> > >>>
> > >>>
> > >>>> On 4 Jul 2018, at 12:07, Thomas Mortagne
<thomas.mortagne(a)xwiki.com>
> > wrote:
> > >>>>
> > >>>> Here are more details on the actual use case we need to
support:
> > >>>>
> > >>>> In include/Display macro either you set:
> > >>>>
> > >>>> * "reference" and "type" (which default to
DOCUMENT)
> > >>>> * or you set “page"
> > >>>
> > >>> Globally I think we need to add 3 concepts to macro parameter
> > descriptor:
> > >>>
> > >>> 1) The concept of “deprecated” parameter. For example for
“document”
> > in the include macro.
> > >>> 2) The concept of aliases or groups, i.e the ability to list
> > parameters that are mutually exclusive. Example: reference + type vs page
> > for display/include macros. This would mean that in the Macro Dialog UI if
> > you select one of those the other gets unselected/cleared out (you cannot
> > have mutually exclusive params have values).
> > >>> 3) The concept of Advanced parameters. For example, we should put
> > reference + type as advanced parameters so that they are not shown to the
> > user by default (and so that the page parameter is more highlighted). Users
> > would need to click on Advanced to see advanced parameters. I think we’re
> > doing something automatic today (I don’t remember the details) to try to
> > hide some parameters but we should probably review this.
> > >>>
> > >>> WDYT?
> > >>
> > >> Ping!
> > >>
> > >> Do we agree about this? If we do we can then create jira issue about
it
> > and take it for implementation.
> > >
> > > +1, I can create the jira issue if it's ok.
> >
> > Please do :)
> >
> >
>
> > @Marius: Ok for you?
> >
>
> Yes.
>
>
> >
> > thanks
> > -Vincent
> >
> > [snip]
> >
> >
> >
--
Thomas Mortagne