AVP settings: Configure to improve performance

book

Article ID: 28825

calendar_today

Updated On:

Products

Clarity PPM SaaS Clarity PPM On Premise

Issue/Introduction

Using the Attribute Value Protection (AVP) setting of 'Use display conditions and secured subpages to protect attribute values on this list' (full AVP) on the 'Project List' object could cause performance issues.  It's recommended if you do not use the 'display conditions' portion of AVP, change your settings to ‘Use only secured subpages to protect attribute values on this list’. This article walks you through how to configure this setting.

Environment

Release: All Supported
Component: Clarity Performance

Resolution

Change the AVP settings one view at a time

  1. Log in to Clarity and under Administration go to Objects under the Studio list   
  2. Filter for the object, 'Project' and select it  
  3. Once in 'Object: Project – Properties' click on the 'Views' tab  
  4. 'Project List' should be updated to use 'Use only secured subpages to protect attribute values on this list', and if you don’t use 'display conditions' you may want to change all not to use AVP 'Use display conditions and secured subpages to protect attribute values on this list'. Using 'Use only secured subpages to protect attribute values on this list' would be best. Select 'Options' in the 'Setup' column then select 'Use only secured subpages to protect attribute values on this list' and Save 
  5. Repeat steps for other objects 'List' views  

Update all views

Due to the current design, the application does not have the functionality to make this type of configuration change for all affected views.  The details for making direct database updates to change the Clarity AVP default configuration setting have been reviewed and approved by our Development Team.  Be sure to make a backup of your environment and to test this configuration change in a non-production environment before proceeding to implement it into a production environment.

The below method is provided by our Development Team:

Step 1: Identify any objects/views using AVP set to full

To identify objects configured with AVP set to full, run the below query:  

SELECT code AS OBJECT_VIEW,
  CASE
    WHEN use_display_conds_for_security = 0
    THEN 'SECURE SUBPAGES'
    WHEN use_display_conds_for_security = 1
    THEN 'FULL AVP'
    ELSE 'LOWEST'
  END AS AVP_SETTING
FROM cmn_grids
WHERE principal_type               ='SYSTEM'
AND (USE_DISPLAY_CONDS_FOR_SECURITY=1
OR use_display_conds_for_security  =2)
AND (dal_type                      ='object'
OR dal_type                        ='system')
AND code                          IS NOT NULL
 

To identify user-customized view (personalized) configured with AVP set to full:  

SELECT code AS OBJECT_VIEW,
  CASE
    WHEN use_display_conds_for_security = 0
    THEN 'SECURE SUBPAGES'
    WHEN use_display_conds_for_security = 1
    THEN 'FULL AVP'
    ELSE 'LOWEST'
  END AS AVP_SETTING
FROM cmn_grids
WHERE principal_type               ='USER'
AND (USE_DISPLAY_CONDS_FOR_SECURITY=1
OR use_display_conds_for_security  =2)
AND (dal_type                      ='object'
OR dal_type                        ='system')
AND code                          IS NOT NULL
 

Step 2: Change the AVP Settings to 'Use only secured subpages to protect attribute values on this list'

Once all views using full AVP configuration are identified, below are the 2 queries to be used to change the Attribute Value Protection (AVP) settings to 'Use only secured subpages to protect attribute values on this list': 

Force object AVP settings for object lists back to 'subpage  security only' (the middle setting):

UPDATE cmn_grids
SET use_display_conds_for_security=0
WHERE id                         IN
  (SELECT id
  FROM cmn_grids
  WHERE principal_type               ='SYSTEM'
  AND (USE_DISPLAY_CONDS_FOR_SECURITY=1
  OR use_display_conds_for_security  =2)
  AND (dal_type                      ='object'
  OR dal_type                        ='system')
  )
 

Update grids customized by end-users derived from objects (object provider based portlets or object list views):

UPDATE cmn_grids
SET use_display_conds_for_security=0
WHERE id                         IN
  (SELECT id
  FROM cmn_grids
  WHERE principal_type               ='USER'
  AND (USE_DISPLAY_CONDS_FOR_SECURITY=1
  OR use_display_conds_for_security  =2)
  AND (dal_type                      ='object'
  OR dal_type                        ='system')
  )
 

Step 3: Restart all Clarity services

Additional Information

In Clarity 14.3 an enhancement has been implemented for setting the default, stock configuration as noted in this article to prevent performance issues on new deployments. For existing customer deployments after an upgrade to this release or higher, the AVP setting remains set to the same option in use before the upgrade. On Premise customers may elect to use the identified workaround to change this setting for their existing views

Reference also: