Configuring Instant Messaging in PeopleSoft MultiChannel Framework

This chapter provides an overview of instant messaging and discusses how to:

See Also

MCF IM Classes

Click to jump to parent topicUnderstanding Instant Messaging

PeopleSoft MCF extends the HTML chat functionality delivered in PeopleTools 8.42 to popular instant messaging networks. Users can initiate an outbound chat with a customer using instant messaging networks such as IBM/Lotus Sametime, or Yahoo! Messenger. This functionality enables an external user to participate in a business transaction through instant messaging.

PeopleSoft MCF enables instant messaging (IM) through public networks (GTALK,MSN and Yahoo! Messenger), an enterprise Lotus Sametime Connect network or XMPP Instant Messaging server.

You can enable a user to initiate an instant messaging session from any page using either a button or PeopleCode.

See PeopleTools 8.52: PeopleCode API Reference.

PeopleSoft users must install appropriate client software for supported instant messaging domain. However, users presence can also be detected without the installation of the client software.

Note. The instant messaging presence detection in PeopleTools is subject to the respective IM vendor’s network availability..Oracle is not responsible for the availability or performance of any of the IM networks or for any change in an IM vendor’s protocol that may render the IM Integration inoperable.

Click to jump to parent topicConfiguring Instant Messaging Server details

In MCF you can enable instant messaging for :

This section discusses how to configure instant messaging.

The supported public instant messaging networks such as Yahoo and XMPP require installation of client software. Installation and configuration of the client software is the responsibility of your administrators and customers, and is beyond the scope of this document.

Lotus Sametime Connect is an instant messaging network running on an enterprise Sametime/Domino server, which must be configured to support PeopleSoft MultiChannel Framework instant messaging. To administer instant messaging with Sametime Connect, install Sametime Links and configure the server to enable anonymous users to connect to the server and query for the presence of other known users. Refer to your Lotus/Domino server documentation for more information.

For XMPP Instant Messaging servers, you will need to configure the XMPP domain in order to detect user presence, whereas other domains are configured by default.

Click to jump to top of pageClick to jump to parent topicPages Used to Configure Instant Messaging Servers

Page Name

Definition Name

Navigation

Usage

Configuration

MCF_IM_CFG_PG

PeopleTools, MultiChannel Framework, Instant Messaging, Configuration

Enter or edit a server IP address for instant messaging domains.

Configuration

MCF_IM_SRVR_CFG_PG

PeopleTools, MultiChannel Framework, Instant Messaging, Presence, Servers Configuration

Enter or edit an XMPP IM domain.

XMPP Servers Configuration

MCF_XMPPSRVRS_CFG

Click the Configure XMPP Servers link from the Configuration page.

Configure XMPP domains.

Click to jump to top of pageClick to jump to parent topicConfiguration for Yahoo

Select PeopleTools, MultiChannel Framework, Instant Messaging, Configuration.

IM Domain

The instant messaging service name.

Server IP Address

The host name and port (if applicable) of the instant messaging service.

Warning! Do not alter the server address for Yahoo or GTALK .

The server addresses for Yahoo ,MSN,XMPP and GTALK are preconfigured. However, you must enter the address for your Sametime Connect server.

Enabled

Select Enabled to enable the configured instant messaging service.

If the enabled flag is deselected, and the network is available,the buttons will always show as offline.

Click to jump to top of pageClick to jump to parent topicConfiguring XMPP Domains

To configure XMPP servers:

  1. Select PeopleTools, MultiChannel Framework, Instant Messaging, Configuration.

  2. Click the Search button and select XMPP.

  3. Click the Configure XMPP Servers link from the Configuration page.

Configure as many XMPP domains as required.

Domain

Enter IM server domain.

Server

Enter server information.

Port

Enter the port for the IM server.

Force old SSL

Select to use old SLL port 5223.

Resource Name

Resource name for the domain name of the XMPP server. For example: oracle.com.

Click to jump to top of pageClick to jump to parent topicConfiguring IM Users for XMPP Servers

In order to obtain user presence information from configured XMPP IM servers, the user must login to the server. Each user needs to enter their userid and password for the XMPP server. If XMPP login information has been entered in user profile, the login process to the configured XMPP server will happen automatically when the PeopleSoft user signs on to PeopleSoft. This login process takes place in the background and will not stop the user from performing other operations.

Select My System Profile or PeopleTools, Security, User Profile, User Profile and click the Instant Messaging Information link.

Enter your user ID and password information for each XMPP domain you are using.

It is necessary to relogin to the application after configuring the settings.

Note. Username without domain has to be entered under UserId field. Example: ‘firstname.lastname’ for firstname.lastname@oracle.com.

Pages Used to Configure XMPP domains

Page Name

Definition Name

Navigation

Usage

