Documentation

Installing Jerry Messenger server
Configuring Jerry Messenger Server
Running Jerry Messenger Server
Set up a Web Chat on your web site
Installing operator software
 

Installing Jerry Messenger Server

All you need to do is to unzip the distribution. The top level directory should look like:

  • /bin contains scripts for starting/stopping Jerry Messenger Server (Windows and Linux)
  • /conf is the directory for configuration files.
  • /db is the directory for the Jerry Messenger database.
  • /docs contains Jerry Messenger documentation and  API javadocs.
  • /i18n contains translation files.
  • /images contains online and offline presence images
  • /lib contains all the jar files necessary to run Jerry Messenger Server.
  • /logs is the directory for the server logs.
  • /ssl is the directory for a SSL keystore files.
  • /web contains all of the web forms necessary for the web chat.

Note: You need Java SE 5 or above installed on your server.

Configuring Jerry Messenger Server

Note: The distribution has a preset configuration for two operators: Jerry (jerry@localhost) and Tom (tom@localhost). So you may start the Jerry Messenger server on your local computer and try it. Here is the documentation of  operator program  installation.

Jerry Messenger Server has two configuration files:

  • /conf/jerry.xml 
  • /conf/jetty.xml

Below is an example of jerry.xml configuration file. The highlighted values are the fields which you most likely need to tune up.

<!--  
Jerry listens to this port for management commands 
-->
<jerry port="7770">
	
	<!--  
	Jabber Server settings: 
		hostName - set up your host name which will be used for Jabber connection 
		port - default value is "5222" 
		openRegistration - setting it to "true" allows you to register a new Jabber
                                   user from Jabber client program.
		
		SSL: - (optional) SSL support for Jabber communications
			port - default value is  "5223"
			keystore - path to SSL keystore.
			keystorePassword - password to SSL keystore
	-->
	<jabber hostName="localhost" port="5222">
		<ssl port="5223" keystore="./ssl/testkeys"  keystorePassword="passphrase" />
		<openRegistration  value="true" />
	</jabber>
	
	
	<!-- 
	Jerry Messenger supports multiple accounts. Each account may have several operators. 
	You may create an account for each of department of your organization (sales, 
        technical support, billing, etc). 
 	Or you may create an account for each of your web sites. The solution depends 
        on your needs.
 	Jerry Messenger sends offline messages as well.
	If the all account operators are offline and 'email' is defined, the offline 
	message will be sent to this email address.
	--> 
	<accounts>
	   <!--
	   Account:
	   	name - unique account name (only letters, digits and '_')
	   	email - email address for offline messages (optional)	
	   -->	
	   <account name="sales" email="support@yourdomail.com">
	   	<!-- 
	   	Operators: 
	   		name - is an operator name used for the web chat.
	   		jabberID - is an operator Jabber address (you may use a name without domain).
	   		password - operator password (optional).
	   		order - position of the operator in a request list (optional).
	   	-->	
		<operator name="Jerry"  jabberID="jerry@localhost" password="demo" order="1" />
		<operator name="Tom"   jabberID="tom@localhost" password="demo" order="2" />
		
		<!--
		Web settings:
			language - path to language properties file.
			images - paths to online/offline presence images.
			param - set of parameters which are passed to the web pages. 
				You may add your own parameters as you need for the web pages 
                                customization.
		-->
		<web>
			<language fileCharset="ISO-8859-1" filePath="./i18n/english.properties" />
			
			<images>
				<offline filePath="./images/offlineHeadset.gif" />
				<online  filePath="./images/online.gif" />
			</images>
			
			<param name="encoding" value="UTF-8" />
			<param name="charset" value="UTF-8" />
			<param name="stylesheet" value="/css/blueStyle.css" />
			<param name="headerLine1" value="Live Support" />
			<param name="headerLine2" value="www.j-LiveSupport.com" />
		</web>
	   </account>	
	   
	   	
	<!--
	Operator Load Balancer:
	 	class - should be one of the predefined classes:
	 		"com.multisoftgroup.jerry.webchat.managers.balancer.FirstAvailableOperator"
	 	 	"com.multisoftgroup.jerry.webchat.managers.balancer.BalancedLoading"
	 	 	
		for more information, see Jerry Messenger API javadoc.
	-->
	<operatorBalancer class="com.multisoftgroup.jerry.webchat.managers.balancer.FirstAvailableOperator" />
	
	
	<!--
	Behavior settings of Jerry Messenger :
		closeOnBrowser - if true, the chat session will be closed if the visitor closed chat by clicking on [X] 
	-->
	<behavior>
		<closeOnBrowser value="false" /> 
	</behavior> 	
	<!--
	Mail Server settings:
		setting for JavaMail to send offline messages
	-->
	<mailServer>
		<param name="mail.host" value="localhost" />
		<param name="mail.from.name" value="Jerry Messenger" />
		<param name="mail.from" value="support@yourdomain.com" />
	</mailServer>
	
	
	<!--
	Plugins:
		for more information, see Jerry Messenger API javadoc.	
	-->	
	<plugins>
		<!-- 'ChatLogPlugin' creates a log file for each of web chat. -->
		<plugin class="com.multisoftgroup.jerry.webchat.plugin.ChatLogPlugin">
			<param name="path" value="./logs" />
		</plugin>
	</plugins>
