Friday, January 1, 1999

A dynamic menu management system for the Web and Notes

BUILDING FOR WEB AND NOTES

By Dan Velasco

Necessity is not always the mother of invention. Once we get our Domino databases up and running, a new force drives us: possibility. If it's possible, we want to do it (whatever it is we dream up). And if we can't find a model for how to do it, we'll make our own.

Possibility is exactly what inspired the Menu Management System I am about to describe for you in all its lurid detail. This system was developed using Release 4.5, but everything I talk about here should work fine in both releases 4.5 and 4.6.

Here's how I started to think about possibilities. My department's intranet home page had a menu column running the entire length of the left-hand side. But this menu was simply typed on the form and maintaining the links was a pain because they were either action link hotspots or URL link hotspots. You had to click on them just right and then find the magic tab or formula that told you where they led. As an administrator, this made it very difficult to see at a glance where all of these links were going.

The idea for a solution came when I was looking at the Lotus home page one day. Yep, I got my inspiration directly from Lotus itself. They use a nice, clean modular menu that is actually a view. It's collapsible and expandable at just the section that you want and they have total control over what menu items are displayed and how they are displayed. This is the model that I kept in mind when creating my own menu system.

The three goals of the menu management system

When creating a new Menu Management System, I had the following three goals in mind:

  • I wanted it to look great on the Web;
  • I wanted it to work both with and without frames;
  • I wanted it to work in Notes as well.

I am happy to say that I accomplished all three goals with the Menu Management System that I developed.

My objective in this article is to give you an overview of the system along with some key specifics that describe how it works. For all of the deep and dirty details, you can download a copy of the database with all of the design elements from http://dan.velasco.com.

There are two key forms that make the system work, the Menu Heading Form and the Menu Item Form. Put simply, you first use the Menu Heading Form to create a heading and then you can use the Menu Item Form to create a menu item under that heading. I call these the Head and the Heart of the System.

The "head" of the system: The Menu Heading Form

The Menu Heading Form simply allows you to create a heading that will categorize links. The Menu Heading Form is also where you store the menu heading graphic if you have one. If you don't, the heading will simply be the name of the heading. Once you create a Menu Heading Form for a heading, you will be able to select that heading when you are creating a menu item with the Menu Item Form.