PreviousNextUpFAQ Table of Contents

New Features

12 March 2001 - Version 2.1.10

The following list describes each of the changes in VolanoChat 2.1.10. This version fixes bugs in the VolanoChat server which could allow non-Volano clients to perform operations not permitted by the VolanoChat, MyVolanoChat and WebVolanoChat applets.

Close connections sending multiple access requests.
Modified the VolanoChat server to close any connections which send in more than one access request. Such connections are closed with status code 400 (Bad Request).
Close connections sending multiple enter room requests.
Fixed the VolanoChat server to allow a particular connection to put only one user into a room at a time and to remove that user regardless of the user name provided when leaving the room. Connections are closed with status code 400 (Bad Request) when there is an attempt to put more than one user at a time into a room.
Close connections sending empty user names or chat messages.
Changed the VolanoChat server to trim specific received strings of leading and trailing blanks. If certain required strings subsequently have zero length, the connection is closed with status code 400 (Bad Request).
Check for empty password.
Fixed a bug that could allow non-Volano clients to obtain monitoring privileges when the server-wide monitor password was set to an empty string.
Check for name spoofing.
Fixed bugs which could allow non-Volano clients to send in messages as if they were someone else.
Put IP addresses back into profile fields for monitors.
Changed the monitor and administrator interface so that the IP addresses of visitors are displayed in the status area along with the other profile information as they were before version 2.1.8. The Identify menu item is removed since it is no longer needed.
Enhance administrator control of monitoring applet interface.
Changed the applet default values for the Remove, Kick, and Ban menu item text to a zero-length string so that their display can be controlled only through the properties file on the server. With this change, the menu text cannot be brought back in the applet by removing the text applet parameter.
Fix NullPointerException in BannerPlayer applet.
Changed the BannerPlayer applet to check whether it successfully loaded a banner image before trying to remove it when the chat room window is closed. Without this change, the BannerPlayer sometimes reported a java.lang.NullPointerException in the Java Console when it was unable to display a banner image and the chat room window was closed.

16 November 2000 - Version 2.1.9

Added a new applet property page.exit.error for the VolanoChat and MyVolanoChat applets, allowing you to display a specific Web page when the applet windows are closed after being disconnected. The page.exit property defines a Web page to be displayed when a visitor ends the connection to the VolanoChat server by closing the applet's windows. The page.exit.error property defines a Web page to be displayed when a visitor closes the applet's windows after being disconnected from the VolanoChat server.

28 October 2000 - Version 2.1.8

The following list describes each of the changes in VolanoChat 2.1.8. This version allows VolanoChatPro customers to set up an environment in which monitors are much less likely to share their monitoring capabilities with others. This version also includes changes to prevent private chat flooding and to restrict access to visitor's IP address information.

Added limit on received private chat requests.
Modified the VolanoChat, MyVolanoChat and WebVolanoChat applets to check the private room limit, defined by the limit.private applet property, when receiving private chat indications in addition to the check when sending private chat requests. This check prevents non-Volano clients from opening up an unlimited number of private chat windows on the system of someone using a Volano client.
Added property for restricting IP address information.
Added a VolanoChat server property, address.broadcast, to determine whether the VolanoChat server sends the client applet's host name or IP address to all other clients (when true) or avoids sending the information (when false). The default value is false. The default value of the property prevents people from obtaining IP addresses using TCP/IP trace tools or non-Volano clients.
Added new menu item for monitors and administrators.
Added an Identify menu item to the People menu of the VolanoChat applet for monitors and administrators. When selected for a user in a chat room, it returns the host name or IP address of the user. The menu item contains the text defined by the text.menu.people.identify applet property, and the information is displayed using the template defined by text.status.identify.
Added support for membership-based monitors. (VolanoChatPro only)
Added support for a list of member monitors, defined by a new server property member.monitors. The value of the property is the name (or path) of a file containing the list of member monitors, with one name per line. The file allows you to specify a list of your members who may act as monitors instead of, or in addition to, using the server-wide monitor password server.password. If a member acting as a monitor kicks or bans another person from the VolanoChatPro server, the member name of the monitor is recorded in the access log file in addition to the monitor's IP address (which has always been logged).
Added property for setting case sensitivity in member monitor names.
Added a server property member.monitor.matchcase which determines whether to match the case of the member names when looking up member monitors in the list. The default value is false, in which case both the requested member name and the list are converted to lower case characters before comparing their values. Otherwise, the names are matched in a case-sensitive manner when true.
Added property for preventing multiple member monitors with the same name.
Added a server property member.monitor.multiuse which, when set to true, allows more than one person with the same member name to be signed into the server at the same time. The default value is false, which disconnects any other person using the same member-monitor name when a member signs in as a member-monitor.
Added property for enabling monitor interface.
Added a new applet property member.monitor which enables the monitoring user interface in the VolanoChat applet when true, but allows it to work only for authorized member monitors.
Added check to prevent kicking of monitors.
Monitors and administrators can no longer remove, kick, or ban other monitors or administrators.
Changed applets to replace non-breaking space character.
Added the non-breaking space to the default value of the character replacement properties char.replace.old and char.replace.new so that it cannot be used to simulate a new line in a chat message. By default, the non-breaking space, line feed, and carriage return characters within a message are replaced by a normal space character.
Added property for restricting administrator connections.
Added a server property admin.client.host which restricts connections to the administrative port to a particular client IP address or host name. The default value is 127.0.0.1 (localhost). An empty value allows connections to the administrative port from any client, but the password defined by admin.password is required (as in earlier versions) in order to run COM.volano.Status or COM.volano.Shutdown on the VolanoChat server.
Added check for non-Volano clients sending administrator broadcasts.
Modified the VolanoChat server to make sure administrator broadcast messages do not specify a room name, solving a problem with some non-Volano client applications.

