book
Article ID: 182987
calendar_today
Updated On:
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