My System Profile

USER_SELF_SERVICE

My System Profile

Configure XMPP username and password

User Profiles

USER_GENERAL

PeopleTools , Security, User profiles, User profiles

Configure XMPP username and password.

Click to jump to parent topicUsing the Instant Messaging Sample Pages

To demonstrate instant messaging, use the Instant Messaging Sample Pages (MCF_IM_DEMO_CMP) component.

This section discusses how to:

Click to jump to top of pageClick to jump to parent topicPages Used to Test Instant Messaging

Below are the details:

Page Name

Definition Name

Navigation

Usage

PeopleCode Sample

MCF_IM_DEMO_PG

PeopleTools, MultiChannel Framework, Instant Messaging, Sample Pages, PeopleCode Sample

Set up buddy lists and view presence for configured instant messaging clients

Button Sample

MCF_IM_DEMO1_PG

PeopleTools, MultiChannel Framework, Instant Messaging, Sample Pages, Button Sample

View presence for configured instant messaging clients using the instant messaging button.

Click to jump to top of pageClick to jump to parent topicUsing the PeopleCode Sample Page

Select PeopleTools, MultiChannel Framework, Instant Messaging, Sample Pages and add a new value.

Note. The PeopleCode Sample does not support presence detection for GTALK and XMPP domains.

The PeopleCode Sample page demonstrates the use of instant messaging PeopleCode. The sample pages are intended for demonstration purposes and should not be used in production.

See MCF IM Classes.

IM Buddy List

Displays an identifier for the list.

Description

Enter a description for the list.

User ID

Enter the user ID.

The user ID must be that of a valid user of the instant messaging service specified in the IM Domain field.

See Determining your Screen Name.

IM Domain

Select the instant messaging service associated with the specified user ID from the drop-down list box.

XMPP Domain

Select IM server domain.

Display User Name

Name used for display purpose.

Status

An icon displays the presence status of the specified user. The icons vary with the instant messaging service.

Click the icon to initiate an instant messaging session with the selected user. The user must be online.

Note. User presence is not updated automatically. Use the Refresh Presence button to check the current status of Yahoo users.

Refresh Presence

Click the Refresh Presence button to check the status of Yahoo users.

Note. If you get a warning symbol with the network, even though you have specified the correct address of IM server, provide values for Proxy host and Proxy port in the pasappsrv.cfg file.

Click to jump to top of pageClick to jump to parent topicUsing the Button Sample Page

Access the Button Sample page using the following navigation path:

PeopleTools, MultiChannel Framework, Instant Messaging, Sample Pages, Button Sample

The Button Sample page demonstrates the use of the instant messaging button implemented in PeopleSoft Application Designer. The sample pages are intended for demonstration purposes and should not be used in production.

See Specifying Type Properties for Push Buttons or Links.

IM Buddy List

Displays an identifier for this list.

Description

Enter a description for this list.

User and Network

Displays user ID and instant messaging service ID.

Status

Displays the presence status of the specified user.

Click the icon to initiate an instant messaging session with the selected user. You can send an instant message even if the user is not online.

Note. For the SAMETIME icon to be visible, do not select the Sun JVM in the browser. If Sun JVM is selected, the icon does not display in the sample page.

Click to jump to top of pageClick to jump to parent topicDeveloping an Application with Instant Messaging Action Button for Presence Detection

In order to create an application with instant messaging action button for presence detection:

  1. Create a page and add a button.

  2. Click on properties of a push button and choose Instant Messaging Action for the destination field.

  3. Choose a record and field name where screen name is in the format for the instant messaging domain, as listed in this table:

    Instant Messaging Domain

    Required format of screen name

    YAHOO

    screenname@YAHOO

    XMPP

    screenname @DOMAIN@XMPP

    GTALK

    screenname@GTALK

  4. Save page.

Click to jump to parent topicUsing Single Button Presence

The single presence icon represents a collective presence of all screen names. When a user moves the mouse pointer over a single presence icon, it will open a menu with all user screen names and their presence

This section provides an overview of presence detection and discusses how to:

Click to jump to top of pageClick to jump to parent topicUnderstanding Presence Detection

The IM Servlet is implemented and hosted in the web server for the purpose of communicating with IM servers to get presence information. Therefore, browsers can send http Get request to IM Servlet and get presence information. The IM Servlet directly communicates with non-XMPP IM servers to fetch presence information and uses Smack API to communicate with XMPP servers. To improve the performance and response time the IM Servlet supports bulk requests for getting presence of multiple screen names using one request. In order to get the presence of a buddy from an XMPP server, the user needs to login into the XMPP server and maintain an active session. For non-XMPP servers the user does not need to login into IM server to fetch the presence information. This active session is maintained in the IM Servlet.

This diagram shows the instant messaging feature:

Instant messaging architecture

  1. Browser requests to get the presence from IM Servlet

     

  2. For non-XMPP servers, IM Servlet will send http get request to corresponding Instant Messaging server to find out presence information. For XMPP servers, IM Servlet will contact XMPP server via smack API to get presence information.

  3. Presence information is returned to IM Servlet.

  4. Presence is sent to the client browser.

Click to jump to top of pageClick to jump to parent topicPages Used to Configure Single Presence Button

Page Name

Definition Name

Navigation

Usage

Configuration

MCF_IM_SRVR_CFG_PG

PeopleTools, MultiChannel Framework, Instant Messaging, Presence, Servers Configuration

Configure IM servers.

Screen names configuration

MCF_IMSCRNNAMES_PG

PeopleTools, MultiChannel Framework, Instant Messaging, Presence, Screen names configuration

Add and delete screen names for instant messaging.

Single button presence

MCF_PRS_DEMO_PG

PeopleTools, MultiChannel Framework, Instant Messaging, Presence, Sample page

Test single button presence.

Click to jump to top of pageClick to jump to parent topicInstant Messaging Servers Configuration for Single Presence Button

PeopleTools, MultiChannel Framework, Instant Messaging, Presence, Servers Configuration.

The configuration page is the same page used to configure instant messaging servers. When you select the page under the Presence menu, you can also configure Email, MSN and Skype.

See Also

Configuration for Yahoo

Click to jump to top of pageClick to jump to parent topicConfiguring Screen Names

Select PeopleTools, MultiChannel Framework, Instant Messaging, Presence, Screen names configuration.

User ID

Enter PeopleSoft user ID.

Screen name

ID used to obtain presence for this user.

IM Protocol

Select the protocol.

IM Domain

Select the instant messaging domain.

User and Network

The value entered here is used for display purposes in Single Button Presence.

Click to jump to top of pageClick to jump to parent topicDetermining your Screen Name

The value of the ScreenName column will vary, depending on your Instant Messaging domain.

IM Domain

User ID Description

Email ID

Corresponding ScreenName

YAHOO

User name without domain

abc.xyz@yahoo.co.in

abc.xyz

MSN

MSN badge ID

p_abc@hotmail.com

f2a66c8e51870b5

GTALK

GTALK chat back ID

abc.xyz@gmail.com

z01q6amlq2i6vrvn5mc3n4q4q…..

XMPP

User name with domain

abc.xyz@oracle.com

abc.xyz@oracle.com

Click to jump to top of pageClick to jump to parent topicCreating a Google Chatback Badge

A Google Talk chatback badge of your Google Talk account enables other users to chatwith you even if they are not signed into a Google Talk account.

You can create a Google chatback badge using this URL: http://www.google.com/talk/service/badge/New.

To create a Google chatback badge, login with your Gtalk User ID and Password. Logging in should create HTML code at the bottom of the page, which would look like the following:<IFRAME height=60 src="http://www.google.com/talk/service/badge/Show?tk=z01q6amlq2i6vrvn5mc3n4q4q465ignqb1up83grsoq6e82p0ghk9ru904bclggtah2r9r5vbt1nl5tia5g56u7h5gtft1frscu639ucjq0r006q2v6jt4cfk4i13j7cucbntvlnptrogt6d4lo0jph7tvu8hpnpjikk16fs6h4qlr9n213kcbla4sr0emkoco8&amp;w=200&amp;h=60" frameBorder=0 width=200 allowTransparency></IFRAME>

The badge value appears between tk= and &amp. The badge is used to determine the user’s presence information, which is also used as the Google user ID.

Refer to your Google documentation for more details.

Click to jump to top of pageClick to jump to parent topicCreating a MSN Badge

To create MSN user IDs:

  1. Use your browser to point to the following URL: http://settings.messenger.live.com/applications/WebSettings.aspx

  2. Sign on with MSN Credentials

  3. Select the option Allow anyone on the web to see my presence and send me messages. Note: Any website can show your status and people you have blocked may see your presence on the web.

  4. Click Save

  5. Verify the MSN badge: <iframe src="http://settings.messenger.live.com/Conversation/IMMe.aspx?invitee=8e109e9602507581@apps.messenger.live.com&mkt=en-in" width="300" height="300" style="border: solid 1px black; width: 300px; height: 300px;" frameborder="0" scrolling="no"></iframe>

  6. Select the Create HTML tab, and view the HTML appearing at the bottom of the page. The badge value appears after “invitee=” and ” @apps”. The system uses the badge to determine the user’s presence information which is also used as the MSN user ID.

Click to jump to top of pageClick to jump to parent topicTesting Single Presence Button

Select PeopleTools, MultiChannel Framework, Instant Messaging, Presence, Sample page.