03 July 2000 - Version 2.1.7

The following list describes each of the changes in VolanoChat 2.1.7.

Fixed "exception: java.lang.NullPointerException".
Fixed the bug where Internet Explorer displays the message, "exception: java.lang.NullPointerException", and Netscape displays, "Applet COM.volano.VolanoChat can't start: ERROR", if any of the VolanoChat applet true or false properties are left undefined in its properties file.
Added internal default applet property values.
Added internal default values for all of the applet properties to the applets themselves, including the boolean and text properties, so that the applets will function even when they can't load their properties file.
Fixed a bug in member-only access security.
Fixed the server so that it doesn't depend on the client to close the connection when a member tries to enter with an incorrect member name or password. This bug could allow a non-Volano client applet or application to enter the VolanoChatPro server as a non-member even with "member.only=true".

10 May 2000 - Version 2.1.6

The following list describes each of the changes in VolanoChat 2.1.6.

Fixed idle timeout in MyVolanoChat
Fixed the MyVolanoChat applet to respond to keep-alive messages from the VolanoChat server. This bug was introduced in VolanoChat 2.1.4 when code was added to allow the MyVolanoChat applet to enter an event auditorium as an audience member. The bug turned the internal dead session timeout into an actual idle timeout, causing end users to be disconnected by default after 20 minutes if they didn't type any messages. The fix lets the MyVolanoChat applet respond to the internal messages so that end users are not disconnected.

09 May 2000 - Version 2.1.5

The following list describes each of the changes in VolanoChat 2.1.5.

Support for Netscape 6 Preview Release 1
Modified the VolanoChat applets to work with the Sun JDK 1.3.0rc1 virtual machine available with Netscape 6 Preview Release 1 on Windows.
Ignoring keys
Added the applet properties key.ignore.alt, key.ignore.ctrl, key.ignore.meta, and key.ignore.shift to specify which key combinations should be ignored by the applets. For example, you can block the keyboard shortcuts Ctrl-V and Shift-Ins for pasting text into a text field on Windows.
Replacing characters
Added the applet properties char.replace.old and char.replace.new to specify a list of characters which should be replaced with new values in each chat message. For example, you can specify that a new line or carriage return character be replaced with a space so that messages from one user cannot be made to appear to be from another.
WebVolanoChat title label
Added a parameter title to the WebVolanoChat applet which allows you to replace the room name title at the top of the applet with a text string of your own.
BannerPlayer initial display
Modified the BannerPlayer applet to repaint the banner after a navigation bar has been added so that the banner displays in the correct location. Otherwise, the first banner displayed by the applet instance was placed too far down when there was a navigation bar and the image was already loaded.
BannerPlayer image observing
Modified the banner component of the BannerPlayer applet to stop observing images after it is no longer being displayed. This should greatly reduce the memory used by the BannerPlayer applet when displaying many animated GIF images.
BannerPlayer caching
Modified the banner component of the BannerPlayer applet to flush its image after it is no longer being displayed when caching is disabled, rather than flushing it before the image is loaded.
Membership lookup as NT Service
Fixed the VolanoChatPro server to avoid a java.lang.NullPointerException when looking up membership information while running as a Windows NT Service.
java.lang.IllegalArgumentException: port out of range: -1
Fixed the VolanoChatPro server to avoid a java.lang.IllegalArgumentException by setting the default HTTP port to 80 when invoking the member access and member name CGI scripts.

