IBM®
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

With version 8.0, a database option ("Disable automatic updating of views") was added to let you tell the server's view-indexing process to skip that database. This is handy, but it would also be nice to have such an option on the view level.

What the database-level option does, is fail to update the indexes of any views until someone actually uses the view.  This "lazy" updating means that when the user opens a view, if it hasn't been used in a while, there may be a lengthy delay while documents created or modified since the last use are filed into the view's index. This is a tradeoff -- for improved server performance generally, some lesser-used applications may be set to index only on demand.

The database level option doesn't totally override the view's indexing options. The "Manual" option is lazier still; the index never updates unless specifically requested, so it's not necessarily up to date when the user opens it. "Auto, at most every" works the same as Manual, except it will only let the view get a certain amount out of date before it forces a refresh -- the difference is that when the "Disable automatic updating" option is set, this check only happens when the view is in use.

So there's no option which will do for a single view, what the "Disable automatic updating" option does for a whole database. If such an option existed, it might be called "When used". But it doesn't exist -- in the UI.

But wait! If you use the back-end methods to modify the design note, and assign the item $Index  = "/L", the view will never be auto-indexed, but will be updated when someone uses it. This option is auto-assigned to "server private" copies of "private on first use" views, to limit the burden to the server of maintaining these views. So if you want to, you can write code to adjust this property of views. With the Eclipse-based Designer, it could be a plugin that gives you a UI for the option (though not in the view infobox -- you might instead present it as a dialog listing all the views and letting the user change the indexing attributes with a checkbox).

We're considering adding this view option to the UI in a future release (as always, no guarantees).

Andre Guirard | 25 November 2009 10:55:09 AM ET | Home, Plymouth, MN, USA | Comments (3)


 Comments

1) Cool stuff
Erik Brooks | 11/25/2009 12:54:23 PM

Cool stuff as always, Andre. Just out of curiousity, why the recent increase in posts about views? Are they getting some love from Lotus?

2) Tell auto-indexer to skip a specific view
Andre Guirard | 11/25/2009 2:14:02 PM

@Erik, It's because I'm on the DXL team and we're currently working on getting views to full round-trip parity.

3) Ahhhhhhhhh....
Erik Brooks | 11/25/2009 3:18:09 PM

A most worthy endeavor! I've got a bunch of C++ API code I wrote back in 1999 that essentially allows our app users to define their own views.

It was incredibly powerful stuff for the time (and still no slouch today), but it would be nice to be able to replace it with a DXL-based approach for a variety of reasons.

Very cool!

 Add a Comment
Subject:
   
Name:
Comment:  (No HTML - Links will be converted if prefixed http://)
 
Remember Me?     Cancel

Search this blog 

Disclaimer 

    About IBM Privacy Contact