At work we are in the process of creating a Composite Application interface for our Document Management product.
And we have experienced a really annoying problem.
This is using Lotus Notes 8.5.1. And everything is NSF components.
Our Composite Application consists of four components. One form and three views.
The components are meant to navigate a document hieararchy tha looks like this:
- Person case 1
-- Document 1.1
-- Document 1.2
- Person case 2
-- Document 2.1
-- Document 2.2
- Person case 3
So we have one person document. Linked to this document we have a number of Person case documents. And linked to a Person case document we have a number of Documents.
In our old interface we present this with twisties in a view.
We now - for the Composite Application - have three view components:
- one component that displays a view of Person Documents
- one component that displays a view of Person case documents
- one component that displays a view of Documents
For starting off the browsing of the application we have a form where you can type a Person name and hit a button. The button activates a wire, sending the Person name to the Person Document component.
The Action in the Person Document component limits the display of documents in the view by using the built-in action "Filter view by category". The first column in the view contains Person names of course.
The two other view-based components work in the same fashion, showing a subset of the view content, filtered by using the Filter view by category action.
To start with we want the Composite Application to display blank views. This can be done by feeding the View-based components values that do not match any categories in the views. This works fine.
Just not all the time.
On our start-form - the one that accepts a Person name - we have some code that feeds dummy values to all three view-based components. This code is fired in the PostOpen event of the form. The dummy value is fed to the Filter view by category action on each View-based component.
And here is the problem. For some views, the dummy value-feeding works, for some it does not.
And we get the feeling that the problem lies with the order that the components load in when the Page gets rendered initially when the user opens the Page. The Form that sends out dummy values loads before some views, the PostOpen event sends dummy values down the wires, but some views are not loaded yet and they do not receive the dummy values.
I don't like what we are doing here in the first place. What I would prefer to do is to have the view-based components start off with some default values for the Filter view by category. Default values that would display nothing.
Or even better, I would like to have some way of telling the component to not even try to load view contents initially.
We have looked at what properties our View-based components have. There is one or two (like com.ibm.notes.viewCustomization.filterByCategory) that we have no clue about what might do but that actually could contain a fix for our problem, but Google has not been our friend yet. I wish that the documentation of what properties are available and how to use them was available. Preferably in one place.