The single presence icon represents a collective presence of all screen names. When a user moves the mouse pointer over a single presence icon, it will open a menu with all user screen names and their presence. If any of the screen names are online, you can click the online icon and it will launch the corresponding IM Messenger to send IM messages. When the user clicks on an email icon, it will launch default configured email client. When you click on Skype, it will launch Skype application and allow you to login to Skype and if skype is not installed there appears a dialog box with two buttons to download or upgrade skype

Click to jump to top of pageClick to jump to parent topic Developing a Sample Application with Single Presence Button

To develop a sample application with Single Presence Button:

  1. Create a new page with two hidden HTML areas, one Hidden HTML area(as in, MCF_XMPPHEADER) is for keeping Javascript content, and the other HTML area (as in, MCF_IM_HTMLAREA) is for showing the presence icon.

  2. Ensure that all screen names are in the required format and that they are available in a record (as in,MCF_IMSCRNAMES).

  3. Write page PeopleCode for the page activate event:

import PT_MCF_IM:*; Global PT_MCF_IM:MCFIMSingleButton &single; Local Rowset &RS1; &single = create PT_MCF_IM:MCFIMSingleButton(); /* Number of milliseconds that we want to show sliding window even after we */ /* remove cursor from single presence button. */ &single.hideDelay = 5325; &RS1 = CreateRowset(Record.MCF_IMSCRNNAMES); /* &RS1 have all screen names, right is direction of sliding window. 190 is */ /* X coordinate of top left corner of sliding window, 200 is Y coordinate of */ /* top left corner of sliding window, 350 is height of sliding window, 450 */ /* is width of sliding window, 1 is some unique no of sliding window on that */ /* page. If there are many single presence icons on page, then it would be */ /* useful for uniqness. */ RECORDNAME.MCF_IM_HTMLAREA.Value = &single.generateHTML(&RS1, "right", ⇒ 190, 200, 350, 450, 1); RECORDNAME.MCF_XMPPHEADER = &single.generateJavaScript();

See MCFIMSingleButton Class Methods.

Click to jump to parent topicInstalling Instant Messenger Clients

Google and MSN are launched through web clients. It is not required to install the GTalk and MSN messenger.

Yahoo needs Yahoo messenger to be installed on the client machine and can also be configured in Pidgin

XMPP needs Pidgin client installed on client machine.

Click to jump to parent topicWorking with Domain Offline and Online Buttons

This table shows the various state of your Instant Messenger:

Instant Messenger

State

Description

XMPP

Online

Clicking the online icon of XMPP will launch Pidgin if it is installed in the local machine.Chat Window is opened if logged in to Pidgin.

If Pidgin is not installed,the message webpage cannot be displayed appears in the browser.

Note. In certain browsers,pop up window will be opened before pidgin is launched.

 

Offline

Clicking the offline icon of XMPP will launch Pidgin if it is installed in the local machine. It will open a chat window if logged in to Pidgin already.

An error will be displayed if pidgin is not installed.

Yahoo

Online

Clicking the online icon of YAHOO will launch Yahoo Messenger if it is installed in local machine. It will open a chat window if logged in to Yahoo Messenger already and if the user is not logged it will prompt to login to Yahoo..

If Yahoo is not installed,it will not open a chat window but if Yahoo is registered with Pidgin,it opens a chat window in Pidgin.

 

Offline

Clicking the offline icon of YAHOO will launch Yahoo Messenger if it is installed in local machine. It will open a chat window if logged into Yahoo Messenger already and it will allow you to send offline messages.

If Yahoo is not installed and registerd with Pidgin,it opens a chat window in Pidgin allowing you to send offline messages.

MSN

Online\Offline

Clicking the online icon of MSN will launch MSN webchat window.

Clicking on the Offline icon on MSN will launch webchat, However user will not be able to send offline message.

Google

( Online\Offline)

Clicking the online Gtalk icon will launch google webchat window.

Clicking on the offline icon of Gtalk will launch webchat window with user's unavailablity message.

Email icon

 

Clicking the email icon will launch default configured Email client.

Voice icon

 

Clicking the VOICE icon will launch Skype if it is installed in the local machine.

Click to jump to parent topicDebugging IM

When troubleshooting or monitoring the IMServlet, you can view the IMServlet.log to gather information specific to the IMServlet.

Click to jump to top of pageClick to jump to parent topicViewing IMServlet Logs

The log file is located in:

PIA_HOME\servers\PIA\logs

Since IMServlet is using web server logging, IM Log configuration can be done in the following location:

PIA_HOME\piaconfig\properties\ logging.properties

Levels OFF, INFO, SEVERE can be set via com.peoplesoft.pt.mcf.im.level according to the needs.

By default, log is set to SEVERE as the following: com.peoplesoft.pt.mcf.im.level = SEVERE