A large export to Microsoft Excel may cause an out-of-memory crash on the JVM or server, or cause a zero-byte or seemingly-corrupted Excel (XLSX) file. When analyzing the heap dump file, you will see the following classes taking the most of the JVM heap dump space:
- (A) “com.tririga.architecture.web.process.useresponse.ExportExcell$2”, loaded by “<system class loader>”
- (B) “org.apache.poi.xssf.usermodel.XSSFRichTextString”, loaded by “<system class loader>”
Document permissions overview
In general, a user may access a Document record when at least one of the following is true:
- Rule 1. By being the author of the document record. The user who creates a document record is given access to the document implicitly.
- Rule 2. By being granted access on the Permissions tab of the document record.
- Rule 3. By being an admin user.
Bypassing explicit document permissions for users with group access to a smart record
In some cases, however, non-admin users who have not been given explicit access via the Permissions tab may need to access document records from a smart section. In order to facilitate this functionality, we have added a new web property called HONOR_DOCUMENT_PERMISSIONS_MODEL_FOR_DOWNLOAD to TRIRIGA Platform version 22.214.171.124 or later, 126.96.36.199 or later, 3.5.2 or later.
- When this property is set to TRUE, the permissions model will be enforced as described by Rules 1 – 3 above.
- When this property is set to FALSE, Rule 2 will be bypassed when the document is accessed from a Smart Section context. In other words, users who have access to open document records through a smart section will also be granted view and download permissions even if they are not the author and were not given explicit access on the document’s Permissions tab.
- DISCLAIMER: This change is system-wide and will affect the accessibility of Document records that are viewable from ANY smart section of ANY smart record that is accessible to ANY user.
With the CLEAN_TIMEOUT property set to 10 minutes, 10 minutes is too low of a setting and not recommended. Typically, it is set to a value to prevent the Cleanup Agent from running too long.
How that property comes into play with the Cleanup Agent is that it runs each cleanup task in order. The cleanup process contains several tasks: cleaning up BO records, workflow instance history, doc tables, etc. Once a task is complete, it looks at the current running time, compares it to the property, and decides whether or not to continue with the next task. With that said, it doesn’t even look like it’s honoring the property at all, based on your logs, because it should have ended at this line:
2016-09-01 22:28:58,117 INFO [com.tririga.platform.dataconnect.JobControlManager](PlatformMaintenanceScheduler) DataConnect Tables Clean up completed at Thu Sep 01 22:28:58 CDT 2016 deleted 0.
How can we change the Cleanup Agent to only clean up data older than “x” days? I saw the CLEANUP_AGENT_SCHEDULED_EVENT_COMPLETE_DAYS property, but this seems to be only scheduled events, rather than all data.
[Admin: This post is related to the 02.24.16 post about executing the Cleanup Agent, including deleting records that are only minutes old.]
Queries with associated objects will show 0 for numeric fields when the primary record has no associated record. If you have a report that uses an association to a second object and you run the report, the associated record will show 0, even if the TRIRIGAWEB.properties is set to not show 0 for null values.
The SHOW_ZEROS_IN_NUMBER property is used with form-based views. We needed to update the queries to adhere to this property as well. Moving forward, we fixed an issue where empty numeric fields in query reports would show a 0 value, even though the TRIRIGAWEB.properties SHOW_ZEROS_IN_NUMBER_FIELDS property was set to not show zeros and show blanks instead.
Non-admin users that are in a group with full access to a lease are finding that sometimes they are able to view the “Download” option for documents present in a service contract’s “Notes & Documents” tab, but not other times. The problem seems to be a result of the User Permission and Group Permission sections in the “Permissions” tab of the document being missing for downloads. Once user and group information for security group access is added, the “Download” option becomes available.
This problem appears when you have at least 2 non-admin users, both in a group with full access to lease. If user #1 uploads a document to the lease and user #2 opens the lease and wants to download it, user #2 can’t since no “Download” link is present. When document permissions are examined, user #2 has no access to the download option.
As a temporary fix, modify the document’s “Permissions” tab and provide download access at the user and/or group level to the user that is unable to download… A new property ENABLE_AUTO_DOWNLOAD_ON_DOCUMENT_PREVIEW has been added to TRIRIGAWEB.properties. This property enables or disables the legacy auto-download behavior on the document record preview tab. With it enabled, it will bypass the download permission in Document Manager, and the preview tab will behave as it did before.
[Admin: This post is related to the 10.24.15 post about skipping the Notes & Documents login credentials.]
With IV82436, in order to prevent cross-site request forgery (CSRF), the KNOWN_REFERRER_LIST was introduced in TRIRIGAWEB.properties. However, if the KNOWN_REFERRER_LIST is set, it does not allow you to download the floor plan graphic of a location record. When you right-click the graphic, and select to export as PDF, you get an error: “Sorry, your session has either timed out or is no longer active. For security reasons you have been redirected to this page. Please sign in again to continue.” Signing back in does not start the download either.
As a temporary fix, leave the KNOWN_REFERRER_LIST blank in TRIRIGAWEB.properties. Otherwise, if the KNOWN_REFERRER_LIST is set, graphics sections will not allow exports. Moving forward, graphic sections can now be exported when the KNOWN_REFERRER_LIST property is set.