Hi,

I have briefly scanned the discussion and noticed that a proposal has been
made to implement a dynamic mechanism that is focused only on menus.
However, please note that we already have a more general proposal [1] for
UI extensions from Vincent that is eager to be implemented :).

IMO, if you (JV) are planning to work on something like this, I`d suggest
that you do the more general approach that is pretty equivalent in terms of
work needed AFAICT.

Thanks,
Eduard

----------
[1] http://xwiki.markmail.org/thread/jj6z3ywptaqesv4r

On Tue, Jul 10, 2012 at 12:00 PM, Jean-Vincent Drean <[email protected]> wrote:

> On Tue, Jul 10, 2012 at 8:22 AM, Marius Dumitru Florea
> <[email protected]> wrote:
> > On Mon, Jul 9, 2012 at 6:43 PM, Jean-Vincent Drean <[email protected]> wrote:
> >> Hi devs,
> >>
> >> in order to implement XWIKI-7927, "Create an entry point for all
> >> available applications inside the wiki" which I plan to commit before
> >> 4.2M2 we need to agree on a strategy.
> >>
> >> The discussions point to a panel in the right column called
> >> "Applications" which would list all the applications. Here are my
> >> current thoughts about it. We can:
> >>
> >> 1) Rely solely on application descriptors and list all those
> >> applications in the panel.
> >>
> >> - we don't have such a descriptor yet, the main reason is that what
> >> should goes in it can be discussed over and over, even by a single
> >> person. Thomas ? :)
> >> - it would require an additional mechanism if we wish to be able to
> >> edit (ordering, removal) the panel entries; and I think we will want
> >> that
> >>
> >> 2) Implement a menu component that would allow to build dynamic menus.
> >>
> >> I think applications should be able to plug themselves in the user UI
> >> in a manner similar to the way they plug themselves in the
> >> administration (ConfigurableClass).
> >> It would:
> >> - Be generic, we could re-use this mechanism to build both the
> >> applications panel and the other XWiki menus (top menu, content menu)
> >> - Allow to separate the presence of an application in the wiki with
> >> it's presence in the user UI
> >> - Allow applications to add entries to top and content menus
> >>
> >> It could look like this:
> >>
> >> XWiki.MenuEntryClass
> >> - id: String. Technical ID of the entry
> >> - menuId: String. ID of the menu the entry is part of
> >> - parentMenuEntryId: String. ID of a parent menu entry (optional).
> >> Allows to build submenus (example: top menu).
> >> - scope: Static list. List of actions the entry should appear for:
> >> view/edit/admin/preview.
> >> - position: Int. Position in the menu, we could use 0 as undefined
> >> (bottom) and order from 1 to n. Also used to position items in
> >> submenus.
> >> - label: String. Label of the entry. Would be evaluated (velocity ?
> >> wiki syntax ?) to allow i18n
> >> - target: String. Fullname of the wiki page to point to
> >> - enabled: Boolean. Allow to remove an entry from the menu without
> >> actual deletion
> >> - iconAttachment: String. Name of the attachment to use as the entry
> >> icon (optional)
> >>
> >> Notes:
> >
> >> - Objects from this class would be stored in preferences documents
> >> since they'll hold configured positions and the enabled state
> >
> > You mean Space.WebPreferences? I suppose this configuration will be
> > packaged with the application pages, so the (top) menu configuration
> > will be spread across multiple (application) spaces.
> >
>
> Ah no, I meant application preferences, those pages we already use to
> store preferences editable from the administration
> (ConfigurableClass).
>
> The options:
> a) Have dedicated pages for menu entries: -0
> b) Put the objects in one of the application pages: -1, it'd make
> upgrades more painful
> c) Put the objects in the prefs page of the application (along with
> the ConfigurableClass), create one if there's none: +1, one page that
> should be excluded/merged during upgrade sounds better to me.
>
> > Thanks,
> > Marius
> >
> >> - 'separator' could be a reserved entry ID
> >>
> >> XWiki.MenuClass
> >> - id: String. Technical ID of the menu
> >>
> >> This class would be associated with a XWiki.MenuSheet and would
> >> display the menu editor, which could be simple for a first version (no
> >> drag & drop).
> >>
> >> You might have guessed I'm more in favor of 2) even if I can't
> >> refactor the top and content menus for the moment.
> >>
> >> WDYT ?
> >>
> >> Thanks,
> >> JV.
> >> _______________________________________________
> >> devs mailing list
> >> [email protected]
> >> http://lists.xwiki.org/mailman/listinfo/devs
> > _______________________________________________
> > devs mailing list
> > [email protected]
> > http://lists.xwiki.org/mailman/listinfo/devs
>
>
>
> --
> Jean-Vincent Drean,
> XWiki.
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to