IBM Sametime is an award-winning platform for unified communications and collaboration. It allows people to find, reach and collaborate with one another easier in a rich, multimedia experience. Although the unique IBM i architecture and extraordinary capability give Sametime on IBM i a lot of advantages, there are also differences to consider when compared with other platforms.
To enrich the user experience for Domino-based Sametime in release 8.5.2 and 8.5.2 IFR, there are several new enhancements. In this article, we will talk about the enhancement to the Domino-based Sametime 8.5.2 and 8.5.2 IFR from the IBM i perspective, including:
- New Java Launcher
- Offline messages
- Multi-file and folder transfer
Besides the feature benefits, this article will also describe the server changes and how the new features work to help customers better understand their Sametime server on IBM i.
New Java Launcher
In previous releases, most Sametime processes automatically restart when they are abnormally ended. The following awareness components of Community Sametime can not be restarted automatically if they encounter a problem or are abnormally ended, though:
- STSUBMGR Program for service ST Presence Subscriptions
- STCMPMGR Program for service ST Presence Compatibility
- STPRSMGR Program for service ST Presence
- STPolicy Program for service ST Policy
- STLinks Program for service ST Links
- STReflector Program for service ST Reflector
- STUserInfo Program for service ST UserInfo
For earlier release on UNIX® platforms, there is a manual process to restart the corresponding awareness component processes. Although IBM recommends that the entire Sametime server be restarted if one or more of these processes are abnormally ended, it is possible to recover and restart a specific process on the UNIX platform when there is no immediate possibility to restart the full server. Much more annoying on IBM i, when one or more of these jobs ended abnormally, the entire Sametime server would shut down with a message in the Domino console such as the following example:
[time stamp] Sametime: Meeting server: child process died! Ending server.
Most Sametime customers on IBM i might have had this bad experience when there was a network glitch or a temporary problem causing the Domino server to stop. The impact of a problem was broad and all Sametime and Domino processes and users were affected.
To resolve this problem, in Sametime 8.5.2, these components are now restarted automatically on UNIX platforms, including IBM i by the new Java Launcher enhancement. With the new Java Launcher, these jobs on IBM i are restarted automatically if they encounter a problem or are abnormally ended instead of ending the entire Sametime server.
For the Java Launcher feature, all the changes are made automatically by the upgrading process. No manual intervention is required to enable the Java Launcher. Customers can observe the server changes shown below after they upgrade their Sametime server to 8.5.2 or 8.5.2 IFR:
- Changes in meetingserver.ini, which resides in the server data directory.
These sections are removed from meetingserver.ini.
[SOFTWARE\Lotus\Sametime\MeetingServer\Services\STSUBMGR] Path=stsubmgr Type=1 Enabled=1 StartOrderDependencies=Logger;T120MCU RestartDependencies= ArgString=-Xgcpolicy:gencon -Xmx1024m -Xcompactgc com.ibm.sametime.buddylist.feSmSa.FrontEndSubscriptionSA $DATA_DIR StartWaitTime=0 StopWaitTime=0 Description=ST Presence Subscriptions Mgr [SOFTWARE\Lotus\Sametime\MeetingServer\Services\STCMPMGR] Path=stcmpmgr Type=1 Enabled=1 StartOrderDependencies=Logger;T120MCU RestartDependencies= ArgString=-Xgcpolicy:gencon -Xmx512m -Xcompactgc com.ibm.sametime.buddylist.backward Compatibility.BackwardCompatibilitySA $DATA_DIR StartWaitTime=0 StopWaitTime=0 Description=ST Presence Compatibility Mgr [SOFTWARE\Lotus\Sametime\MeetingServer\Services\STPRSMGR] Path=stprsmgr Type=1 Enabled=1 StartOrderDependencies=Logger;T120MCU RestartDependencies= ArgString=-DDelay=30 -Xgcpolicy :gencon -Xmx512m -Xcompactgc com.ibm.sametime.buddylist. presenceServicePublishMangerSa. PresenceServicePublishSA $DATA_DIR StartWaitTime=0 StopWaitTime=0 Description=ST Presence Mgr [SOFTWARE\Lotus\Sametime\MeetingServer\Services\STPolicy] Path=stpolicy Type=1 Enabled=1 StartOrderDependencies=Logger;ActivityProvider RestartDependencies= ArgString=com.ibm.sametime.policy.policysa.Launcher StartWaitTime=0 StopWaitTime=0 Description=Sametime Policy [SOFTWARE\Lotus\Sametime\MeetingServer\Services\STLinks] Path=stlinks Type=1 Enabled=1 StartOrderDependencies=Logger;ActivityProvider RestartDependencies= ArgString=com.lotus.sametime.stlinks.sa.Launcher StartWaitTime=0 StopWaitTime=0 Description=Sametime Links [SOFTWARE\Lotus\Sametime\MeetingServer\Services\STReflector] Path=streflect Type=1 Enabled=1 StartOrderDependencies=Logger;ActivityProvider RestartDependencies= ArgString=com.ibm.collaboration.realtime.multimedia.phonegrid.reflector.Launcher StartWaitTime=0 StopWaitTime=0 Description=Sametime Reflector [SOFTWARE\Lotus\Sametime\MeetingServer\Services\STUserInfo] Path=stuserinfo Type=1 Enabled=1 StartOrderDependencies=CommunityServer RestartDependencies= ArgString=-Xgcpolicy:gencon -Xmx512m -Xcompactgc com.ibm.sametime.userinfo.sa.STUserInfoSA StartWaitTime=0 StopWaitTime=0 Description=ST UserInfo
2. Changes in sametime.ini, which resides in the server data directory.
All the jobs removed from the meetingserver.ini are now launched in from the Sametime.ini. Here is an example for the new sametime.ini:
JAVA_APPLICATION_ARGS should be the server data path.
[STPOLICY] JVM_CLASS_PATH=/qibm/proddata/lotus/sametime/STCore.jar :/qibm/proddata/lotus/sametime/STPolicy.jar:$DOMINO_JAVA_PATH/Notes.jar :/qibm/proddata/lotus/sametime/console/console.plugins.jar :/qibm/proddata/lotus/sametime/console/admin.core.jar :/qibm/proddata/lotus/sametime/console/commons-codec-1.3.jar :/qibm/proddata/lotus/sametime/console/commons-httpclient-3.1.jar :/qibm/proddata/lotus/sametime/console/commons-logging-1.1.jar :/qibm/proddata/lotus/sametime/console/console.agent.jar :/qibm/proddata/lotus/sametime/console/consoleDepClient14.jar :/qibm/proddata/lotus/sametime/console/http.api.jar :/qibm/proddata/lotus/sametime/console/idle.jar :/qibm/proddata/lotus/sametime/console/JSON4J.jar :/qibm/proddata/lotus/sametime/console/xmlserialization.api.jar JVM_ARGS=-Xgcpolicy:gencon -Xmx128m -Xcompactgc JAVA_APPLICATION_MAIN_CLASS=com/ibm/sametime/policy/policysa/Launcher JAVA_APPLICATION_ARGS=/sametime/ist167/data [STPRSMGR] JVM_CLASS_PATH=/qibm/proddata/lotus/sametime/STCore.jar :/qibm/proddata/lotus/sametime/BLPresenceServicePublishSA.jar JVM_ARGS=-Xgcpolicy:gencon -Xmx512m -Xcompactgc JAVA_APPLICATION_MAIN_CLASS=com/ibm/sametime/buddylist /presenceServicePublishMangerSa/PresenceServicePublishSA JAVA_APPLICATION_ARGS=/sametime/ist167/data [STSUBMGR] JVM_CLASS_PATH=/qibm/proddata/lotus/sametime/STCore.jar :/qibm/proddata/lotus/sametime/BLFrontEndSubscriptionSA.jar JVM_ARGS=-Xgcpolicy:gencon -Xmx1024m -Xcompactgc JAVA_APPLICATION_MAIN_CLASS=com/ibm/sametime/buddylist/feSmSa/FrontEndSubscriptionSA JAVA_APPLICATION_ARGS=/sametime/ist167/data [STCMPMGR] JVM_CLASS_PATH=/qibm/proddata/lotus/sametime/STCore.jar :/qibm/proddata/lotus/sametime/BLBackwardCompatibilitySA.jar JVM_ARGS=-Xgcpolicy:gencon -Xmx512m -Xcompactgc JAVA_APPLICATION_MAIN_CLASS= com/ibm/sametime/buddylist/backwardCompatibility /BackwardCompatibilitySA JAVA_APPLICATION_ARGS=/sametime/ist167/data [STUSERINFO] JVM_CLASS_PATH=/qibm/proddata/lotus/sametime/STCore.jar :$DOMINO_JAVA_PATH/Notes.jar :/qibm/proddata/lotus/sametime/UserInfo.jar :$DOMINO_JAVA_PATH/jsdk.jar JVM_ARGS=-Xgcpolicy:gencon -Xmx128m -Xcompactgc JAVA_APPLICATION_MAIN_CLASS=com/ibm/sametime/userinfo/sa/STUserInfoSA JAVA_APPLICATION_ARGS=/sametime/ist167/data [STREFLECT] JVM_CLASS_PATH=/qibm/proddata/lotus/sametime/streflectorsa.jar :/qibm/proddata/lotus/sametime/STCore.jar JVM_ARGS=-Xgcpolicy:optavgpause -Xmx128m JAVA_APPLICATION_MAIN_CLASS= com/ibm/collaboration/realtime/multimedia/phonegrid/reflector/Launcher JAVA_APPLICATION_ARGS=/sametime/ist167/data/sametime.ini [STLinks] JVM_CLASS_PATH=/qibm/proddata/lotus/sametime/STLinksSA.jar JVM_ARGS=-Xgcpolicy:optavgpause -Xmx128m JAVA_APPLICATION_MAIN_CLASS=com/lotus/sametime/stlinks/sa/Launcher JAVA_APPLICATION_ARGS=/sametime/ist167/data/sametime.ini
3. Changes in STCommlaunch.dep.
# This is the OS/400 dependency file for StCommLnch.pgm SERVERAPP StCommunty SERVERAPP StConfig,StCommunty,SOFT SERVERAPP StLogger,StCommunty,SOFT SERVERAPP StPlaces,StCommunty,SOFT SERVERAPP StOnline,StCommunty,SOFT SERVERAPP StConfer,StCommunty,SOFT SERVERAPP StDirectry,StCommunty,SOFT SERVERAPP StChatLog,StCommunty,SOFT SERVERAPP StResolve,StCommunty,SOFT SERVERAPP StUserStg,StCommunty,SOFT SERVERAPP StPrivacy,StCommunty,SOFT SERVERAPP stcmpmgr,StCommunty,SOFT SERVERAPP StMux,StCommunty,SOFT SERVERAPP StAdminSrv,StCommunty,SOFT SERVERAPP stprsmgr,StCommunty,SOFT SERVERAPP StSecurity,StCommunty,SOFT SERVERAPP StFileTran,StCommunty,SOFT SERVERAPP stsubmgr,StCommunty,SOFT SERVERAPP StPolling,StCommunty,SOFT SERVERAPP stpolicy,StCommunty,SOFT SERVERAPP StUsers,StCommunty,SOFT SERVERAPP stuserinfo,StCommunty,SOFT SERVERAPP streflect,StCommunty,SOFT SERVERAPP stlinks,StCommunty,SOFT
Changes for PGMs and symbolic links. The Java Launcher for previous releases uses the Meetingserver Java Wrapper program STJAVAWRAP.PGM. All the related programs including STUSERINFO.PGM, STLINKS.PGM, STREFLECT.PGM, STPOLICY.PGM, STCMPMGR.PGM, STPRSMGR.PGM and STSUBMGR.PGM are symbolic links to STJAVAWRAP.PGM (see Figure 1).
Figure 1. Symbolic links example for previous version
After upgrading, the seven Java jobs use unique programs. There is also a new Meetingserver Java Wrapper program STCSJAVA.PGM, which was introduced in 8.5.2.
To examine the auto-restart function, we can manually end one of the seven Java jobs to observe the auto-restart processing.
1. Use the CL command
WRKDOMSVR (Work with Domino Servers) to list all the Domino Servers. Type 9 on the running Sametime server then press Enter to list all active jobs for this server (see Figure 2).
Figure 2. List all the Domino servers.
2. Type 4 on the one of the Java jobs, take STLINKS as the example (see Figure 3):
Figure 3. Find the Java jobs.
3. Press F4 to promote ending job options and enter
*immed instead of
*cntrld to end this job (see Figure 4).
Figure 4. End the job immediately
4. Watching the job status, you can see that the job status changes to END (see Figure 5). Then the job disappears from the active job list. Press F5 to refresh the list. The job is restarted automatically. It appears in the list again with the status THDW.
Figure 5. Observe the job status
When a user is offline or in the Do Not Disturb state, instant messages were not allowed and the sender has the option to send an e-mail instead. With Sametime 8.5.2 IFR, it is possible to send an offline message to the user. When that user becomes available, the pending message is delivered. This includes a case when the recipient added the sender to his privacy list. The new StOfflineMessages service application is introduced in order to support this new feature.
The following changes were made to the server:
- Changes in sametime.ini. There would be a new section for the new StOfflineMessage service application:
- Changes in StCommLaunch.dep. New line added at the end of StCommLaunche.dep for the new server application to launch last:
- New program
A new program STOFFLNMSG.PGM is offered from Sametime 8.5.2 IFR to launch the new StOfflineMessage service application. The Java job STOFFLNMSG also restarts automatically if it encounters problems.
- New IBM Lotus® Notes® database stofflinemessages.nsf on the server. A new Notes database stofflinemessages.nsf is offered to store the offline messages.
It is easy to examine the offline message function. Figure 6 shows an example for chatting with users in the Offline or Do Not Disturb status:
Figure 6. Send offline message when receiver is offline or in the Do Not Disturb state
The chat history view looks like Figure 7 shown below:
Figure 7. Receive offline message when receiver is available
The offline message indicator shows when the message was sent, and also when it was received. The timestamp on the transcript indicates the time sent, not received (in this example, the 10:50:13 and 10:51:24 timestamps).
Multi-file and folder transfer
In previous releases, Sametime did not support transferring several files at the same time. Users could only select or drag one file in the chat window, one at a time, and then send it to the chat partner. If the user wanted to send multiple files, they had to repeat the action for every individual file. Sametime also did not support folder transfer. If the user wanted to send a folder, they had to send files in that folder one by one, or compress the folder, then sent the compressed file. For the N-way chat, the file transfer button was disabled because Sametime did not support this function. Users had to send the file to all the participants using new one-on-one chat windows.
Starting with Sametime 8.5.2 IFR, it supports the transfer of multiple files and of folders and also provides file transfer ability in N-way chats. On IBM i, multi-file and folder transfers are identical with all other platforms. There is no server change necessary, except the added program name, which is STOFFLNMSG.PGM.
From the chat history and the Connect client, users should be able to send not only just a single file, but also multiple selected files, and even folders. There are three places to use this function:
From the one-on-one chat window:
- From the drop-down menu on a single selected contact (see Figure 8).
Figure 8. Sending files and folders from a one-on-one chat window using the drop-down menu
Figure 9. Sending files and folders by right-clicking a contact.
- From the Tools menu, when a single contact is selected.
Figure 10. Sending files and folders from the Tools menu
Before accepting multiple files or a folder, the window looks like below:
- For the recipient:
Figure 11. Windows for receiving files and folder.
- For the sender:
Figure 12. Windows for sending files and folder
When viewing the files in the chat history, you see individual files when they are sent, but just folders when entire folders are sent:
Figure 14. Windows for files and folder transfer in chat history
When users send one or more files to multiple users, the files show up in an n-way chat window (or in the bottom of the existing n-way chat window, if the chat was already in progress):
Figure 15. Windows for files transfer in an n-way chat
To support this new feature, we will also require several new policy settings:
- Allow transferring multiple files and folders
- Allow transferring files in n-way sessions
- Maximum number of users who can receive a file in an n-way session
The UI will look like Figure 15:
Figure 16. New policy settings for multiple files and folder transfers
As we can see from the preceding features, the newest version 8.5.2 and 8.5.2 IFR of Lotus Domino-based Sametime is rich with additional functionality, including the new Java Launcher, offline messages and multi-file and folder transfers. The user experience is enriched, especially on IBM I where the new Java Launcher significantly improves the high availability by avoiding server restarts for Java exceptions.