15 November 1999 - Version 2.1.4

The following list describes each of the new features in VolanoChat 2.1.4.

Timeout and trace for member database scripts
Added the server properties script.timeout and script.trace. The script timeout specifies the number of seconds that the VolanoChatPro server will wait for a response from the member access and member name scripts before giving up. The script trace specifies whether or not to trace HTTP requests and responses from the member access and name scripts. If the access script times out, the requesting member name and password is denied access as a member. If the name script times out, the name is permitted even if it happens to be a member name.
New browser window for Web pages
Added an applet property page.newwindow. When true, the applet opens a new browser window to display Web pages defined by the page.access.* and page.exit properties using a target name of _blank. When false, the applet displays these pages by replacing its own page.
Customizable room sweep interval
Added a room.sweep.interval server property to define the interval in minutes at which the list of rooms is swept for those that are empty and not referenced by visitors.
Blocking dynamic rooms
Added a room.nodynamic server property which prevents the creation of any dynamic chat rooms when set to true since there are ways to work around the Web page referrer access control.
Easier event moderation
Changed the event moderator interface to add questions at the top of the list so that the moderator does not need to scroll down as each new question is posted.

The following list describes each of the bug fixes and other minor enhancements in VolanoChat 2.1.4.

Flashing list of names
Fixed the flashing of the list of names when someone enters or leaves a room in the VolanoChat, MyVolanoChat, and WebVolanoChat applets. The flashing was due to a change made to work around bugs in the first release of Internet Explorer 4.01, but the latest Microsoft VM for Java for that browser (VM Build 4.79.0.2436) fixes the problem.
MyVolanoChat for event audience
Fixed the MyVolanoChat applet so that it can enter an event auditorium as an audience member. It was hanging after pushing the button on the Web page when incorrectly trying to process its own enter room indication as a normal enter room confirmation.
WebVolanoChat for event audience
Fixed the WebVolanoChat applet to work correctly when used by someone in the audience of a moderated event.
WebVolanoChat private chat limits
Fixed the WebVolanoChat applet to check the limit.private property before allowing private chat sessions.
WebVolanoChat and member profiles
Fixed the WebVolanoChat applet to use the profile returned by the membership access script unless the member provides a new profile before entering the room. A profile specified as a WebVolanoChat parameter on the Web page overrides a profile returned by the membership access script, and allows the member to enter the room automatically as soon as the page loads.
WebVolanoChat disappearing names
Fixed a bug in the WebVolanoChat applet in which a name could disappear from the list even though the person was still in the room.
WebVolanoChat name list width
Set the list of users in the WebVolanoChat applet to a width of 20 columns, since it shows up too small on the Macintosh with its default width.
WebVolanoChat member links
Fixed the WebVolanoChat applet to links to the member document script.
WebVolanoChat colors
Fixed the WebVolanoChat applet to set the background and foreground colors of each component explicitly, rather than letting the browser decide whether to inherit the colors from the parent panel. Now all of the components of the WebVolanoChat applet will be set according to the applet font, background color, and foreground color properties.
WebVolanoChat editable names
Fixed the WebVolanoChat applet so that the name field is editable when the editable.member.name property is set to true, even if the username parameter is defined. Note that if both the username and profile parameters are defined on the Web page, the visitor enters the room automatically regardless of the setting of editable.member.name and editable.member.profile.
Recommended applet archive
Changed all sample applet tags to use the JAR file instead of the ZIP file for the applet archive, since we now recommend using the JAR applet archive in the applet tag.
WebVolanoChat and Java 2
Fixed a bug in the WebVolanoChat applet which caused it to hang when stopped while running under the JDK 1.2.2 appletviewer.
Improved Netscape Navigator 2.02 support
Modified the VolanoChat applet to work around a Netscape 2.02 bug which causes the list of rooms and list of users on the main window to get all messed up when refreshed.

27 May 1999 - Version 2.1.3

The following list describes each of the new features in VolanoChat 2.1.3.

