Co-browse servlet ver 3.0

    Web component implements co-browsing. You can open a session within this application, start your web surfing  and everybody who is running the same servlet and is joined to the same session will see your pages.

    So, how does it work ? Run the servlet. On the main screen you can create some session (channel, presentation). Just type the name for new session. As soon as you do that, everybody who is running the same servlet will be able to join  this session (channel). They need choose session from the list of opened sessions and type own nick name (for real-time chat).
    As a session owner you will see a list of users joined to your channel. Type some URL in the control frame. All your users will see the same. The browser on the client side doesn't need to be refreshed, your client will see the same page entered in your window without his doing anything! Hit any link on the requested page or type another URL and again your client will see it!
    And system supports real-time chat.  So you may discuss your surfing with participants.
 
Features:

There is no need to download and preinstall any plug-ins. It works through HTTP and will be Ok with your corporate firewall.
 

How to use it:

a) copy cobrowsePackage.jar into WEB-INF/lib directory

b) describe servlet in web.xml file. You must set an initial parameter for this servlet describes interface settings. Parameter name is config.

So for your web.xml you need to add some like this:
 


    <servlet>
    <servlet-name>Cobrowse</servlet-name>
    <servlet-class>com.jsos.cobrowse.CobrowseServlet</servlet-class>
    <init-param>
    <param-name>config</param-name>
    <param-value>path_to_your_configuration_file</param-value>
    </init-param>
    </servlet>

c) describe a mapping for this servlet in web.xml file. E.g.:
 


<servlet-mapping>
  <servlet-name>Cobrowse</servlet-name>
  <url-pattern>/servlet/Cobrowse</url-pattern>
</servlet-mapping>

d) run servlet: http://your_host/servlet/Cobrowse
 

    Configuration file is a text file, each line describes one parameter in the form of

    param=value

    Empty lines and any line starts with # or // are ignored. Current version supports the following list of parameters:

# working directory (cache) on your server. This parameter is mandatory
# Note: servlet will use this working directory for
# temp files only and all files from this directory will be deleted
dir=some_server_directory

# cookie support: 1 - enabled, 0 - disabled
# Default value is 1 (enabled)
cookie=1

# background for main frame (master and slave mode). Default value is #FFFFFF
bgcolor=#FFFFFF

# proxy settings. If your host needs proxy for access
# to the Net, you must describe proxyhost and proxyport
# The are no proxy by default.
proxyhost=your_proxy_host
proxyport=your_proxy_port

# foreground for main frame (master and slave mode). Default value is #000000
fgcolor=#000000

# background for control frame (master mode). Default value is #FFFFF
bgcolor1=#FFFFF

# foreground for control frame (master mode). Default value is #000000
fgcolor1=#000000

# background for control frame (slave mode). Default value is #D3D3D3
bgcolor2=#D3D3D3

# foreground for control frame (slave mode). Default value is #000000
fgcolor2=#000000

# font size (by default is current browser's font)
size=2

#font face (by default is current browser's font settings)
face=Arial,Times

# title. Default value is 'Coldbeans's co-browsing'
title=My slides

# header. You can set here some file contains any html-code. This code will be
# outputted at the beginning of the each page. So you can set for example some banners or CSS styles.
# By default this value is empty
header=path_to_your_file

# footer. You can set here some file contains any html-code. This code will be
# outputted at the bottom of the each page. So you can set for example some banners.
# By default this value is empty
footer=path_to_your_file

# enable/disable chat on slave sessions. Default value is 1 (chat is enabled)
chat=0

# define a list of sites available for cobrowsing. By default is empty (any site is available)
sites=commas_separated_list_of_URL's

# You may set parameters for chat's window as a set of JavaScript's attributes.
# Default value is:
# width=400,height=420,location=no,toolbar=no,menubar=no,scrollbars=yes,resize=yes
# E.g.:
chatwindow=width=300,top=100,left=50

# enable/disable DHTML for chat. Default value is 1 (enabled).
# For old browsers you may disable this
dhtml=0

# localization support. You can set character encoding for input parameters
# here. Default value is ISO-8859-1
encoding=Cp1251

Notes:
1. Configuration file can be saved anywhere on your server. Just set the proper path when you define an initial parameter for servlet.
2. If you are testing this servlet on the one box, make sure you run the second browser window in a separate process (otherwise you will get the same browser session). For IE check out for example Tools->Internet Options-> Advanced->Launch browser windows in a separate process.

Customization

You may rewrite intial dialogue. All functions (create a session, join to session) may be incorporated into your own pages. For running system functions you should just post an appropriate data to Cobrowse servlet. And servlet in your HTML forms will be used with some pre-defined query string.

Create a new session:
You have to post one parameter: ssnm - session name.
Optional parameter sites describes a commas separated list of URL's available for co-browsing.
The query string for servlet must be: a=nw

Join to existing session:
You have to post two parameters: ssnm and un. The first parameter describes session's name and the second is user's name.
The query string for servlet must be: a=jn

for example this HTML code connects user 'Guest' to the session 'test':
 


<form method="post" action="http://your_host/servlet/Cobrowse?a=jn">
  <input type="hidden" name="ssnm" value="test">
  <input type="hidden" name="un" value="Guest">
</form>
...
<script language="JavaScript">
  document.forms[0].submit();
</script>

 

    For downloading:    cobrowsePackage.jar  

 © Coldbeans     Comments?

See also JSOS - the largest collection of servlets and filters.


     

Also in Coldtags: