Building a better Domino name picker for the web

Requirement

The University of Maryland's Robert H. Smith School of Business needed us to build a custom name picker to allow users to easily find their 'buddies' from a list of 40,000+ names in their Alumni Portal. The name picker was required to have an easy interface to find people by last name, to search by name, and a search by company. We couldn't use the Domino name picker for the web that comes with the Public Directory because it didn't fit our requirements for name fields retrieved and wasn't a match for the look/feel of the website.

Screenshots

Click to view larger images

Build a better name picker

Build a better name picker

Technology Used

  • Javascript
  • CSS
  • IFrame
  • Domino embedded view
  • Show single category

Approach

The button to launch the name picker is a simple Domino button with a class defined in the HTML attributes. This way, we could use our style sheet to define the look of the button, including the graphic.

An IFRAME is used as the container for the view. It loads the 'A' view initially.

The list of tabs in the name picker is simply a list of hotspots A-Z. Each one sets the IFRAME source to the name view with "&Category=x" where x is A-Z. The view is an embedded view using show single category. The embedded view is set to show 5000 entries so they will all show without the need for next/previous buttons. The max under any particular letter is actually only a couple of thousand.

The search results also get pushed into the IFRAME. Using the IFRAME allows the rest of the dialog interface to stay static while the view is updated based on the tab selections and searches.

Once the names are selected, they are written to an editable field that sets the focus to blur() to keep anyone from editing the list directly. Then, using CSS to set the editable field to look like a static field so the user doesn't realize it's an editable field. This way, it can be written to easily using javascript.

When the user is done selecting the list of names, they are written down to the opening document. It actually writes 2 fields. One is the common name display field. The other is hidden from the user via "type=hidden". This is the full name field (CN=xxxx/O=xxxx).

More information

Need help with your Domino web applications?

Just contact sales@lavatech.com for more info.