Tuesday, July 8, 2014

8.53 tools Site Name Bug

We recently upgraded our tools from 8.51 to 8.53 in preparation for our 9.2 Upgrade and by far this tools upgrade has caused us more issues then any tools upgrade I can remember.  The most dubious issue we have discovered is related to our Interaction Hub's site name.  We use the string 'PSP' in our site name and this was preventing the delivered Activity guides from working and we opened a case with vendor regarding this issue and they recommended that we remove the "PSP" from our site name as they knew about the bug, but they had not begun analyzing the fix.

We considered modifying or site name, but the effort would have caused a delay in our upgrade project and we were not willing to move our date to remove the "PSP" from our site name.  So I was asked to analyze the delivered JavaScript and determine the root cause of the "PSP" bug.

I traced the issue to the following Regular Expression that attempts to derive the URI from the current location.  Below is the Regular Expression:
      
       /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\

I have bolded the “?” since this appears to be the issue with the expression above.  A question mark tells the regular expression to match on one or zero times on the last “/”.  This means that the expression will match anything that begins with ‘/psc’ or ‘/psp’.  So if you remove the ‘?’ from the expression it will match only ‘/psc/’ or ‘/psp/’.    I believe this is the fix to the Sitename issue.


Below are all the locations I have modified in Portal, HCM and FIN to fix this Bug.

 

Portal

Searching for match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^...
EPPSC_ADDSC_JS.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("/psp/", "/psc/");
PORTAL_REFRESHPAGE.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//);
PORTAL_REFRESHPAGE.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace('psp','psc');
PORTAL_REFRESHPAGE.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//);
PORTAL_REFRESHPAGE.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0];
PTAI_NAVSUBPAGEHTML.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psp", "psp");
PTAI_PAGELET_JS.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psc", "psp");
PTAI_PAGELET_JS.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psc", "psp");
PTAI_PAGELET_JS.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psc", "psp");
PTAI_PAGELET_JS.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psc", "psp");
PTAI_PAGELET_JS.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psc", "psp");
PTAL_JS_PAGE.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psp", "psc");
PTPANEL_PAGELET_JS.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psp", "psc");
PT_COMMON.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0];
PT_COMMON.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//);
PT_COMMON.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace('psp','psc');
PT_HP2_JS.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//);
PT_HP2_JS.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0];
PT_IFRAME_HDR_JS.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//);
PT_IFRAME_HDR_JS.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace('psp','psc');
PT_PORTAL_AS_JS.4 -- match(/\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace('psp', 'psc'),
21 occurrence(s) have been found.

HCM


Searching for /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\...
PORTAL_REFRESHPAGE.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//);
PORTAL_REFRESHPAGE.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace('psp','psc');
PORTAL_REFRESHPAGE.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//);
PORTAL_REFRESHPAGE.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0];
PTAI_NAVSUBPAGEHTML.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psp", "psp");
PTAI_PAGELET_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psc", "psp");
PTAI_PAGELET_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psc", "psp");
PTAI_PAGELET_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psc", "psp");
PTAI_PAGELET_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psc", "psp");
PTAI_PAGELET_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psc", "psp");
PTAL_JS_PAGE.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psp", "psc");
PTPANEL_PAGELET_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psp", "psc");
PT_COMMON.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0];
PT_COMMON.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//);
PT_COMMON.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace('psp','psc');
PT_HP2_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//);
PT_HP2_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0];
PT_IFRAME_HDR_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//);
PT_IFRAME_HDR_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace('psp','psc');
PT_PORTAL_AS_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace('psp', 'psc'),


FIN

Searching for /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\...
PORTAL_REFRESHPAGE.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//);
PORTAL_REFRESHPAGE.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace('psp','psc');
PORTAL_REFRESHPAGE.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//);
PORTAL_REFRESHPAGE.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0];
PTAI_NAVSUBPAGEHTML.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psp", "psp");
PTAI_PAGELET_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psc", "psp");
PTAI_PAGELET_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psc", "psp");
PTAI_PAGELET_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psc", "psp");
PTAI_PAGELET_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psc", "psp");
PTAI_PAGELET_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psc", "psp");
PTAL_JS_PAGE.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psp", "psc");
PTPANEL_PAGELET_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace("psp", "psc");
PT_COMMON.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0];
PT_COMMON.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//);
PT_COMMON.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace('psp','psc');
PT_HP2_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//);
PT_HP2_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0];
PT_IFRAME_HDR_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//);
PT_IFRAME_HDR_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace('psp','psc');
PT_PORTAL_AS_JS.4 -- /\/ps(c|p)\/?([^\/]*)?\/?([^\/]*)?\/?([^\/]*)?\//)[0].replace('psp', 'psc'),
20 occurrence(s) have been found.

No comments:

Post a Comment