Setting up Push Notifications

This topic contains an overview and discusses:

  • Enabling push notifications for the PIA domain.

  • Configuring an application server domain for push notifications.

  • Configuring notifications from the Process Scheduler.

  • Testing push notifications published from the application server domain.

  • Configuring the Notification window.

  • Troubleshooting the notifications configuration.

To receive push notifications on a PeopleSoft system, you have to enable push notifications for the server domains where the events are being published. Events are published from application server domain and Process Scheduler domains. By enabling Push Notifications within a domain, The TMUSREVT server process will start in the domain (tmusrevt.exe), which is the Tuxedo Event Broker.

Note: Events raised in a Process Scheduler domain are ultimately routed through application server domain. For these inter-domain events, you have to set configurations for both the application server and the Process Scheduler.

This topic assumes you have a working knowledge of PeopleSoft server administration. For more information on managing PeopleSoft servers, see Using PSADMIN.

By default, Push Notifications are turned off for the PIA domain (web server layer). If Push Notifications are set at the server layer (application server and Process Scheduler), in order for the notifications to be distributed to the end user interface, you must enable Push Notifications for the PIA domain.

To enable Push Notifications for the PIA domain:

  1. Select PeopleTools > Web Profiles > Web Profile Configuration.

  2. Select the Custom Properties tab of the deployed web profile, add the custom property, EnablePNSubscriptions, and set it to true.

  3. Save the web profile changes.

  4. Restart the PIA domain for this change to take effect.

To enable Push Notifications in the application server domain:

  1. Launch PSADMIN.

  2. Select the appropriate domain(s) and select Configure this domain.

  3. Enter 13 to enable Push Notifications from the Quick-Configure menu.

    The Push Notifications option is set to No (disabled) by default.

  4. Enter 14 to load the modified configurations settings.

  5. Boot (or reboot) the domain and verify that the TMUSREVT server process starts along with the other domain server processes.

The inter-domain configuration allows events raised from Process Scheduler servers routed to application servers and finally routed to browsers. You can configure the following to allow push notifications from the Process Scheduler domain.

Image: Inter-Domain Event Configuration

This example illustrates the configuration settings for setting up inter-domain events between an application server domain and a Process Scheduler domain. The Process Scheduler port values set on both domains and the application server port values set on both domains must match to ensure successful transactions.

Diagram of configuring inter-domain events between an application server domain and a Process Scheduler domain

As a first step, you should configure the application server and Process Scheduler domains to generate inter-domain events configuration.

Generating Inter-Domain Events Configuration for an Application Server Domain

To configure inter-domain events for the application server domain:

  1. Launch PSADMIN.

  2. Select the appropriate application server domain and elect to configure the domain.

  3. On the Quick-Configure menu, enable the Domains Gateway and Push Notifications options.

  4. Select 14) Load Configuration.

Generating Inter-Domain Events Configuration for a Process Scheduler Domain

To configure inter-domain events for the Process Scheduler domain:

  1. Launch PSADMIN.

  2. Select the appropriate Process Scheduler domain and elect to configure the domain.

  3. On the Quick-Configure menu, enable the Domains Gateway and Push Notifications options.

  4. Select 6) Load Configuration.

When you complete these tasks, the system generates the tuxedo inter-domain events configuration for application server and Process Scheduler domains. Next, you need to configure values for the application server and Process Scheduler domains for inter-domain events.

Configuring the Process Scheduler Domain for Inter-Domain Events

To enable Inter-Domain Events for a Process Scheduler domain:

  1. Launch PSADMIN.

  2. Select the Process Scheduler domain and select to Configure this domain.

  3. Enter the Custom configuration option.

  4. Press the Enter key for Do you want to change any values (y/n/q)? [n], and continue to press the Enter key until the Values for config section – Inter-Domain Events appear.

  5. Review and modify as needed the values in Inter-Domain Events.

    Values for config section - Inter-Domain Events
        Process Scheduler Port=8988
        Application Server Credentials=APPDOM1|localhost:7988

    Field or Control

    Definition

    Process Scheduler Port

    Specify the port through which this Process Scheduler domain sends event notifications.

    Note: You can leave the port as it is if you are configuring a single Process Scheduler domain on a machine. If you are configuring multiple Process Scheduler domains on a machine for inter-domain events, then provide unique port number for each domain.

    Application Server Credentials

    Specify the application server domain to which this Process Scheduler domain will send event notifications in the format:

    <domain name>|<hostname>:<application server port>
    • domain name: Open the interdom.gbb file for the application server domain. The file is available in PS_CFG_HOME/appserv/<Domain>/folder. Locate the section in the file that is similar to the following:

      *DM_LOCAL
      "AS_TESTSERV_41162" GWGRP=GWTGROUP ACCESSPOINTID="TESTSERV_41162"

      Note: The ACCESSPOINTID must be 30 bytes or fewer in length. If the value is a string, it must be 30 characters or fewer (including the trailing Null character).

      Copy the ACCESSPOINTID value and provide the configuration value as follows:

      Application Server Credentials=TESTSERV_41162|<hostname>:<application server port>
    • hostname: the host name of the machine, which is running application server domain.

    • application server port: the port number provided in inter-domain events configuration for application server domain. You can leave the default value of the port as it is.

    The completed configuration values for the application server will look similar to the following example:

    Application Server Credentials=TESTSERV_41162|slc00fep:7988
  6. Enter q to exit the custom configuration interface, load any configuration changes, and return to the Domain Administration menu.

    Note: If you have multiple process scheduler domains, then this configuration needs to be applied to each of the Process Scheduler domains.

