= Menu = The current 3 menu system should be migrated to a single menu to take upo less screen real estate & provide a consistent UI experience. Ideally this would be loaded once & then cached (e.g. have the system generate a static menu.js which can then be loaded/cached) We should always know where in the system we are. * e.g. Chevron-style breadcrumbs (e.g. http://www.guardian.co.uk/world/usa) * e.g. Highlight the active menu item using CSS (JS to set this would be in the main body template, rather than in menu.js) * Web2Py implementation of breadcrumbs: http://www.web2pyslices.com/main/slices/take_slice/47 Icons in Menus? * http://groups.google.com/group/web2py/browse_thread/thread/aeb21cca011e4632 * Easy with this [http://demo.eden.sahanafoundation.org/jquery jQuery menu] ExtJS menus are flexible & can allow DRY creation of navigation elements (buttons/menus): * http://www.extjs.com/deploy/dev/examples/menu/menus.html * http://www.extjs.com/deploy/dev/examples/menu/actions.html * Example: http://demo.eden.sahanafoundation.org/extjs Ideas for improving the menu: * Code for the menus should be segregated between the technical implementation and the layout - making it easy for non-technical users to customize the menu and reducing the clutter in the code, and reduce the amount of code being executed every run in the models. * Define the customization of the menu in CSV? * Make Menu customization completely independent from the modules. * How many levels? Configurable. Suggestion. * Application - a deployments of Sahana may contain different applications, which may be used by different people and certainly at different times/workflows. This could be separate from the main menu - at the very top. * Functional - what does someone want to do in the current application. * Functional level 2 / Work Stage - this could represent work flow, or just reduce the clutter in one level of functional * Avoid 3rd level - especially pop-ups! * Breadcrumbs * Allow modules to be turned on/off and also excluded from releases of code with simple switches. * Allow the menu to indicate which option has been clicked (flag to set a class in the li - where set flag?). Allow the user to define a custom home page, without editing core code. ---- BluePrintApplicationMenus BluePrints