Saturday, January 23, 2010

Cubi Menu module (1)

Menu plays a key role in any application. Not only it helps user to navigation the application, it also help to organize content.

Generally Menu can be classified into 2 types:
  • Static menu. Menu items are hard-coded in page, template, metadata files or source code. User cannot change the menu in the application.
  • Dynamic menu. Menu is generated from the database and user can configure menu in the application.
Static menu is simple and widely used in most applications where navigation in the application is designed in the product. While dynamic menu is commonly used in content rich systems (like CMS, forum ...) where the site administrator can configure menu to let user to navigate into growing content.

Cubi is going to support both static and dynamic menus. In Cubi first release, static menu will be supported. In Openbiz 2.4, there are 3 different types of navigation components.
  • Tab. Include top-level application tab and in page tab (2nd level)
  • Menu. It support pull down menu up to 3 levels
  • Tree. It organize menu items in tree style
All 3 of components are currently have their own metadata even though they are telling the same things internally. In Cubi, we will have a separate Menu module. It is featured with
  1. Same metadata for tab, menu and tree.
  2. Different template to render tab, menu or tree.
  3. Have "Application tab" and "Admin menu" for Cubi to use.
Menu metadata can use the one in openbiz baseapp.

<menu Name="" Class="" TemplateEngine="PHP" TemplateFile="">
<menuitem url="" target="" text="a" icon="a.gif">
<menuitem url="" target="" text="a1" icon="a1.gif">

No comments:

Post a Comment