TeamConnect Setting - app.dontUseSecurityViews
Introduction
This article describes the impact the app.dontUseSecurityViews setting has on the TeamConnect Application. The setting is located in the teamconnect.properties file (TeamConnect War File -> WEB-INF/classes)
Impact
This setting affects how TeamConnect checks whether or not a user can view a record when a search is executed. It is a global setting that affects the entire application.
With the default setting (app.dontUseSecurityViews=NO), TeamConnect will join SQL queries with the security views present in the database (T_ACCOUNT_SECURITY_FILTER, T_APPOINTMENT_SECURITY_FILTER, etc...) . The security views have two columns, ENTERPISE_OBJECT_ID and USER_ID. These represent the primary key of a specific record and the primary key of a user, respectively. A row represents that a user can view the associated record.
With the alternate setting (app.dontUseSecurityViews=YES) the views are not used. Instead the check occurs in the application's heap. Basically, there is code in TeamConnect that performs the same function.
Rule execution is not affected by this setting.
Considerations
This will increase the amount of heap space that TeamConnect consumes, but it should be insignificant enough that the max heap setting for TeamConnect will not need to be augmented.
Often in cases dealing with slow performance, we find a major bottleneck is the execution time of SQL queries. As explained above, switching this setting to YES alters the SQL that TeamConnect generates and eliminates the need to join queries to the security views. This should reduce the execution time of TeamConnect's SQL queries.