[ 
https://issues.apache.org/jira/browse/FELIX-3769?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13503646#comment-13503646
 ] 

Henry Saginor commented on FELIX-3769:
--------------------------------------

Attached archive contains a patch with a possible implementation.
The main_header.html included with FELIX-3770 also includes some CSS styles. 
This patch also depends on FELIX-3770 for JQuery UI.

This implements the following specification.
1) A plugin extending AbstractWebConsolePugin can specify a category by either 
setting felix.webconsole.category property or overriding getCategory() method.
2) The felix.webconsole.category property takes precedence.
3) The default implementation of getCategory() just returns null. If it's null 
the plugin link is displayed as the top level menu item. So, this is the 
default.
4) Multiple levels for categories can be specified as a path. For example 
"OSGi/Configuration".
5) If there is a collision between a category and a plugin title at the same 
level 2 menu items will be rendered.  
                
> Improve the way Web Console UI manages growing number of plugins.
> -----------------------------------------------------------------
>
>                 Key: FELIX-3769
>                 URL: https://issues.apache.org/jira/browse/FELIX-3769
>             Project: Felix
>          Issue Type: New Feature
>          Components: Web Console
>            Reporter: Henry Saginor
>            Priority: Minor
>         Attachments: FELIX-3769.tar.gz
>
>
> Something needs to be done about growing number of web console plugins. 
> Currently the UI displays a tab for each plugin. This makes the UI cluttered 
> as more and more plugins are added. To address the tabs should be replaced 
> with a tree structure or a drop-down menu.    
> Felix Meschberger has proposed the following on the dev list to implement 
> this.
> "* Plugins registered as services may have a "felix.webconsole.category" 
> property
> indicating the category. Plugins not registering this property will be placed 
> in
> the default category
> * AbstractWebConsolePlugin is ammended with a getCategory() method, which may
> overwritten by implementations. The default implementation in the
> AbstractWebConsolePlugin class returns the default category
> * A default category can be configured
> * Categories are simple strings such as "OSGi" or relative paths such as
> "Sling/Main". Relative paths define multi-level trees. I think in general a
> single level is probably enough. Maybe we can start with just supporting a
> single level (so just plain strings).
> * Translation of categories is such that each segment in the path (or the
> complete string if there is no sub-categories) is converted into a translation
> label by prefixing with "category.". So the translation for the "OSGi" 
> category
> would be found with the translation string "category.OSGi".
> * The plugin navigation is refactored to move it to the left and render it as 
> a
> tree structure (I assume we can use the JQuery treetable plugin)."

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to