Omega Chat

Technical features

OmegaChat is a java application built on top of NFChat. OmegaChat runs either in standalone mode or in servlet-embedded mode. For Http tunneling in servlet mode set the param name "tunnelOnly" to "true" at the end of applet.jsp in the web directory. "tunnelOnly" set to false is OK if you stay on a local network.

Installation

Prerequisites for OmegaChat:
Java Development Kit (http://java.sun.com/products/j2se/). You will need version 1.2.2 or higher. This is also known as J2SE (Java 2 Standard Edition).

Prerequisites for building:
Ant (http://jakarta.apache.org/ant/): You will need Ant to build the software. Ant is like Make, except it's specifically tailored for Java applications.
Make sure that both Java and Ant are installed properly. For Ant, you may have to set some environment variables like ANT_HOME and JAVA_HOME. Follow the instructions provided with Ant, then return to this document.
Once Ant and Java are installed, cd into the OmegaChat distribution directory and at your prompt, type: ant build.
This will compile all the Java, create JAR files, and finally create a WAR file.

Servlet-embedded mode:
To run in Servlet-embedded mode, you will need a Servlet engine. Tomcat is such an engine. You can download Tomcat from http://jakarta.apache.org/tomcat. Refer to the Tomcat instructions for installing Tomcat, then return to this document.
Once Tomcat (or any modern servlet engine) is installed, you can install OmegaChat by taking the omegachat.war file in webapps directory and copying it to the Tomcat webapps directory. The webapps directory is typically called webapps. [If you're running something other than Tomcat, refer to the vendor's documentation to figure out how to deploy a WAR file.]
When the WAR is in place, restart the servlet engine.
Test the installation by connecting to Tomcat with your web browser. Tomcat usually listens for HTTP connections on port 8080 or 8081 by default, so you would use a URL like this:
http://your-host.com:8080/omegachat/
If you see the login page, congratulations!

Standalone-server mode:
You have to edit the .bat file in the bin directory. Find the line that says JAVA_HOME=, OMEGACHAT_HOME=, etc. and change them so they point to the right directory on your machine.
Upon doing that, start the server with the RunServer.bat file.

Client installation:
If you have installed the WAR file (Servlet-embedded mode), then you're already done, the WAR comes with the applet and HTML/JSP pages pre-bundled. You can edit these pages as you see fit, or use them as examples to create your own. Note that by default, Tomcat will serve the index.jsp page to you.
If you are running in standalone server mode, you should copy the contents of the web directory onto your web server, and place the chatclient_awt.jar file there as well. Try to fetch client.html from your webserver and see if it works.
Finally, you can also run the client as a standalone application with the RunClient.bat file in bin directory. Make sure that JAVA_HOME= and OMEGACHAT_HOME= are properly set in gocli.bat file.

Advanced configuration:
This section explains how to change things like the default language, the listening port, and authentication.
All of the configuration is in a directory named conf. In servlet mode, use the conf directory in $TOMCAT_HOME/webapps/omegachat/conf; In standalone mode, use the conf directory in $OMEGACHAT_HOME/conf. In conf, you will find a file called nfc.conf. This is the main configuration file. You can easily change the listen port here. To switch the server to a new language, change the "commands" and "messages" variables to point to alternate files. For example:
commands=conf/commands.french.properties
messages=conf/messages.french.properties
Will make the server speak french instead of english. To add a whole new language, start with existing messages.properties and commands.properties, copy them to messages.[somelanguage].properties and commands.[somelanguage].properties, edit them, and then edit nfc.conf to point to them.
You will also need to change the messages.properties file for the client. This file exists under the resources directory. For the client, instead of editing a conf file, just copy messages.[somelanguages].properties on top of messages.properties, and the client will use those messages instead.

Process and Protocol Models:
Examples of predefined models of structured rooms can be found in the struct.conf.xml file in conf directory (and in the Documents section of this Web site).
Examples of application-specific protocol models can be found in the protocol.conf.xml file in conf directory (and in the Documents section of this Web site).
Predefined utterance types (for open floor structured phases) are specified in the utterances.conf.xml file in conf directory.
Please, read these configuration files and look at our research papers in the Documents section of this site for more details about process and protocol modeling in OmegaChat.