Portal Object
  > Home
> User Guide
> Reference
v Portal Object
    o Page Menu Model
    o Action Menu Model
    o Object Reference
> Development Guide

sys Class
debug Class
Intrinsic Conversions
>> Portal Object <=  =>      <  1  2  3  4  5  6  7  8  >  
Menu Model BEE Portal Object Manual

Menu is an essential component of any portal site, BEE Portal sites included.  The basic idea of a BEE Menu is a hierarchical structure with "topics" organised into levels of menus and submenus.  The term "Topic" means an entry on the Menu (or a record in the Menu table).

Menu entries are identified by the "Topic" field, which contains an alphanumeric string unique among all menu entries.  If the menu action is to bring up a page, the "subpage" part of the page URL will be stored in the "Page" field.  (The term "subpage" refers to the path-page under the root path of the web site. For example, if the web site is at bee.onmyweb.net/info, then the "subpage" of bee.onmyweb.net/info/ug/index.htm is "/ug/index.htm".)

One can say a "Level" contains a series of "Items" (leave node with no sub-menu) and "Submenus" (nodes with lower level entries).  (The term "entry" is loosely used to mean the Menu table record.)  A "menu" (or "submenu") contains again a series of "Items" and "Submenus" in the next "Level".

There are two mainstream designs for menu, and the Portal Object supports both without any changes whatsoever:


Items on a "Page" Menu are hyperlinks to the topic page.  The default form of a Page Menu is a List Menu in variable {{PortalObjectName}%ListMenu}.  A List Menu is a hierarchical list with the active item highlighted and all menus leading to it "opened", like a directory tree.  Other Menu forms include Site Map (showing all items with proper indentation) and Path Menu (a one-line path showing only entries leading to the active item).

The Portal Object derives the active menu item from the page URL.  Therefore, one page can only associate with one menu item.  It is harmless to have multiple menu items clicking into the same page, but since the active menu is derived from the URL, one of the entries (based on an internal order) will always be activated, regardless which of the entries was clicked on to get to that page.

A "Page" Menu site requires virtually no programming work.  The structure is simple, but there is not much flexibility in the design and the user interface is usually not interactive.


Items on an "Action" Menu are triggers of a client script (e.g. JavaScript), which perform a function (such as bringing up a second level of menu, going to another page, filling a frame with some content or even access a database on the server).

The Portal Object loads the menu into a client script structure (e.g. a JavaScript array) and handles all the triggering and house keeping so that the web page can concentrate on processing the action.

An "Action" Menu site requires more work in the client scripts, but is more flexible to the programmers and more friendly and interactive to the users.

Note: In the previous version of the Portal Object, it needs to be aware of which menu model is being used in order to provide the interfaces and optimise the operation.  The new Portal Object has unified the two models and there is no need to "tell" the Portal Object which model you are using.  The choice of menu model is all up to you (or you can invent other models based on the facilities provided by the Portal Object).

There is one particular file called portal/menu.js, which contains JavaScripts only useful to the Action Menu Model.  It is separated from the Portal Object only to save runtime includes if you are using Page Menu Model.

Previous Page       Next Page

Accsoft Computer Technology Pty Ltd     ABN: 98 065 617 549
PO Box 892, Epping NSW 1710         Level 1, Epping Office Park, 242 Beecroft Rd, Epping NSW 2121, Australia
Tel: Sydney - (02)98691668     National - 1300-881668         Fax: (02)98691866
© Copyright 2003 Accsoft Computer Technology Pty Ltd