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