View index refresh setting: manual or automatic? It is not clear what does ’automatic’ really does - do you know it?
The Designer help says regarding the view index refresh setting:
Updates the view whether or not users ever open the database. With this option, views open more quickly.
The Domino Wiki says:
2. Automatic views will be forced to be up-to-date when opened. When a user opens a database, and documents have been modified since the view was last updated, the view will be updated (refreshed), and the client must wait until the view is updated before the database will open.
I understand the designer help so that a view with "automatic" setting are updated regardless if a user every opens it or not. That means, the server does the work.
On the other hand, the Wiki says, that the client updates such a view, so that when a client opens the view there is a delay.
The update task on the domino server updates view indexes, too. But when does it do that? I understand that the update task has a work queue, and if the queue exceeds some length then a view will be updated.
But what does that mean?
If I set all views in a complex application to "manual", then the views open very quickly because the client does not need to do updates. The cost is that the client may see old data, until the user hits F9. Or until the update task did his work.
If I set all views to "automatic", then the client does view updates for changes since the last update. So if the update task ran one second ago, the view opens quickly. If the update task ran 10 minutes ago, the view may take time to open.
Is that correct?
Does that mean that new hidden views, which don't have an index yet and are set to manual, are never build by the update task? If so, that would mean that hidden views should always be set to 'automatic', is that true?
And if we say that 'manual' views are updated by the update task, what is if the database is local (offline)? Are views updated there when the user doesn't hit F9 from time to time? If not, does that mean the user has to press STRG+SHIFT+F9 to update all hidden views, too?
I'm in Domino development for many, many years now... but currently I'm not sure what the best approach is for complex applications wich much data.
How do you work? Do you set all visible views to manual, and all lookup views to automatic?