MechWorks Web Client's Blog

Development info and ideas

Filtering by many projects extended and simplified

In the released version it is possible to filter by max 300 projects. Now 300 is not a small number to apply a filter, but if you have thousands of projects in a single tree, it becomes difficult and long to restrict your filter by only a few branches. Add to this the fact that each time that you select a project a textual preview of the project is requested to the server and what you get is a serious usability problem.

In the beta published today there are a few changes that simplify filtering by a large number of projects:

  1. Automatic textual preview of project is disabled in the Projects Tree. You can still view the record from the context menu. This allows you to click and select/deselect projects quickly
  2. You can specify the option to check automatically the children (down to the n-th level) when you check a parent. This feels more natural: if you check a project you probably want to display also the documents in the sub-projects. If this is not the case you can quickly deselect the sub-projects that should be excluded.
    To enable this option add the following line to the file in DBWorks\WebViewerOptions.txt:
    select_subprojects_automatically
  3. The limit of 300 projects has been removed and made parametric.
    To enable this option and specify that you want to show a warning for 1000 projects  add the following line to the file in DBWorks\WebViewerOptions.txt:
    max_projects_filter 1000

Note that if a user applies a filter by a higher number of projects he can still apply the filter but he is warned that filtering by a large number of projects  can generate complex queries that require longer to execute and overload SQL Server. We suggest that you perform a few tests and configure the parameter so that the users are warned only when/if SQL Server slows down under the strain.
The value you should indicate depends a lot on the Server hosting the SQL Server database, especially the RAM available.
As a rule of thumb 1000 projects can be handled correctly, but it’s a trade off between usability (number of clicks) and performance. In these cases nothing can replace good old empirical tests.

Filed under: Beta, feature, Performance, Usability