Configuring the Application Server Domain for Inter-Domain Events

If the events occur by way of the Process Scheduler, then the system routes the events to an application server domain where they can be processed and distributed to the browser interface. For this to occur, you must enable and configure the settings for the Inter-Domain Events between the application server domain and the Process Scheduler domain.

When your environment consists of multiple application server domains, you can configure any one of the application server domains for inter-domain events. This ensures that any notification published from any of the Process Scheduler domains will be routed to the application server domain. Then, the events are routed to the connected PIA domain and finally to the browser clients.

To configure inter-domain events for the application server domain:

  1. Launch PSADMIN.

  2. Select to configure the appropriate application server domain and elect to Configure the domain.

  3. Select the Custom Configuration, option.

  4. Press ENTER until you arrive at the Inter-Domain Events section.

  5. Press y to change the values in Inter-Domain Events.

  6. Review and modify as needed the Process Scheduler Credentials and Application Server Port settings.

    Process Scheduler Credentials=PRCS1|localhost:8988
    Application Server Port=7988
    

    Field or Control

    Definition

    Process Scheduler Credentials

    Specify the credentials for the Process Scheduler domain from which notifications will be received in the format:

    <domain_name>|<hostname>:<process scheduler port>
    • domain_name: Open the interdom.gbb file for the Process Scheduler domain. The file is available at PS_CFG_HOME/appserv/prcs/<Domain>/ folder. Locate the section in the file that is similar to the following:

      *DM_LOCAL
      "PRCS" GWGRP=GWTGROUP1 ACCESSPOINTID="PRCS_SLC00FEP_PSNT"

      Note: The ACCESSPOINTID must be 30 bytes or fewer in length. If the value is a string, it must be 30 characters or fewer (including the trailing Null character).

      Copy the ACCESSPOINTID value and provide the configuration value as follows:

      Process Scheduler Credentials=PRCS_SLC00FEP_PSNT|<hostname>:<process scheduler port>
    • hostname: The host name of the machine where the Process Scheduler domain is running.

    • process scheduler port: Process scheduler port is the port number provided in inter-domain events configuration for Process Scheduler domain.

    The completed configuration values for the Process Scheduler domain will look similar to the following example:

    Process Scheduler Credentials=PRCS_SLC00FEP_PSNT|slc00fep:8988

    Note: If there are multiple Process Scheduler domains from which you want to receive push notifications, then provide the configuration for each domain separated by a comma. For example:Process Scheduler Credentials=PRCS_SLC00FEP_PSNT|slc00fep:8988,PRCS_SLCFTJTH_PSNT|slcftjth:8988

    Note: If you have multiple Process Scheduler domains running on the same machine, then each Process Scheduler domain should have a unique port for inter-domain events configuration. For example: Process Scheduler Credentials=PRCS_SLC00FEP_PSNT|slc00fep:8988,PRCS_SLC00FEP_PSNT1|slc00fep:8989

    Application Server Port

    You can retain the port number as it is.

    Note: When you are connecting multiple process scheduler domains to a single application server domain for inter-domain events configuration, this is the recommended configuration.

  7. Enter q to return to the PeopleSoft Domain Administration menu, and load any configuration changes.

    You have completed the configuration for push notifications on the application server domain and Process Scheduler domains. You need to boot the domains for the configurations to take effect.

To test the push notifications published from an application server domain:

  1. Select PeopleTools > Portal > Inter Window Communication.

  2. Search and select Portal Object Name: PTSVRTESTEVENTS_GBL.

  3. In the Content Reference Message Events grid, click the Map icon for SERVEREVENTTESTA.

  4. On the Map Event Data to Page Elements Modal window, click OK, and click Save.

    Note: You need to complete this only once on a new installation.

  5. Using two different browser sessions navigate to PeopleTools > Utilities > Debug > Server Side Events Test Page.

  6. Enter test values in the Event Data field and click Publish on one browser session.

  7. On the other browser session, confirm that the values you entered previously, appear in the Event Targets fields.

This topic discusses:

  • Setting system configuration options.

  • Managing business event notifications.

  • Enabling the two-panel action view.

Setting System Configuration Options

Use the System Configuration page to configure the Notification window for all users system wide.

Image: System Configuration page

