Chapter 37. Chat - org.csstudio.utility.chat

Table of Contents

Basic Usage
Sending Files
Individual Chats
XMPP Server Setup - Openfire
Chat Client Settings
Example using Pidgin

The Chat tool is a basic online group chat client for CSS. The emphasis is on use in a control room context:

Technically, it is an XMPP chat protocol client that can communicate with other clients that support the same protocol (Pidgin, Google chat, Mac OS iChat, ...).

Figure 37.1. Chat Client (left) communicating with Pidgin (right)

Chat Client (left) communicating with Pidgin (right)

Basic Usage

Start the chat client from the menu CSS, Utilities, Group Chat.

The suggested user name that is initially displayed in the Name: field of the chat tool is the name of the user logged onto the computer suffixed by the network name of the computer. The default password will be a dollar sign followed by the user name, and the tool will attempt to create an account for that user and password on the chat server. The idea is that most users can simply press the Return respectively Enter key in the user name field to log on with the suggested user name and password. Advanced users may enter a user name and password that was registered with the chat server by other means.

Once connected to the group chat, you can see other participants who are connected to the chat in the Participants list. Enter text to send in the Send: field, completing lines to send with the Return key.

Sending Files

By right-clicking on one of the entries in the Participants list you can access a context menu that allows you to Contact another chat participant. A separate chat panel will open for communicating with only that user, outside of the group chat. Note that the other participant will be asked if she accepts the invitation to an individual chat, and may decline.

Individual Chats

By right-clicking on one of the entries in the Participants list you can access a context menu with options Send File and Send Screenshot. When selecting to send a screen-shot, an image of your current desktop will be sent to the receiver. When sending a file, you will be prompted for the name of the file that you want to send. Note that in either case the receiving participant of the chat will be asked if she accepts the file that you sent, and may decline.

XMPP Server Setup - Openfire

XMPP is an open technology for real-time communication. More information can be found at http://xmpp.org, including lists of XMPP server implementations and other chat clients compatible with XMPP.

Openfire, available from http://www.igniterealtime.org/projects/openfire, is an open source, Java-based XMPP server for Windows, Linux and Mac OS X. For Windows, it includes an executable bin/openfire.exe to start and stop the server and to access its web interface via a Launch Admin button.

When starting Openfire for the first time, you need to configure the following via its web interface:

  • Domain - Set to either localhost for initial tests on one computer, or set to the complete and correct host name.
  • Database - Selecting the embedded database seems to work fine.
  • Administrator account - Use for example admin@localhost and a password of your choice.

From now on, to log into the admin web interface of Openfire, you have to use just admin and the password that you configured, not admin@localhost!

In the Openfire online admin interface you should check the setting under Server, Server Settings, Registration & Login. By default, users should be allowed to automatically create new accounts. The CSS chat client will use this option to attempt automatic account creation with the suggested user name and password as described in the section called “Basic Usage”. If you choose to disable automated account creation, you need to create user accounts in the Openfire admin interface.

The CSS chat client expects to connect to a chat room called css. From the Openfire online admin interface, select the Group Chat tab. Press Create New Room:

  • Enter css as the room ID.
  • You will also need to enter a room name, description and topic, which you can all set to CSS.
  • Under Show Real JIDs of Occupants to:, select Anyone. This will allow the chat clients to directly contact chat group participants for individual chats and file exchange.
  • Before you save the room settings, take note of the full name of the group chat. It should use the chat room ID followed by @conference and the host name of the server, similar to
    css@conference.localhost
    

To reset the Openfire configuration, for example after forgetting the admin password, stop openfire. In the file conf/openfire.xml, locate the setup entry. Set it to false, start Openfire again and when you now access the admin web interface, you can configure a new admin password.

Chat Client Settings

The CSS chat clients has the following preference settings:

  • chat_server - Host name that runs the chat server, for example localhost.
  • group - Name of the chat group to join, for example css@conference.localhost.

Example using Pidgin

Pidgin, available from http://pidgin.im, is an open-source chat client for various operating systems that can be used to test an XMPP server setup.

To configure Pidgin for a connection with Openfire, use the Pidgin menu bar to create an account with the following settings:

  • Procotol - XMPP
  • Username, password - Either enter a name and password that has already been added to Openfire, or enter a new name and password with the option to Create this new account on server.
  • Domain - Enter name of XMPP server host, for example localhost.

In the Advanced account setup panel, check that the XMPP connect port is set to 5222 and the file transfer proxies is set to the host name of your XMPP server port 7777, for example localhost:7777.