I'm currently working on a project at work where we need to come up with a dynamic navigation structure for the Lotus Notes client, not the web client. This application that we're modifying currently has hard-coded views with hard-coded navigators pointing to said views. They also want the navigation to retain it's current looks, but that's another issue for another time.
One of the things we've been trying so far is using a categorized view in the left most "Nav" frame with code in the OnSelect event that fires off an agent that goes out and gets the appropriate documents and places them in a Shared/Private on First Use folder and then opens that folder in the "View" frame. While this works, performance is lacking while waiting on the agent to get the docs and put them in the folder.
Another idea we're working on is building a caption table in the Nav frame with an embedded view (the same view as above) only showing a single category and each caption row being the category that is shows. This actually looks just like the current version, however the issue with this is that the Caption rows will need to be hard-coded as will the "Show Single Category" option. Also, the OnSelect event doesn't seem to run in an embedded view. I may be wrong but that's the result we're getting. I need to re-read some of the posts out in the blogosphere about building programmable tables, if I remember correctly these were using the Caption style tables, I just have to find those posts.
The last thing we're trying is using an outline, with "Action" entries that opens a shared view instead of a Shared/Private on first use folder and uses @SetViewInfo to filter what is shown in the view. This is actually showing some promise but we still have the issue that the outline entries will need to be hard coded. Maybe we can build some hot spots on a form on the fly that will be able to replace the outline, I haven't tried this yet. As for @SetViewInfo I'm not entirely sure if using that formula on a shared view filters the view for the current user or if it actually filters the view for everyone that looks at it. We'll have to test that tomorrow.
Something else I would like to take a look at is using inline html to build the navigation structure dynamically, but this too may produce performance issues and my success ratio for displaying dynamic HTML in the notes client is somewhat waning. Now, the solution we end up with will have to be dynamic and retain the looks of the current application. Caption tables meet the looks criteria perfectly.
As this progresses I'll post our results so someone that needs to do something similar in the future can use the same technique if they so desire. So, have you ever implemented any dynamic navigation structures in the Lotus Notes client? If so, why not share with the class?