</jerry>	

 

Jerry Messenger uses embedded Jetty web server. The value which you most likely want to set up in the  jetty.xml is the port number:

<Call name="addConnector">
      <Arg>
          <New class="org.mortbay.jetty.bio.SocketConnector">
            <Set name="port">8080</Set>
            <Set name="maxIdleTime">50000</Set>
            <Set name="lowResourceMaxIdleTime">1500</Set>
          </New>
      </Arg>
</Call>
....

For detailed information about jetty.xml see Jetty documentation.  

Note: All of the information in the configuration files is read at startup, so any change to the files necessitates a restart of the server.

 

Running the Jerry Messenger Server

Running Jerry Messenger Server is as simple as going to /bin directory and running:

startup.sh (Linux/Unix)
            or
startup.bat (Windows)

This will start the server. On a web page at: http://localhost:8080/infoPage you will see a list of all accounts defined in jerry.xml.
Also you may get a HTML code for WEB chat to insert into your web site.

Note:  JAVA_HOME environment variable should  point at your Java installation in order to start the server.

Jerry Messenger uses database in /db directory. The all operator related information is stored in this database. To clean up the database, just remove the all files in /db directory. A new database will be created automatically during  Jerry Messenger start.


To stop the server, run:

shutdown.sh  (Linux/Unix)
            or
shutdown.bat (Windows)

 

Set up a Web Chat on your Web Site

The http://localhost:8080/infoPage has a list of all accounts defined in jerry.xml configuration file. On this page there is a HTML code which you need to cut-and-paste into your web site page. This code is generated automatically depending on your Jerry Messenger account settings.

Note: If you made changes in the presence image size, you had to update the HTML code on your web site.

 

Client (Operator Program) Installation

Jerry Messenger uses standard Jabber/XMPP protocol, so you may use any of the hundreds Jabber Clients. The following screenshots were taken from different Jabber Client programs. You may use them as example to configure your client program.

Note: The operators' Jabber ID and password should be the same as in your jerry.xml configuration file in <operator ... />.

Exodus (http://exodus.jabberstudio.org/):

This is a screenshot of an account setup panel in Exodus client program:

 

PSI (http://psi-im.org/)

This is for PSI client software:

 

Pidgin (http://www.pidgin.im/)

This is for Pidgin:

 

 
Jerry Messenger Home | Documentation | Live Chat Screenshots | FAQ | Pricing | Contacts
 

Copyright 2006-2012 J-LiveSupport.com. All rights reserved.

 
Software Consultant -  Custom Software Development