Opened 6 years ago

Closed 6 years ago

#1916 closed enhancement (fixed)

List pages are loading annotations for non-visible columns

Reported by: Nicklas Nordborg Owned by: everyone
Priority: major Milestone: BASE 3.4.1
Component: web Version:
Keywords: Cc:

Description

The list pages in the web client that list annotatable items are loading all annotation no matter if the a column is visible or not. The typical code is something like this:

for (AnnotationLoaderUtil loader : annotationLoaders)
{
   if (loader.find(snapshot))
   {
   %>
      <tbl:cell column="<%="at"+loader.getId()%>">
         <tbl:cellvalue 
            list="<%=loader.getValues()%>"
            suffix="<%=loader.getUnitSymbol()%>"
         />
      </tbl:cell>
   <%
   }
}

The loader.find(snapshot) is searching for and loading annotations, but they are only used inside the <tbl:cellvalue> which is not called if the column is not visible. Since there is one column defined for every annotation type available this could be a potential performance issue.

Change History (1)

comment:1 Changed 6 years ago by Nicklas Nordborg

Resolution: fixed
Status: newclosed

(In [6711]) Fixes #1916: List pages are loading annotations for non-visible columns

Moved the call to loader.find(snapshot) inside the <tbl:cell> tag which means that it is only executed for visible columns.

Bad news is that this change conflicts with #1906 ([6690] and others) so merging to trunk will require some extra work.

Note: See TracTickets for help on using tickets.