Developing applications that open in multiple browser tabs or browser windows
Common scenarios for opening application sessions in multiple tabs or windows
Pega 8.2 and earlier releases: Discrete domains or Tabbed layouts
Pega 8.3: Pega Web Mashups for multiple applications and contexts
Pega 8.4 through Pega 8.5: Application URL aliases
Pega 8.6: Single-page applications in dynamic containers Allow Concurrent Work option
In early Pega Infinity™ releases (Pega 8.1 through Pega 8.5), application users cannot open a Pega application in multiple tabs or multiple browser windows without negative consequences. Typically, the negative consequences are application screens refreshing each other, causing data to be lost. Application users cannot explore or multi-task in different applications within an application portal or outside of an application portal. This limitation is corrected in Pega 8.6. For releases prior to Pega 8.6, various design options are available to Pega application developers to overcome this limitation.
There are two common scenarios for developing applications that open independent screens in multiple browser tabs or browser windows. You might need to develop for one scenario or for both scenarios:
- Multiple applications exist within one Pega deployment.
In this scenario, separate URLs provide access with no crossover of the applications in the browser.
- Separate browser tabs or windows open for different applications or cases within the same application.
How you develop your application to support these scenarios depends on the version of the Pega Platform that you are using.
With Pega 8.2 and earlier releases, including minor and patch releases, Pega application users and developers cannot launch new applications in different browser tabs. Users cannot open multiple cases or landing pages in multiple browser tabs to work on them simultaneously.
To overcome this limitation in releases prior to Pega 8.2, as an application developer, you have two design choices:
- Discrete domains for each application
- Tabbed layouts for the applications within the application portal
This design choice requires additional work outside of the Pega applications.
You can define a separate domain for each application to differentiate the URLs for each application. For example, if users want to access both a loan origination application and an interest calculator application simultaneously, define two domains, www.loanapp.com and www.interestcalc.com:
- Loan Origination application access is provided by this URL: https://www.loanapp.com/prweb/PRServlet
- Interest Calculator application access is provided by this URL: https://www.interestcalc.com/prweb/PRServlet
Alternatively, you can design the application to use tabbed layouts within the application portal itself rather than separate browser tabs or windows. See Layout groups.
Mashups of various applications and authentication contexts can be embedded in the same third-party web page without any customization to the mashup scripts. (Prior to Pega 8.3, embedding mashups of different applications required customization, and mashups for different authentication contexts did not work.)
The underlying mashup architecture uses application-specific URLs, but there are no application URL aliases defined for the applications. Any random string in place of the application URL alias component in the URL can start a new Pega session, but users must switch from the default application to the application that they want to use. The same solution can be used for starting multiple applications in different browsers as a short term solution.
For example, if users want to work with both a loan origination application and an interest calculator application simultaneously, there is no need to set up two discrete domains as described for releases prior to Pega 8.2, Discrete domains for each application. Instead, the application URL for each application can be qualified with a unique string as shown in the following examples:
- Loan Origination application access is provided by this URL: https://uplus.com/prweb/PRServlet/app/loanorig
- Interest Calculator application access is provided by this URL: https://uplus.com/prweb/PRServlet/app/interestcalc
For more information, see the Pega 8.3 What’s New article, Include multiple mashups on a single page (8.3).
Additional information for Pega 8.5 is available in the collection of articles for Pega web mashups for embedding Pega Platform UI in external web pages.
With Pega 8.4 through Pega 8.5, including minor and patch releases, Pega application users and developers can start a new application in a different browser tab and simultaneously work on multiple applications. Each application has a specific URL that can be configured in the Application definition page. Each application in the new tab has its own Pega session; hence, users must log in to the applications again. To avoid forcing users to log in again to applications, you can configure Single Sign-On (SSO) for the applications. For more information, see the Pega 8.4 What’s New article, Simplify access with an Application URL alias (8.4).
For example, if users want to access both the Loan Origination application and the Interest Calculator application simultaneously, then you should define each application with a URL alias in the Application definition. If the Loan Origination application is defined with loanorig and the Interest Calculator application is defined with interestcalc as the respective URL aliases, then the URLs to these applications are the following URLs:
The Loan Origination application access is provided by this URL: https://uplus.com/prweb/PRServlet/app/loanorig
The Interest Calculator application access is provided by this URL: https://uplus.com/prweb/PRServlet/app/interestcalc
Pega 8.6 provides an option for a single-page application to not refresh if the application is opened in multiple tabs of the same browser or is opened in multiple browser windows.
With Pega 8.6, including its future minor and patch releases, as an application developer, you can develop single-page applications based on dynamic containers configured to work in multiple tabs or multiple windows of a browser without refreshing. Using single-page applications built on dynamic containers, application users can open cases and landing pages in different browser tabs or browser windows.
Exception: Cosmos applications have this configuration enabled by default.
To provide this functionality in your non-Cosmos applications, you need to enable the option Allow concurrent work in multiple tabs/browsers as shown in the following image:
For more information, see Pega 8.6 Release Note, Multiple sessions in separate browser tabs or windows and Adding a dynamic container to a portal.