WebVolanoChat applet
Added the WebVolanoChat applet which places the public chat room directly on the Web page itself. The applet allows for the automatic entrance of pre-defined users directly into the chat room. See the WebVolanoChat Applet chapter for additional information.
Embedded logo applet
Modified the VolanoChat applet to allow a Java applet to be embedded in the logo area of the main window as an alternative to the single logo image. See the VolanoChat Properties section for additional information on the new logo applet properties.
Menu links
Modified the VolanoChat and MyVolanoChat applets to allow a list of Web links defined by the server administrator to be added as a menu on the main window and public chat room menu bars. See the VolanoChat Properties section for additional information on the new menu link properties.
Removing menu items
Modified the VolanoChat and MyVolanoChat applets so that they remove the menu or menu item when there is no text defined for it in their properties. This enhancement allows the server administrator to remove functions from the applet on different entrance pages.
Web Touring
Added a Web touring option to the VolanoChat and MyVolanoChat applets which automatically opens the Web browser to a Web address typed in a chat message when the option is enabled. The default setting of the option can be configured by the server administrator.
MyVolanoChat hidden prompts
Added a prompt parameter to MyVolanoChat which causes the applet to hide its name and profile prompts when the username parameter is defined. See the MyVolanoChat Parameters section for additional information on the new parameter.
Web page text color
Added a foreground parameter to VolanoChat and MyVolanoChat, allowing the Web page author to set the foreground text color of the applet on the Web page in addition to the color background setting. See the VolanoChat Parameters section for additional information on the new parameter.
Web page display on exit
Added a page.exit property to the VolanoChat and MyVolanoChat applets which can be used to define a Web page to be displayed when the applet closes. See the VolanoChat Properties section for additional information on the new property.
Time stamped messages
Added a date variable to the format.chat.public and format.chat.private chat message log formats, allowing each logged message to be time stamped in the log file. See the Server Properties section for additional information on the new formats.
Status area mouse cursor
Modified the status area to display a west resize mouse cursor to make it more apparent that it can be moved to the left and right.
VolanoChatPro Client API
Added the constants REMOVE, KICK, and BAN to the Server class for the kick method call.

02 February 1999 - Version 2.1.2

The following list describes each of the new features in VolanoChat 2.1.2. There are no changes to the server or applet properties between VolanoChat 2.1.1 and VolanoChat 2.1.2.

Memory Usage
This update can dramatically decrease the memory usage of the VolanoChat server if your server runs with hundreds of public rooms and a large number of connections per day. Memory usage is about the same for a small number of public rooms or few connections per day.
ProxyServlet
Fixes problems when using the proxy servlet to display banner advertisements from remote cookie-based ad servers such as LinkExchange, Flycast, and DoubleClick.

06 January 1999 - Version 2.1.1

The following list describes each of the new features in VolanoChat 2.1.1, the first release of VolanoChat 2.1.

Event Moderation (VolanoChatPro Only)
Added support for large events where moderators select questions from the audience for forwarding to guests in an interview. See the new chapter Hosting Moderated Events for additional information.
Chat Message Logging (VolanoChatPro Only)
Added server-side logging of chat messages by room type, with user-defined formatting of each chat message. See the new section Logging Chat Messages for additional information.
Server-Side Event Notifications (VolanoChatPro Only)
Added room-based server-side event notifications, with servlet registration of a callback URL and notifications sent in XML by an HTTP POST request. See the new section Listening for Events for additional information.
Public Personal Rooms (VolanoChatPro Only)
Added a new VolanoChat applet parameter named public, allowing personal rooms to be added to the list of public rooms available in the VolanoChat server.
Two-Tier Membership (VolanoChatPro Only)
Allowed for the member access script to decide whether or not the member link should be displayed along with the profile.
Web-Based Applet Configuration
Added a new applet configuration servlet, allowing modification of all VolanoChat applet properties by submitting a form on a Web page. See the new section Web-Based Configuration for additional information.
BannerPlayer and ProxyServlet Enhancements
Made major modifications to the banner player applet and proxy servlet to support cookie-based ad servers such as LinkExchange, Flycast, and DoubleClick. See the new chapter Using Remote Ad Servers for additional information.
Applet Resources
Made all applet resources, such as Web pages, images, and sounds, relative to the location of the applet properties file instead of relative to the applet code base. Embedded applets also obtain their resources relative to their properties file instead of the actual code base.
New page.use.document.base Property
Added the property page.use.document.base to allow the applet's Web pages to be loaded relative to the document base instead of the code base.
Sun JSDK 2.0 Upgrade
Upgraded to Sun's Java Servlet Development Kit (JSDK) Version 2.0 for the VolanoChat server's embedded Java servlet runner.
HTTP Keep-Alive Support
Modified URL invocations in the server to support HTTP keep-alive connections when invoking member database scripts, server-side event listeners, and proxy servlet connections.

PreviousNextUpFAQ Check HTML Table of Contents