Project Tiles view filter errors in Clarity PPM application in Modern UX

book

Article ID: 182987

calendar_today

Updated On:

Products

Clarity PPM On Premise

Issue/Introduction

In the Modern UX Project Tiles filter section of the page, 'My Tasks' label to the right of the filter section is corrupted and label is showing as: 'global.menu.mytasks translate | uppercase}}' for one end user.
The End user is unable to filter for anything

Cause

The personalizations record was corrupted. Instead of '\"' the response payload from
personalizations api contained '\\"'

Below is an example of response payload taken from Devtools in the browser - Network and look for or filter on /rest.


{"_pageSize":25,"_self":"https://clarityserver.h.net/ppm/rest/v1/private/personalizations?filter=%28%28component+%3D+%27project%27%29+and+%28userid+%3D+7425421%29%29&fields=userid%2Ccomponent%2Cpersonalizations&sort=userid","_totalCount":2,"_results":[{"_internalId":5000001,"component":"project","personalizations":"{\"project\":{\"documents\":{\"documentsList\":{\"sort\":{\"orderByField\":\"modified\",\"reverseSort\":true}}},\"financials\":{\"finPlans\":{\"sort\":{\"sortColumn\":\"createdDate\",\"sortByDesc\":true}}},\"tasks\":{\"view\":\"board\",\"filter\":{\"query\":{\"raw\":\"\",\"formatted\":\"\"},\"selectedFilter\":{\"index\":0,\"id\":\"allTasks\",\"queryParams\":\"\"}}}}}","_self":"https://clarityperf.hk.hsbc/ppm/rest/v1/private/personalizations/5000001","userid":0},{"_internalId":5012003,"component":"project","personalizations":"{\\"project\\":{\\"financials\\":{\\"finPlans\\":{\\"sort\\":{\\"sortColumn\\":\\"createdDate\\",\\"sortByDesc\\":true}}},\\"10903707\\":{\\"tasks\\":{\\"todos\\":{\\"isCompletedSectionCollapsed\\":true,\\"isOpenSectionCollapsed\\":false}}},\\"documents\\":{\\"documentsList\\":{\\"sort\\":{\\"orderByField\\":\\"modified\\",\\"reverseSort\\":true}}},\\"selectedProjectsFilterInstance\\":{\\"projectObsobjectDisplay\\":\\"[{\\"displayValue\\":\\"9. Governance Hierarchy > HSBC > RBWM > Product Line->1. Everyday Banking(3_00000754) > Value Stream ->Everyday Banking(4_00003125)\\",\\"lastName\\":null,\\"firstName\\":null,\\"code\\":null,\\"id\\":6499589,\\"userId\\":null}]\\",\\"projectObs\\":\\"( unitId in (6499589) and mode = OBS_UNIT_AND_CHILDREN)\\",\\"resourceObsUnitMode\\":\\"OBS_UNIT_AND_CHILDREN\\",\\"projectObsDisplay\\":\\"9. Governance Hierarchy > Value Stream ->Everyday Banking(4_00003125)\\",\\"filterQuery\\":\\"not-implemented\\"},\\"tasks\\":{\\"filter\\":{\\"query\\":{\\"formatted\\":\\"\\",\\"raw\\":\\"\\"},\\"selectedFilter\\":{\\"queryParams\\":\\"\\",\\"index\\":0,\\"id\\":\\"allTasks\\"}},\\"view\\":\\"board\\"},\\"10916703\\":{\\"tasks\\":{\\"todos\\":{\\"isCompletedSectionCollapsed\\":true,\\"isOpenSectionCollapsed\\":false}}}}}","_self":"https://clarityperf.hk.hsbc/ppm/rest/v1/private/personalizations/5012003","userid":7425421}],"_recordsReturned":2} 

Environment

Release : 15.6

Component : CA PPM APPLICATION

Resolution

The new UI would not have created this issue as it always converts our JavaScript objects into a properly escaped string.

The fix in this case is to make a GET request on the personalization api for this user (this can be done in the browser after authenticating).

Save the payload as regular text. Search and replace the payload, replacing every instance of '\\"' with '\"' in the payload and using Postman (or similar REST client) make a PATCH request to save the record back to the server.

Temporarily adding the API access right to this user, patch the record, and remove the API access right