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.