Mar 17, 2016, 11:06 AM
177 Posts

categorized view - performance issues

  • Category: Performance
  • Platform: All
  • Release: 9.0.1
  • Role: Developer
  • Tags: view panel,categorized view
  • Replies: 2

We have an xpage interface towards openlog.nsf but with the categorized view (via view panel control) we have performance issues. The views contain a lot of documents and opening/closing categories lead to operation time-outs.

I wonder what alternatives I have?

- general performance improvements for the view panel or

- a complete different approach with alternative controls (e.g. data view control, repeat control, ...)

Perhaps delivering a flat view with the option to filter data by dynamic generated keywords could be an option.  Perhaps I have overlooked something?

Mar 17, 2016, 1:09 PM
110 Posts
Some suggestions...

Tried the following snippet yet?

If the above doesn't work,

1. How many entries are you displaying per page? AFAIK even if you used repeat control, data view etc, the no. of entries that is displayed per page does affect a bit on the performance so I tend to stick to a maximum of 100 entries per page.

2. Maybe the underlying view is the issue? Perhaps it is too complex? If each column in the view is just retrieving field value then it will be fast. However if the column values are computed with a lot of @Formula, that might affect performance. Worst case is @Today and @Now. See the following:

3. A flat view + option to filter data is a more proper way in the web (Other than Domino, I've never seen categorized view/list in other web based product). Maybe build your flat view using the Dojo Data Grid + REST approach?

4. If you prefer a more plug and play (and maybe a little bit of customization) approach, you can try the XPages ViewGrid

Mar 17, 2016, 4:45 PM
453 Posts
Categorizes Repeat controls

I dropped the view Control a long time ago and now use nothing but repeat controls. I have had no performance issues but I I have a JS function getCategories() that uses a view Navigator to select the categories. I generally create views for each category that contains only the categorized column (no other data columns. This really can speed up the getting of the categories. My repeat is diosplaying the cat1 it uses a sessionScope.ssCat1. At this point it matters little howmany documents are in your database only the number of category one values. Ususally not an issue. If I'm doing a two category view then I create a view again with one column with a formula of something like this value1 + "~" + value2 sort and categorize the column. again because we use a view navigator the number of iterations getCategory needs to go through is minimized and then they are stored in ssCat2. at the moment I only go three Cats deep, but could extend the process another level.

In any case I did a session for David on NotesIn9 and the database that I used is available for download from my web site

Hope this helps.