This example illustrates the fields and controls on the System Configuration page. You can find definitions for the fields and controls later on this page.

System Configuration page

The table describes the names and definitions of fields in the System Configuration page.

Field or Control

Definition

Max Notification Items

Enter the default number of maximum notification to be displayed to the user.

Note: Users can personalize the Notification window by specifying a different maximum number. See Personalizing the Configuration of the Notification Window.

Notification Items to Load

Enter the number of records that get loaded to the system when the notification window is loaded. The default value for this option is 100. This configuration can be used to tune the performance of the Notification window.

From Date, To date

Set the period to archive or purge data.

Category Name

Select a category to archive or purge data.

Archive

Click to archive the data based on the date range and selected categories. When notification items are archived, the data is copied into the archive table. Archiving the data at regular intervals improves the system performance because the number of notification items in the table gets reduced on archival.

Purge Data

Click to purge the data based on the date range and selected categories. You cannot retrieve purged data. Purging the data at regular intervals improves the system performance because the number of notification items in the table gets reduced on purging.

Managing Business Event Notifications

Use the Manage Notification page to enable or disable business event notifications selectively based on the business process, activity name, event name, and worklist name.

Image: Manage Notification page

This example illustrates the fields and controls on the Manage Notification page. You can find definitions for the fields and controls later on this page.

Manage Notification page

Field or Control

Definition

TriggerBusinessEvent

Select Yes to enable business event notifications.

Object Owner ID

Select an object owner ID to filter the results in the grid.

Enable

Select Enable to enable or disable the notification feature for that business process combination.

Notification Message Set/Message Number

For each combination of business process, activity, event, and worklist, you can set the message set ID and number, based on which message catalog entry used to form the notification message and notification category.

Enabling the Two-Panel Action View

Use the Action View page to enable the two-panel action view for all users system wide.

Important! Review the following important considerations before enabling the two-panel action view on your system.

Image: Action View page

This example illustrates the fields and controls on the Action View page.

Action View page

The two-panel action view uses the master/detail architecture. A user’s list of notifications (the master) is displayed in the left panel, while the actionable transaction (the detail) is displayed on the right. The action view master/detail component has both AJAX transfers and the slide-out left panel enabled.

Image: Action view master/detail component

The following diagram illustrates the relationship of the items in the action view master/detail architecture:

  • The action view master/detail component is the container.

  • The master list of notifications is displayed in the left panel.

  • If the notification target content includes an inner left panel, then the left panel collision handling that is set on the action view master/detail component enables the slide-out left panel.

  • The component for the notification target is displayed on the right.

Action view master/detail component

Any component and page that could be displayed as a detail transaction in the action view must conform to the general restrictions on being displayed within a master/detail component as described in Guidelines and Limitations for Master/Detail Components.

In addition to these general guidelines, evaluate each target component and page that could be displayed in the action view as the result of a notification:

  • If the target is a fluid activity guide, another master/detail component, or a fluid navigation collection, it cannot be displayed within the action view; however, it can be set to display in a new browser window. You must add the &ICDisplayNotify=N query string parameter to the notification when it’s published.

  • Pages in the target fluid component cannot include an “application header”—that is, any of the Custom Header group box types (Left, Right, Middle, or Bottom) must be hidden when displayed in the action view.

  • Since the action view master/detail component controls the title in the fluid banner, for each page defined within the target component, you should add a group box of type Page Title that is defined to be visible when the page is rendered within a master/detail component. This Page Title group box provides context that is lost when the page title is not displayed in the fluid banner. To hide this page title if the page is rendered outside of a master/detail component, use the psc_hideinmode-notmd style.

  • If the target content is a fluid component that employs the 8.54 two-panel construct (that is, it was built from the PeopleTools 8.54 PSL_TWOPANEL layout page or it was designed with an internal left panel similar to PSL_TWOPANEL), your implementation must ensure that the internal two-panel is initialized (using initializeTwoPanel) so that left panel collision handling can occur.

If events are not appearing in the Notification window, check the following items:

  • Verify that the web profile passwords are consistent between the PIA domain and the application server domain.

  • Verify that your browser, web server, and any reverse proxy servers used all support websocket technology.

To troubleshoot the notification configuration for push notifications published from Process Scheduler domain, you also need to consider the following:

  • After booting up the domains, you can verify the configuration by ensuring that the domains have connected to each other. To verify the connection, you need to open the TUXLOG file for application server and Process Scheduler domains from their respective domain LOGS folders. You will see an entry in the file that the connection is established between the domains.

  • If you do not see connections being established, then reboot the domains after clearing IPC resources for the domains. Use the Clean IPC resources of this domain option in PSADMIN and then reboot the domains.

  • If you reboot application server domain or Process Scheduler domains after a successful configuration, the domains may not connect to each other anymore. This happens because the ACCESSPOINTID, which you had entered for the inter-domain configuration changes during a reboot. In this case, review the configuration for the domains and provide the correct ACCESSPOINTID.