Page tree
Skip to end of metadata
Go to start of metadata

This page describes Profound UI break messages and how to send them. PUI Break Messages are a special type of message that can be sent from a certain command and received in users' Genie or Rich Display sessions. This is not the same as the IBM i Break Message feature: messages sent with SNDBRKMSG will not be received on Profound UI Genie/RDF sessions.

This feature is available with Profound UI Version 5, Fix Pack 4.0 and later.

Overview

Messages are created and queued for delivery with the PUISNDMSG command. The command is found in the library where Profound is installed–usually PROFOUNDUI.

The INSTANCE parameter is not used unless the user id is *ACTIVE.

The message goes into a data queue, PUIBRKMSGQ, and remains there until the user's Profound UI session fetches it. By default, Profound UI client sessions do not poll the server for new messages. A configuration option must be set to enable break messages.

Once the feature is enabled, the user will receive new and queued messages once he/she starts a session:

Once the session fetches the message, then it is no longer in the data queue. Clicking on the red X will hide the message.

The message may be formatted using a custom formatting function.

Multiple Sessions

The Break Message feature was designed so users would receive messages even when working in multiple Profound UI instances.

If a user is logged into multiple sessions under the same username, using the same Profound UI instance (same domain and port), using the same web browser, then the message will appear in each session.

Closing one of the messages will cause the others to disappear as well.

If the other sessions are Genie or are inside Atrium, then the messages are still shared between all the browser tabs/windows.

If multiple messages are sent, then each message is shown in the browser stacked on top of one another (up to a limit). The stack shows the newest message on top.

Sessions in Atrium

Once break messages are enabled for the Rich Display or Genie session, then sessions in Atrium will also receive them. The messages work a little differently inside Atrium:

  • Only the latest message is displayed.
  • The message is shown in a MessageBox.
  • A user logged in under multiple user Ids will see messages sent to any of those user ids.

There is also a separate formatting function that can be defined for Atrium messages. Read about atrium.breakMessageFormat().

Sending to Active Users

Messages can be sent to individual user ids or to all active users on an instance of Profound UI--all users who are actively logged into and using a Profound UI session (Genie, Rich Display).

To send to all active users, the user id should be *ACTIVE, and the instance name must be specified. The instance name is usually PROFOUNDUI.

*ACTIVE looks up users running on the specified instance and puts a message in the PUIBRKMSGQ data queue for each user on the instance. Depending on the number of users and installed instances, the command may take some time to finish. Each active user on the instance receives the message:

Sending from a Rich Display Program

Because the PUISNDMSG command simply populates a data queue, it is possible for end-programmers to write custom sending programs using the IBM Data Queue API. The queue is setup with the following properties:

  • Queue Name: PUIBRKMSGQ
  • Queue Library: (same as instance name, usually PROFOUNDUI.)
  • Type: Standard
  • Message Maximum Length: 5018
  • Sequence: Keyed
  • Key Length: 10
  • Sender Id: Yes
  • Auto Reclaim: Yes

The queue messages use the following data structure:.

Fixed Form RPG
      * Data structure for Message with date.
     D QMSG            DS          5018    QUALIFIED
     D  mdate                        10D
     D  mtime                         8T
     D  msg                        5000A
Free Form RPG Declaration
Dcl-Ds QMSG LEN(5018) qualified;
  mdate Date;
  mtime Time;
  msg char(5000);
End-Ds;

 

Because the date and time take the first 18 bytes, the message has a maximum length of 5000 characters.

  • No labels