Skip to main content
    Country/region select      Terms of use
     Home      Products      Services & solutions      Support & downloads      My account     

developerWorks  >  Lotus  >  Forums & community  >  Best Practice Makes Perfect

Best Practice Makes Perfect

A collaboration with Domino developers about how to do it and how to get it right in Domino

Say you have a project database design -- one database per project -- and you want to be able to navigate around groups of related ones nicely. This is a question that came up recently in the 6/7 forum. The developer in that case was trying to figure out how to combine the databases into a single database and show only one project's worth of data at a time.

You can do that sort of thing using @SetViewInfo, but my suggestion in this case was to leave them as separate databases and try to find ways to fulfill whatever other requirements might involve treating all the databases as a unit.

The two most probable such requirements are (1) that users be able to find their way around among the different projects, and (2) that management be able to get reports based on all the project data. Managers like reports, in much the way my old aunt likes tea -- it warms their hearts and gives them a sense of security.

Of course, a report doesn't have to be a view -- it's not hard to generate reports on the fly from data in multiple databases, either using Notes and rich text (e.g. with the ReportGenerator class I posted), or outside reporting tools, or if you must have a view, you could always create a digest database. Or, using NSFDB2, you could bring live data in from all the databases on the fly.

So that the users can navigate around the multiple databases, all that's really needed is a control in the navigation area. So this might be links in an outline, or it might be a combobox with Onchange code to close the current database and switch to the selected database. When a database is added or deleted, this control could either be maintained in the template from which all the databases inherit (if all copies of the design should show the same set of other databases) or via a profile document (if there are distinct sets of databases which reference each other, or if you prefer). Updating this profile should reach out to the other databases you list there and update their profiles also, so that there's a consistent list as you navigate around. The information stored for each database should include the database name, server "hint", replica ID, and optionally a list of readers, in case the link shouldn't show up for all users.

That's just my rambling thoughts. What do you folks do in situations like that?

Andre Guirard | 30 January 2008 08:30:00 AM ET | Man-Cave, Plymouth, MN, USA | Comments (5)

Search this blog 


    About IBM Privacy Contact