Slide servlet 3.0

It is a Java servlet allows you to share documents. How does it work? Run the servlet. On the main screen you can create some topic (channel, presentation). Type the name (let it be Acme presentation) and any password you will associate with this topic. As soon as you do that, everybody who is running the same servlet will be able to join  this topic (channel). They do not need password for this. Run the same servlet from the another box (or just simply in the another window). Join to Acme presentation topic. Go back to the main window, type some URL, e.g. http://www.servletsuite.coml (you can choose any of course) and press Go button. See - the same page will be opened in the any window is joined to this topic ! 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! Type another URL, (show your next slide), and again your client will see it! In other words, it is similar to PUSH. This is a main idea.

Features:

1. You can create script file with your slides. It is a text file located anywhere on your local box or on your server. Each line describes one slide (empty lines and lines starts with # or // are ignored) in the tab-separated format:
 


URL    Any mnemonic name

E.g.:
 


http://www.sun.com    Main Sun's site
http://java.sun.com    Main Java page
// etc.

Press Browse button, select your file and press Read  button. Now you can select pages from the list.

2. You can share local files. E.g. select any .doc file in the master window. The same Word document will be opened in the any joined browser.

3. As a presentation creator you can any time return back to the topic page (Re-enter) using the password you choose for this topic.

4. You can manage all topics using administrators password. See below how to set this password.

5. You can talk with presentation owner or with all participants (chat mode). This feature allows you for example surf the Net together with your friends and discuss visited sites.

How to use it:

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

b) define SlideServlet in your web.xml file:
 


    <servlet>
     <servlet-name>SlideServlet</servlet-name>
     <servlet-class>com.jsos.slide.SlideServlet</servlet-class>
    </servlet>

c) define a mapping:
 


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

the usage is:
 


    http://your_host/servlet/SlideServlet

    Configuration file for your slide show must be included as an initial parameter for this servlet. Parameter name is config. So in your web.xml you must have some like this:
 


    <servlet>
     <servlet-name>SlideServlet</servlet-name>
     <servlet-class>com.jsos.slide.SlideServlet</servlet-class>
    <init-param>
     <param-name>config</param-name>
     <param-value>path_to_your_configuration_file</param-value>
    </init-param>
    </servlet>

    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 specified working directory for
# temp files only and all files from this directory will be deleted
dir=some_server_directory

# administrator's password. Default value is welcome
admin=your_secret_word

# frames (how to split screen).

# master screen. Default value is 65%,35%
frame1=70%,30%

# slave screen. Default value 80,*
frame2=70,*

# chat screen. Default value is 80%,20%
frame3=80%,20%

# screen's background (default value is #FFFFFF)
bgcolor=#FFFFFF

# screen's foreground (default value is #000000)
forecolor=#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

# server side file with scripts (or directory with text files)
# By default this parameter is empty and you will be able
# to load script file from your local drive.
script=your_file_or_directory

# title. Default value is 'Coldbeans slide'
title=My slides

# head. 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.
# By default this value is empty
header=path_to_your_file

# timeout (client's refresh time) in seconds. By default this value is 15
timeout=15

# How to open non-html document. 0 - open in the browser, 1 - open in the
# separate window. Default value is 0
window=0

# Collaboration mode. 0 - only owner can suggest new sites/documents.
# 1 - any participant can suggest new site/document.
# Default value is 0
mode=0

# How to logout. 0 - keep your topic, 1 - close topic after logout.
# Default value is 0
logout=0

# Chat mode. Default value is 0 (no chat). 1 - chat is on
chat=1

# You may set parameters for chat's window as a set of JavaScript's attributes.
# chatwindow1 - for owner's chat
# chatwindow2 - for client's chat
# Default values are:
# chatwindow1=width=530,height=400,location=no,toolbar=no,menubar=no,scrollbars=yes,resize=yes,top=30,left=30
# chatwindow2=width=630,height=400,location=no,toolbar=no,menubar=no,scrollbars=yes,resize=yes,top=30,left=30
# E.g.:
chatwindow1=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

# chat's timeout in seconds. Default value is 10
timeout1=10

# In the chat you can use special color for owner's messages.
# Default value is #FF0000 (red).
forecolor1=#FF0000

# Messages per screen in the chat. Default value is 30.
messages=20

# Size for messages input field in the chat. Default value is 35.
msglen=40

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

# log file. You can provide here a name for your text file for logging
# all the activity. By default this parameter is empty (no log).
# Log file record format: topic, the name of your script file, URL, time stamp
log=your_file_here

# log file for chat. You can provide here a name for your text file for logging
# all the messages from chats. By default this parameter is empty (no log).
# Log file record format: topic, user name, message, time stamp
chatlog=your_file_here

# how to proceed records selected from the script file.
# If this parameter is 1 than as soon as you select some page from
# the script your topic will be automatically redirected to that page.
# Otherwise you will be able to edit your selection and press Go after that.
# Default value is 0.
fastclick=1

# how to display available pages in the selected script.
# If this parameter is 0 than slides will be visible in the dropdown list.
# If this parameter is 1 than slides will be visible in the Prev -Next style.
# Default value is 0.
pages=0

# translation. You can provide here a path to some text file with your
# own static text labels. This feature lets you for example translate
# (localize) user interface.
translation=path_to_your_file
 

Notes:

1. Slide's configuration file can be saved anywhere on your server. Just set the proper path in your web.xml file.

2. Evaluation version restricts size for your script files.

More about scripts

Script is a text file with a list of slides (some like scenario). You can load such text files from your local drive or from your server. Parameter script can describe a path to some text file (script) on your server or a path to some directory on your server. In case of directory servlet lets you load all the files with .txt extension from the given directory.
Without the parameter script (default behavior) you will be able to load files (scripts) from your local drive.

Customization

You may rewrite the initial dialogue. All functions (create a topic, re-open existing topic, join to topic) may be incorporated into your own pages. For running system functions you should just post appropriate data to SlideServlet.

administrative console:
You have to post two parameters: wrk and pass. The first parameter must have value admin, and the second is administrator's password.

create a new topic:
You have to post four parameters: wrk, tpc1, pass and pass1 The first parameter must have value create, the second is session's name and the last two parameters are equals and the value is session's password.

join to existing topic:
You have to post two parameters: wrk and tpc. The first parameter must have value jn, and the second is session's name.

re-open existing topic:
You have to post three parameters: wrk, tpc and pass The first parameter must have value rntr, the second is session's name and the last one is session's password.

close (delete) existing topic:
You have to post three parameters: wrk, tpc and pass The first parameter must have value close, the second is session's name and the last one is session's password.

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


<form method="post" action="http://your_host/servlet/SlideServlet">
  <input type="hidden" name="wrk" value="jn">
  <input type="hidden" name="tpc" value="test">
</form>
...
<script language="JavaScript">
  document.forms[0].submit();
</script>

Translation.

It is a text file, each line looks like so:

standard_key=your_repalcement

Keys are: Topic, Url, File, Script, Chat, Logout, Clear, Read file, Read script, Go

For example, your file may define so:
 


Url=Website
File=Send File
Script=My presentation
etc.

 

    For downloading:   slidePackage.jar

 © Coldbeans     Comments?

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