Support Article
Launched portal gets closed when navigate back to DesignerStudio
SA-6800
Summary
User logs into 'Developer Portal'/'Designer Studio'. From the 'Launch' menu option, 'Case Manager' portal is launched, it opens in a new tab. Navigate to 'Case Manager' portal and open another portal using 'Switch Portal' option shown in operator menu, e.g. switch to 'User' portal. This will cause the current tab to show 'User' portal.
When user navigates back to developer portal, shown in first tab, it is observed that 'User' portal gets closed and developer portal is refreshed.
Error Messages
No error messages.
Steps to Reproduce
1) Log into 'Developer Portal'/'Designer Studio'.
2) From the 'Launch' menu option, launch 'Case Manager' portal.
3) Navigate to 'Case Manager' portal and open another portal using 'Switch Portal' option shown in operator menu, e.g. switch to 'User' portal. This will cause the current tab to show 'User' portal.
4) Navigate back to developer portal shown in first tab. It is observed that 'User' portal gets closed and developer portal is refreshed.
Root Cause
In Pega 5.x and Pega 6.x, if we have an existing session running and try to launch another session in a new tab, 'Multiple sessions running' message is displayed. Thus, it wasn't allowed to have two separate sessions in two tabs of same window. This limitation is removed in Pega 7.x. The changes are handled by OOTB 'ShowDesktop' activity. A little context:
a) Standard thread portal: the first PRPC portal in which user logs in.
b) OpenPortal thread portal: any portal which is launched from a standard thread portal.
In step 5 of this activity, the pre-condition is set to Param.ThreadName != "OpenPortal". It was assumed that 'ThreadName' will always be available as a parameter when the portal is launched. But when we do switch portal, 'ThreadName' parameter is not available. If this param is not available then we use the current thread on which it is running, which is 'Standard'. This causes 'ShowDesktop' activity to get called after switching the thread content. So, the pre-condition is changed from:
Param.ThreadName != "OpenPortal" to
1) Param.ThreadName == "STANDARD" skip whens
2) Param.ThreadName == "" && pxThread.pxThreadName == "STANDARD" Continue whens
Resolution
The changes are provided through HFix-20893.
Published January 31, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.