We are trying to download the project list with an attachment field included and the browser is timing out. No error message is received. We also tried to download the attachment field information using one of our custom portlets and it too timed out. We also have another user-defined portlet with the same columns and the export action is successful.
What is causing the slow performance or the timeout on the export action on the other portlets? We are using the Export to Excel (Data Only) option which allows us to export more than 300 rows of data
Steps to Reproduce:
Expected Result: The export action should be successful and not time-out
Actual Result: The export action hangs or has a timeout and it is not successful
Note: This can happen on any object
Comparing the configuration of the portlet to another portlet that had a similar configuration we found that the portlet [Options] setting for Attribute Value Protection (AVP) is configured differently.
In the use-case scenario described above, the customer configured the 3 user-defined attachment attributes on a subpage with display conditions.
By default, when creating any new portlet that uses an Object as a data provider, the [Options] page setting for 'Attribute Value Protection' is set to 'Use display conditions and secured subpages to protect attribute values on this list'. This is the root cause of the poor performance based on several factors within the configuration of the customer environment.
Below are more details on how the application operates with the Attribute Value Protection (AVP) settings
Attribute Value Protection:
When viewing the data in the application user interface, the performance is not impacted due to the limited number of rows displayed on a page which can range from 10 - 50 rows. However, when attempting to perform an export to Microsoft Excel or PowerPoint, the performance is longer due to the amount of data being checked by the application.
If option #1 is selected, the application will have to check each column and each row and if you have a large resultset, you will see it take longer to perform the export action.
All stock list views are pre-defined with option #1 'Use Display conditions and secured subpages to protect attribute values on the list'. If you are experiencing performance issues over various list views, it is recommended to modify the OOTB setting to "Use only secured subpages to protect attribute values on the list" as noted in Recommendation #2.
The important distinction to make is that display conditions are not security. They are a nifty way of hiding a subpage on an Edit properties view. Anyone using them for security should be using subpage security as it is FAR more efficient.