Hi,
Like Vincent, I do not really think we have thoroughly worked
our templates. IMO, templates should not be considered a good base for
implementing UI extension point blindly.
Currently templates were closely linked with our distributed skin. When we
have introduce Colibri, new templates were added, especially to support the
new content menu for example, and other were ignored, left over since no
more useful. Do you consider UI extension point to be closely linked with
our skin ? What would happen when we implement the bootstrap based skin ?
Just think about the proposal from Cathy, there is no more left panels...
but an applications panel or whatever, how do you expect to support
platform.template.leftpanels.top, platform.template.leftpanels.bottom, what
would be there meaning ?
For sure doing 1) is harder, but creating truly semantic UIXP could have
real advantage for maintenance and compatibility of code that use those
UIXP. So I would really prefer a few initial set of those semantic UIXP to
start with, than that long list of not necessarily useful and meaningful
ones. And, at least, I would like to read more opinion to consider 2).
Thanks,
On Fri, Mar 1, 2013 at 11:51 AM, Jean-Vincent Drean <jv(a)xwiki.com> wrote:
On Thu, Feb 28, 2013 at 1:01 PM, Vincent Massol
<vincent(a)massol.net>
wrote:
Hi,
On Feb 28, 2013, at 12:47 PM, Jean-Vincent Drean <jv(a)xwiki.com> wrote:
> Hi,
>
> in 4.x we introduced UI Extensions (UIX) and "Extension Points", it
> allows applications to come and plug their bits of UI where it is
> possible [1]. 5.x is a good time to provide a list of useful Extension
> Points (UIXP) in our velocity templates, allowing applications to plug
> themselves in, for example : the header, before the content, the
> footer, etc.
>
> To allow this I can think of 2 strategies:
>
> == 1) Manually add UIXPs ==
>
> Actions:
>
> * Discuss where are the common places where applications would like to
> plug (in our opinion)
> * Make a lengthy list
> * Vote it
> * Introduce an API call (services.uix.getExtensions()) for each item in
the
list
* Commit
it
Pros:
* We can carefully build the UI API
Cons:
* We can't think of everything
* Long process
* Overridden templates won't display the extensions
== 2) Instrument our templating mechanism with UIXPs ==
Actions:
* Modify the #template macro so that it create UIXPs before and after
the parseTemplate call. Calling #template.vm would create the
following UIXP:
** platform.template.global.before (or:
platform.template.global.above, platform.template.global.top)
** platform.template.global.after (or: platform.template.global.below,
platform.template.global.bottom)
* Commit it
Pros:
* A lot of available UIXPs
* We've worked on our template architecture for a long time, UIXP
would benefit from that
I don't think this is quite true. We've been wanting to clean up our
templates for a long time now. I'm not sure that considering it as our next
API without careful review of each template is a good thing.
There was a need to exclude non-visual templates (*vars.vm for
example), I went a bit further and worked with the following list of
excludes:
#set($uixTemplateExcludes = ['analytics.vm', 'colorThemeInit.vm',
'deprecatedVars.vm', 'editmodes.vm', 'editpanelsvars.vm',
'endpage.vm', 'frequentlyUsedDocs.vm', 'global.vm',
'htmlfooter.vm',
'htmlheader.vm', 'javascript.vm', 'layoutvars.vm',
'layoutExtraVars.vm', 'startpage.vm', 'stylesheets.vm',
'titlevars.vm', 'xwikivars.vm' ])
Here's the list of resulting UIXPs
view:
platform.template.menuview.top
platform.template.menuview.bottom
platform.template.header.top
platform.template.header.bottom
platform.template.contentmenu.top
platform.template.contentmenu.bottom
platform.template.hierarchy.top
platform.template.hierarchy.bottom
platform.template.contentview.top
platform.template.shortcuts.top
platform.template.shortcuts.bottom
platform.template.contentview.bottom
platform.template.docextra.top
platform.template.documentTags.top
platform.template.documentTags.bottom
platform.template.docextra.bottom
platform.template.endpage.top
platform.template.leftpanels.top
platform.template.leftpanels.bottom
platform.template.rightpanels.top
platform.template.rightpanels.bottom
platform.template.footer.top
platform.template.footer.bottom
platform.template.endpage.bottom
platform.template.commentsinline.top
platform.template.commentsinline.bottom
edit:
platform.template.menuview.top
platform.template.menuview.bottom
platform.template.header.top
platform.template.header.bottom
platform.template.editmenu.top
platform.template.editmenu.bottom
platform.template.hierarchy.top
platform.template.hierarchy.bottom
platform.template.editmeta.top
platform.template.editmeta.bottom
platform.template.editwiki.top
platform.template.simpleedittoolbar.top
platform.template.simpleedittoolbar.bottom
platform.template.editactions.top
platform.template.editactions.bottom
platform.template.editwiki.bottom
platform.template.editpanels.top
platform.template.editpanels.bottom
platform.template.footer.top
platform.template.footer.bottom
admin:
platform.template.menuview.top
platform.template.menuview.bottom
platform.template.header.top
platform.template.header.bottom
platform.template.leftpanels.top
platform.template.leftpanels.bottom
platform.template.rightpanels.top
platform.template.rightpanels.bottom
platform.template.footer.top
platform.template.footer.bottom
So I guess the question is, do we think we can live with those forever.
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs