Module based custom views should be loaded based on their association with the target query name. In past releases, associations with the table title were also supported; the table title is found in the query's metadata.xml file. Using the table title technique to bind a custom view to a query is obsolete and searching for these table titles has a significant negative effect on performance when rendering a grid or dataview webpart. Support for this legacy technique will be removed in LabKey Server version 17.3.

Disable Loading by Table Title

In LabKey Server v17.2 an administrator can find and fix these table title references by proactively disabling the "alwaysUseTitlesForLoadingCustomViews" using this experimental feature. If you want to improve performance, removing reliance on this feature will help.

  • Select Admin > Site > Admin Console and click Experimental Features
  • Click Enable for Remove support for loading of Custom Views by Table Title.

Custom views loading by table title will now generate a warning enabling you to find and fix them.

Loading Custom Views

The correct way to attach a custom view to a table is to bind via the query name. For instance, if you have a query in the elispot module called QueryName, which includes the table name definition as TableTitle, and your custom view is called MyView, you would place the xml file here:

./resources/assay/elispot/queries/QueryName/MyView.qview.xml

Fixing Legacy Views

With the "alwaysUseTitlesForLoadingCustomViews" flag set, you would also have been able to load the above example view by binding it to the table name, i.e.:

./resources/assay/elispot/queries/TableTitle/MyView.qview.xml

In version 17.3, this flag will be removed, so to fix legacy views and remove reliance on this flag, use the experimental feature described above to disable it in version 17.2 and modify any module based custom views to directly reference the query name.

Discussion

previousnext
 
expand all collapse all