Escolar Documentos
Profissional Documentos
Cultura Documentos
User Guide
ChatBlazer 8.5 User Guide 2009 Pendulab Pte Ltd Version: 8.5.002 Last Update: 2009-08-10
content
content.................................................................................................... 2 foreword ........................................................................................ 4 operating requirements .................................................................... 5 Server-side Requirements ........................................................................ 5 software package ............................................................................ 6 Files in the Package................................................................................. 6 installation ..................................................................................... 8 By Installer............................................................................................ 8 Manual Installation.................................................................................. 8 Step 1 Unzipping of the Downloaded Package ............................................. 9 Step 2 Transferring Files to the Server ...................................................... 9 Step 3 Verification ................................................................................10 Deploying the Administrator on the Web ....................................................10 starting the ChatBlazer server ..........................................................12 Command-Line Startup...........................................................................12 Windows Service ...................................................................................14 Unix System-V Initialization Startup..........................................................14 Stopping the ChatBlazer server ................................................................14 Running with SQL Database Connectivity Module.........................................15 configuring the server.....................................................................16 Parameters in the Configuration File..........................................................16 Modules ...............................................................................................20 Allowed Domains ...................................................................................21 Chat Message Logging ............................................................................22 managing ChatBlazer .....................................................................24 Understanding Administrator Module Hierarchy ...........................................25 Using the Administrator module ...............................................................26 setting up the chat client .................................................................60 Setting up ChatBlazer in a Popup Window ..................................................60 Setting up ChatBlazer Embedded in an existing HTML ..................................60 Setting up client.html .............................................................................61 Setting up Custom Avatars ......................................................................62
Setting up PicShare................................................................................63 Understanding the Client Configuration......................................................63 advanced features ........................................................................64 Setting Up Media AV Plug-In ....................................................................64 Using the SQL Database Connectivity Module .............................................64 Using the ServerDev Module....................................................................71 Setting up ChatBlazer server and client on different machines/servers ............71 Integrating ChatBlazer with LDAP .............................................................72 troubleshooting..............................................................................78 Installation Issues..................................................................................78 Usage Problems.....................................................................................78 Support ...............................................................................................80 appendix.................................................................................................. 1 Log Message Types ................................................................................. 1
software architecture
foreword
Christopher Low
CEO Pendulab Pte Ltd
operating requirements
operating requirements
Server-side Requirements
Supported operating systems: Windows 2003/XP/2000/NT/98, Red Hat Linux, Fedora, CentOS and other Linux variants, Free BSD, Open BSD, and other UNIX variants. Minimum Java 1.5 (and above) installed Minimum 128MB RAM Approximately 10 MB of hard disk space for the installation of the ChatBlazer files Network connection with allowable port passage, if running ChatBlazer 8 behind a corporate firewall. For Linux-based and UNIX systems, user permission to run long-running processes. For Windows OS, user permission to create and run Windows Services.
software package
software package
The package name you downloaded indicates the modules that you have purchased. The package name pattern is as follows: cb8_ORDERID.zip
Description Directory that contains the ChatBlazer Administrator client Directory contains all client-side files, including resources (banners, sound clips, emoticons) and online help files. This directory should be copied or moved to your public web directory directory (public_html, Inetpub, etc.) on your server. Contains the user guide and any additional addendums based on modules purchased Contains application scripts to be installed in your media streaming server, e.g. Adobe Flash Media Server, Wowza Media Server. This is applicable only for the Media AV plugin.
docs/
media/
software package
server/
Directory contains all the server-side files, essentially the ChatBlazer server files. It should not be in a public directory or your WWW directory as it contains sensitive information about your chat system Application used for registering ChatBlazer as a Windows service License information for ChatBlazer and third-party software components General information file This important file highlights the exact details of your purchase, including domain(s) licensed, modules, user limit, etc. Check this file to verify that the package corresponds to your purchase.
winsvc/
license.txt
readme.txt package.htm
installation
installation
By Installer
If you are using our installer (by InstallShield), you have to upload the installer to the server where the software will be installed. Please check that Java is already installed on your server before you run the installer, as it requires Java to run. If Java is already installed, check also that the Java executable is included in your PATH environment variable. The rest of this chapter covers a manual (do-it-yourself) installation of ChatBlazer 8.
Manual Installation
There are three categories of servers where ChatBlazer files are most likely to be installed. Server located at your premises Co-located dedicated server Virtual account server
Installation to each of the type of server is essentially the same, with some minor variations. Differences will be noted in the installation process. There are three steps to the entire installation process. 1. Unzipping of the downloaded package to a directory on your machine. 2. Transferring the files to the server that is going to run the ChatBlazer server. 3. Verifying that files are correctly transferred to the destination server.
installation The definition of installation here means that all the necessary files are transferred or moved to its appropriate destination, e.g. a directory on your server. It does not include starting of the ChatBlazer server, which is covered in the next chapter.
UNIX users should use the mkdir command in their home directory.
Step 2 Move the downloaded ChatBlazer software package into the newly created directory. Step 3 Launch a ZIP utility (such as Winzip, PKZip, etc.) and unzip the files into the current directory where the package is.
UNIX users should be able to run the utility unzip.
Step 4 Check the content or file listing of the new directory. It should contain the files as stated in the Software Package chapter.
installation Alternatively, you can copy all the files in the client directory to your webserver directory. You should do this if you do not want your users to access a sub-directory to get to the chat site, e.g. http://www.yourdomain.com/client.
If your server is not located within your area of work, you will need to use a file transfer utility to transfer the files remotely. A common way of doing so is to use FTP, i.e. using an FTP client. Other methods like doing a Network Drive Mapping are also possible.
If you use FTP, please be careful to transfer all files in Binary mode, with the exception of text files. Text files can be transferred in ASCII mode. Text files usually have the extension HTML, INI, TXT, XML, etc.
Step 3 Verification
After you have unzipped the files to your server, which could be the same machine that had downloaded the software package, you need to verify that the files retain the same naming and casing. You can get the correct filenames from the Software Package chapter. One common fault is that filenames are automatically truncated to an 8.3 (DOS) format.
For UNIX users, the unzip utility has been known to convert all filenames to lowercase by default. You have to ensure that the utility preserve the casing of filenames when unzipping.
installation
href="cb8admin.jnlp"> The codebase attribute is what you need to fill in based on your server setup. It is the URL path to the cb8admin.jnlp file in the admin directory. 3. Browse to the Administrator page using your web browser, e.g. http://www.mydomain.com/chat/admin/index.html. You should be able to see a Launch button. If not, it probably means that JWS is not installed in your computer. 4. After you have clicked on Launch, JWS will install and run the Administrator. There may be a prompt requesting for certain permissions to be used by the Administrator. You have to grant this request or else the Administrator client may not run properly. 5. JWS gives you the option of creating a desktop shortcut for the Administrator application. You can do so to easily open the application next time. Otherwise, to open the Administrator, you can either go to the Administrator page as in Step 3 or launch it from the JWS control panel.
Figure 1. Java Web Start installing the Administrator application
11
After you have correctly installed the ChatBlazer files, the next step is to start the ChatBlazer server. As explained in our Software Architecture chapter, ChatBlazer is a client-server software. You need to start the server in order to allow chat users to communicate with one another. The ChatBlazer client runs on your users web browsers as a normal Flash application while the ChatBlazer server runs on your server machine as a Java process.
Command-Line Startup
The command-line startup option can be used on a remote machine, be it virtual or dedicated. Open a shell session as described in the previous section, whether using Telnet, SSH, PCAnywhere, etc. Navigate to the server directory where you had transferred unzipped all the class files.
Startup/Restart Script
There are separate scripts available for Unix-based systems and Windows servers. For UNIX-based systems, there is only a single file, cb8svr.sh. For Windows, it is startsvr.bat. You should always use either of these files to start or restart the ChatBlazer server, as they will setup the right runtime environment for running the ChatBlazer server, e.g. including runtime Java libraries.
Windows > startsvr.bat Unix > ./cb8svr.sh start
Note the difference between the Unix script and the Windows one. For the Unix script you have to include the start argument. You dont have to do so for the Windows script.
12
The scripts accept one optional argument, the TCP port that the ChatBlazer server ought to use. Specifying the port in the command-line will override the port value set in the server configuration file. Example:
Windows > startsvr.bat 19001 Unix > ./cb8svr.sh start 19001
Windows Executable For the Windows operating system, there is a Windows executable for those who are more familiar with this. Open up Windows Explorer, go to the server directory and double-click on cb8svr.exe. It should open up a command prompt window and the window should remain open. If the window closes, it means there was an error starting the ChatBlazer server.
Environment
To ensure that the scripts run correctly, you should set the JAVA_HOME variable in the shell. To see if this variable has been set, you can run the following commands.
Windows > echo %JAVA_HOME% Unix > echo $JAVA_HOME
If you do not see any output, then the variable is most probably not set. To set this variable, you need to know the installation directory of Java on your server. Then run the following commands.
Windows > set JAVA_HOME=c:\jdk1.5.0
For Windows, this environment variable can also be set in the Control Panel, under the System item.
Unix > JAVA_HOME=/usr/java/jdk1.5.0 > export JAVA_HOME
You can insert these commands into the above script files, before the lines where the scripts check for the existence of the JAVA_HOME variable.
13
Windows Service
The ChatBlazer 8 Server can be setup to run as a Windows Service. This provides the benefits of having the server start automatically whenever there is a reboot and not having the need to have a console window opened while the server is running. For more instructions on how to setup the service, refer to the instructions given in the winsvc directory.
The script will read your configuration file for your ChatBlazer port and prompt you for your administrators username and password.
14
15
You configure the operational parameters of the ChatBlazer server by changing values in its configuration file, conf.xml found in the ChatBlazer server directory.
The table below enumerates the parameters found in conf.xml. Not all the parameters may be relevant to you as some of them depend on whether you have purchased certain modules.
You may find that some of the parameters are similar to those in previous versions, with the exception that underscores in parameter names have been replaced with dots.
16
Parameter Startup
Value
Description
true or false Determines if a client accessing from localhost is permitted to connect. This setting should only be enabled for testing purposes, otherwise it could pose a serious security risk for your chat system. Set to no when going live. Determines if you want to allow users into your chat system when their IP address cannot be identified. Some users might make use of firewalls to prevent their IP address from being revealed. Bans a user when server detects that the user is sending illegal or out-of-order messages by adding the users IP address to the exclusion list. This setting is usually left blank for the ChatBlazer server to use the default IP address. For multihomed servers, this can cause the ChatBlazer server to bind itself to any or all of the available IP addresses. To avoid this, specify a single IP address to bind the ChatBlazer server to. Ignore the IP exlusion list. Setting this to no can be useful if you have accidentally banned yourself. This parameter specifies the domain whereby all your chat sites can access. This is useful when you have a domain that is used to setup a chat site temporarily or for testing purposes. This domain must be one of the site domains licensed to you. Matches clients site ID with the sites specified domain value. For example, if site CBS1 has domain value mydomain.com, and if this value is true, clients can only connect from mydomain.com.
allow.localhost
allow.unknown.client
true or false
banOnHacking
true or false
bind.ip
single IP address
bypassIPBan
true or false
master.domain
match.site.domain
true or false
17
moderator
true or false
Determines whether to activate the moderator plug-in. Applicable only if you have the moderator plug-in. Primary port used by the ChatBlazer server to receive incoming TCP connections. This is the number of seconds between intervals when the ChatBlazer server purges idle connections. A connection is considered idle if no data has been received since the last scanning. The number of rooms a user can create. 0 means that a user cannot create any room, while a negative number implies no limit. Allow a user of the same name to login immediately again if the new login has an identical IP to the existing user in the system. This allows abruptly disconnected users to log back in again without the usual timeout delay. Assigns the next site created with the lowest possible Site ID value Loads room history from the database, this only works if you have the SQL DC module. Default room settings to apply for a newly created system room Currently, the only parameter understood is : history Same as above, but for user-created rooms. If false, presence is not sent whenever someone joins or leaves a room. This is used for large scale moderated events where it is not important to know all the users in the room.
port
any number between 0 and 65535 any number greater than or equals to 30
scan.interval
user.createRoomLimit
number
user.sameIPLogin
true or false
reuseSiteID
true or false
room.loadHistory
true or false
room.systemDefaults
parameters
room.userDefaults sendPresenceOnJoinRoom
Logging
18
configuring the server system.log.level all, debug, info, warn, error or fatal Determines the system logging level of the ChatBlazer server (not chat message logging). The logging levels are : all debug info warn error fatal
system.log.out system.log.format
stdout, stderr, Specifies where system log messages or filename should be written. format of logs Specify the format of the logs. eg. [%-5p %d{yyyy-MM-dd HH:mm:ss}] %m%n -5 pad with spaces %p error type %d date where the format of the date is specified within {}. %m message %n new line
system.log.rolling
true or false
Determines if new logs are written every midnight and old logs are time stamped. Toggles chat message logging. Toggles user access logging. Output chat transcript and user access logs to the database instead of text files. Valid only for SQL module. Log your users' private chat conversation. Rotate log files on a specified rotation basis. If this is disabled, log filenames are based on the date the ChatBlazer server is started. Log rotation frequency : 1 daily 2 weekly (week starts Sunday) 3 weekly (week starts Monday) 4 monthly
log.private
true or false
log.rotate
true or false
log.rotate.period
1, 2, 3 or 4
Server Scheduling
19
configuring the server schedule list of <unit> elements Format of <unit> element: <unit value=D:SSSSEEEE /> D Day unit, value of 0 to 7, where 0 is everyday, 1 is Sunday, 2 Monday, and so on to 7 for Saturday. SSSSEEEE Start and end time in 24hour representation. This setting allows you to program the time availability of your chat service on a weekly basis. Your chat service is available (meaning clients can connect to the ChatBlazer server) if it satisfies at least one time entry. Please note that this setting does not start your ChatBlazer server process nor shuts it down, it merely dictates when to accept connections. Do not specify any <unit> elements for the chat service to be available all the time. Example : <schedule> <unit value=0:18002200 /> <unit value=6:00002359 /> </schedule> This makes the chat service available everyday from 6pm to 10pm and all the time on Friday. Usage report interval
Number
When deciding on a port for ChatBlazer to use, you should avoid using a port number in the same range as the commonly known privileged ports, e.g. 0 to 1024. A number above 1024 should be safe. Consult your server administrator on this matter if necessary.
Modules
The availability of the modules depends on whether they were purchased. All modules have the following format: <module name="nameOfModule" active="1"> ... modules parameters ...
20
</module> The active attribute indicates that the module is activated if its value is true and deactivated if its value is false, in fact, any other value.
Module sql Description SQL Database Connectivity module allows your server to connect to existing database. Instant Messaging module allows your users to keep a list of buddies. Users are able to chat with their buddies without entering a room. Only members are entitled to the functions of this module. Audio/Video Streaming module allows your users to share and view live audio/video streams. Encryption module encrypts all messages sent to and received from the ChatBlazer server for greater security. LDAP module provides another user authentication mechanism for organizations that use LDAP directories for managing user information. ServerDev module that allows you to issue commands to ChatBlazer server and retrieve information on your current chat status without using the administrator module. Flood Control module protects your chat system from flooding attacks by malicious users. The module is highly configurable and its parameters are described in the configuration file itself.
im
streamav
encryption
ldap
serverdev
flood-control
Each module may have its set of parameters. The parameters should come with descriptive comments on what it does and how it can be modified.
The modules available depend on the type of server package you have purchased, Server, Pro or Enterprise.
Allowed Domains
Each purchase of a ChatBlazer server license comes with a number of website-licenses that you can operate your chat network on. This number is equivalent to the number of chat sites that is allowed on your chat network.
21
This allows you to host your chat clients on a number of different domains as specified by the license you've purchased. The list of domains licensed to you is found in the file domains.ini. These entries are prepared beforehand and are specific to the ChatBlazer package you downloaded. Entries within this file are encrypted and should not be tampered with. You should not make any changes to this file unless told specifically to do so. We understand that you may not have all the domains in mind when you bought ChatBlazer. Hence, whenever you want to add a chat site and its domain to your network that is not already included in the file, email us the domain or use our support forum to contact us. We will provide you the encrypted text value to append to this file. You do not have to restart the ChatBlazer server. It will detect the change in the file and react accordingly.
Log Files
Each site of your chat network will have its own log files. Log files are written in ASCII text format in the sites sub-directory of the ChatBlazer server directory, e.g. /home/myname/chatblazer8/server/CBS1. For purchases of the SQL database connectivity module, you have the option of writing the logs to ASCII text file, as per normal, or to the database itself. The filename format of a chat transcript log file is : chat_lYYYYMMDD.log The filename format of a chat transcript log file is : user_YYYYMMDD.log If the ChatBlazer server is restarted on a date when a log file already exists, new entries to the log file are appended. If you did not enable log rotation, log files are written once when the ChatBlazer server starts. This means that the ChatBlazer server will not write another log file for every day that transpires. Suppose you start the ChatBlazer server on 5 September, and again on 21 September. The chat transcript logs for the period between 5 and 21 September are only found in one file, chat_020905.log. This is the same for user access logs.
22
Log files are written in CSV format, each column is double quoted. A double quote in a value is escaped by a preceding double quote. The explanation of logging fields is given in the Appendix of this document.
23
managing ChatBlazer
managing ChatBlazer
After you have installed the ChatBlazer files and successfully started the ChatBlazer server, your next task will be to manage your ChatBlazer network. This includes the process of creating chat sites, modifying each site to tailor to its specific user group and so forth. Each ChatBlazer server license allows you to operate a chat network. This chat network consists of a number of chat sites as stipulated by the number of website licenses you have purchased. Each chat site can have its own settings, rooms, banners, emoticons, etc. and be completely independent of other chat sites on the same network.
Figure 2. A typical multi-site ChatBlazer network
The next section will describe the ChatBlazer administrator module hierarchy to allow you to gain a better understanding of the different administrator functions in Chat Blazer.
24
managing ChatBlazer
The Group Administrator (GA) is the lowest level administrator. The group administrator has slightly less administrative power than the site administrator. Its main functions are to create rooms and users and to manage them. Now that you have understood the ChatBlazers administrator module hierarchy, the following sections will cover in detail all the functions you can perform with the administrative modules to build your desired chat network.
25
managing ChatBlazer
Enter your ChatBlazer Server details: hostname or IP address at which the server is located and the port number at which the server is running. To login as a CA, you can use the default login username admin with password admin. You can use the Administrator client to change this after logging in. CA accounts can also be defined in the server configuration file. Please refer to the chapter on Configuring the Server. To login as a SA or a GA, you will have to enter your login name and password assigned to you by your CA. As a SA or a GA, you will have to choose the site that you are entering. After logging in, you are presented with the main control interface.
26
managing ChatBlazer
Figure 4.
In the main control interface, which is the left panel of your administrator module, you will be able to navigate to the general areas where you can administer your chat network. 1. Global Settings 2. Site Manager
27
In this node, you can see the list of sites that are in your chat network, and the number of users currently in each chat site. To create a site, click on the Create Site button near the bottom of the window. In the dialog that follows, enter the sites name, add its domain from the list of domains and then click Create. When the ChatBlazer server acknowledges the creation of the site, it will appear in the list of sites. You do not have to assign the site a Site ID. It will be given automatically by the server.
28
managing ChatBlazer
Figure 6.
Sites Panel
For a site, you can use any name as its identifier. However, for the site domain, it must be the one of the domain values provided to you upon purchase (or on subsequent addition). The site domain identifies the website that the chat site is on and will not permit entry to users accessing the chat site from other domains. This domain can be different from the domain that you are using the CA, thus in a sense, you are building multiple chat sites across many websites.
Upon initial installation and first usage of the Site Manager, you will not see any sites on the list because none has been created yet.
For example, suppose your chat site is on http://www.mychatsite.com. You can use My Chat Site as the sites name but the domain value must be www.mychatsite.com. The www. prefix is optional for the domain value, this means you can use mychatsite.com for the domain value also. Other sub-domains like www2. or chat. must be specified. Each chat site can have multiple domains. Suppose a chat site has the domains domain1.com and domain2.com, users on both websites can access the same chat site.
29
managing ChatBlazer
When a site is first created, it does not have any room. It is important that you create at least one room for a newly created site for the flash client to login. If you do not create any room for a site, users accessing the site will not see any room appearing in the room list when they connect to the chat site and hence cannot login. See the next sub-section on the Room Manager for details on how to create a room. To delete a chat site, select one from the list and click on Delete. Be careful when you want to delete any chat site, all its corresponding data will also be deleted as well. Some of this data includes the sites rooms, users and their profiles. To modify the name or domain of a site, select an existing site from the list first. Change its name or add / remove domains from it. Click Save when you are done making the change. The change will then be saved and effected immediately.
All data associated with a site will be deleted when you delete the site. The ChatBlazer server will not perform any backup for you. Please do your own backup should you want to. For a text database, you can easily copy the data directory found in the ChatBlazer server directory. For an SQL database, you have to migrate entries associated with the sites ID to a backup database or other secondary tables.
To manage a site itself, expand the sites node on the main control panel. For each site, you can perform up to 5 site-specific functions, as indicated by the available sub-nodes under this node. An SA will only see the first 4 functions and a GA will only see the first 3 functions.
Functions Rooms Users User Groups Broadcast Statistics Widgets Site Settings (only applicable for Chat Hosting module) Description To create rooms and room groups and modify room settings. To manage the population of registered members with a chat site and assign members to user groups. Create and manager user groups. Create and edit broadcast messages for a site. Provides runtime statistics of the chat system Manages widgets To modify site-specific settings and permissions.
The functions described above are given in details in the following subsections.
30
managing ChatBlazer
To create a room for a site, follow the steps below: 1. Select the Rooms node under the site node in the main control panel. 2. In the Rooms panel on the right panel, select the site ID and rightclick. 3. Select Create from the popup menu and a Create Room/Group dialog will appear. 4. Enter the room/group name, select the appropriate type and click the Create button.
31
managing ChatBlazer
If the room is successfully created, it will show up in the room list. The Rooms panel only shows the rooms for the site that was selected. It does not show all the rooms in all your chat sites.
Figure 8. Create Room/ Group popup menu
Figure 9.
32
managing ChatBlazer
Figure 10.
In Figure 10, the number in square brackets, [1010], is the rooms ID. The number in round brackets (0) indicates how many users there are in the room. The room tree view shows all the rooms found in the chat site, even private rooms. The other functions found in the right-click popup menu are described below.
Function Rename Description Type in the new name and press Enter to rename the room or group. Removes a room /group from the chat site. The room must first be empty of users. This change is permanent and will be saved by the ChatBlazer server. All rooms under the group will also be deleted. Kicks all users from the room. All users in the room will be logged out. However, any administrator in the room will not be removed. Moves a room/group up the hierarchy under its parent group. Moves a room/group down the hierarchy under its parent group. Closes a room to prevent any user from entering the room. Current users in the room are unaffected. But if they change room, they cannot return to the room if it remains closed. Opens a room that has been closed.
Delete
Purge
Open
33
managing ChatBlazer
Monitor Room
Send Message
Joins the room silently so that you can see all messages being sent. Normal users in the room are unaware of your presence in the room. Sends a message to the room. If you have selected a room group, the message will be sent to all rooms and groups under it. Removes all files uploaded by users into this room Removes all media items in the rooms Media Library
Group Settings
The Group Access Permission panel is used to modify access settings specific to a room group. Remember to click Apply to save your changes. The list of changes you can make is given below.
Function Allow Access to Guests Allow Access to All Members Description Check this if you want the rooms in this group to be accessible to all guests and members. Check this if you want the rooms in this group to be accessible to all members but not guests. This will include members who do not have permission to access this room, as specified by the User Manager. Determines if spectators can login to the rooms in this group. Check this if you want the rooms in this group to be accessible to all members in its parent user groups.
Allow Access to Spectators Allow Access to Parent User Groups Figure 11.
34
managing ChatBlazer
Allow private chat Monitors join room silently Enable whiteboard User Limit
Message History
Password
35
managing ChatBlazer
Logout URL
URL that a user will be redirected to upon logging out of this room. This is useful when you want different logout pages for different interest groups in your chat site. Message that will be displayed whenever a user logs into a room.
Welcome Message
Figure 12.
Media Settings
This panel determines the multimedia settings for the room.
Function Enable File Library Enable AV Library Description Turns on / off the File Library feature for this room Turns on / off the AV Library feature for this room (available only for Media AV plug-in)
36
managing ChatBlazer
Besides turning either library on or off, you can configure the permissions required for a user to be able to upload a file or add a media clip to the library. If the library is turned on but all the permissions are unchecked, it means only the Chat Administrator or Site Administrator can upload files.
Figure 13. Media settings. In this example, both libraries are turned on. For the File Library, guests are not allowed to upload files. For the AV Library, monitors, moderators and speakers cannot upload or add AV clips.
37
managing ChatBlazer
The image filename of the banner. The URL to open when the person clicks on the banner. The window at which the target URL will be opened. URL will be opened with a _blank target window if not specified.
Figure 14.
Day of Week
38
managing ChatBlazer Start Time Time to open the room based on 24hr representation. E.g. To open a room at 10.00 P.M, you should put 2200. Time to close the room based on 24hr representation.
End Time
Figure 15.
Moderator Settings A room can be configured as a moderated room. In a moderated room, messages from users do not go straight back to the room. It goes to a moderator that is hosting the room and optionally to a speaker. Messages are then replied to and sent back to the room from the moderator or the speaker.
Function Set as Moderated Room Pass remaining messages when leaving Allow whispering among Users Description Check this if you want the room to be a moderated room. Determines if moderators pass any remaining messages when they stop moderating or logout.
This setting permits or disallows normal users from whispering to each other when there is a moderator in the room. This is useful when you want to forbid private communication between your users during a moderated session.
39
managing ChatBlazer
Permits audio or emoticon messages to be sent in a moderated room. Such messages are not moderated and are sent straight to the chat room. Determines if users entering a room can talk. If not, their text input boxes are disabled. This setting affects where messages are directed when there are no moderators in the session. If checked, messages are buffered on the server and will be sent to the next incoming moderator. Messages are not sent to the room or to speakers directly, as is the behavior when this is not checked. If enabled, every speakers reply is sent only to the originator of the message / question. Used to determine the number of passes a message requires before being shown in the room or sent to the speaker. For example, if the pass ratio is 1, and the room has 3 moderators, only one moderator needs to pass the message for it to be shown. You can use percentage as well. For a pass ratio of 66%, again with 3 moderators, two are now required to pass the message for it to be shown. Use 0 to indicate that all moderators have to pass a message.
In a moderated event with many users, thus many messages, it is useful to limit the number of messages that a moderator may see at any one time, so that the moderator is not overwhelmed by the number of messages.
40
managing ChatBlazer
Figure 16.
If you have purchased the Media AV plug-in, the following set of options is available to you. Remember to click Apply to save your changes.
Figure 17. Room Audio/Video settings
41
managing ChatBlazer
Description Check this if you want the room to be an Audio/Video room. In an A/V room, users can initiate A/V sessions with each other. Determines the type of AV room. For One-to-One, only private AV sessions are allowed. For multi-party A/V conferencing, choose Many-to-Many. The Speaker Broadcast mode is active only if the room is moderated. When this is chosen, only users who are of Speaker type can stream out, i.e. broadcast. Other users can only receive the broadcasted AV stream. Check this if you do not wish to enable video streaming in this room. Check this if you wish to allow only users with A/V capabilities (usually an installed webcam) to enter the room. Check this if you do not wish to allow users without webcam to view others broadcast streams. Such users can still enter the room. Automatically start receiving audio-video streams when joining the room. This setting is used only in a Many-to-Many AV room. This determines the number of AV views (video clips) that a single user can view at any time.
AV Type
Audio Only
Only users with webcam can enter Users without webcam cannot join broadcast Auto-Start Max. Views Per User
42
managing ChatBlazer
Figure 18.
User Manager window shows members and their assigned groups and roles for a chat site
Creating Users To create a new user, click on the Create User button at the bottom of the window. Follow the dialog that opens: 1. Profile Enter the user name and password. If you want the user to be able to access all your rooms, check the Can access all rooms box. If you have enabled the Chat Usage Timer feature, you can specify a different value for the usage time this user has. Leaving this blank means the user has an unlimited time. If you specify 0 (zero), it means the user has run out of usage time and will not be able to login to the chat system. 2. User Groups Assign this user to any user groups that you have. You will learn more about User Groups in the following Users Group section. 3. Roles Assign roles to this user based on the rooms that you have. If you check Monitor on the sites row (e.g. CBS2), this means the
43
managing ChatBlazer
user is a monitor for all the room in the site. If you select a room group, e.g. Staff Rooms, the user will be a monitor for all rooms under that group. Please note that the Moderator and Speaker roles are mutually exclusive, a user can only be either or none, but not both.
Figure 19. Dialog for creating a user
44
managing ChatBlazer
If you have the Chat Hosting module, you can assign your members as site administrators.
45
managing ChatBlazer
Once a user has been created, you can assign the user to other user groups available. To do that, follow the steps below. 1. Click on the users name and right-click. A popup menu will appear. If you have not retrieved any user from the database, you will have to click on the Retrieve button. 2. Select Assign Groups. A separate popup menu showing the list of user groups will appear. 3. Select the group that you wish to assign this user to and click Add. Click on Save to save the newly assigned users.
Figure 20. Dialog shows list of user groups that you can assign a user to.
Remember to always click on Save after you have finished making changes in order to update the ChatBlazer server. Using the Filter The filter allows you to retrieve user records based on names, roles and the user groups they belong to. Name searches are case-sensitive. Names can contain two basic wildcards, * and ?, e.g. sam* will retrieve names like sam and samuel. You can send more than one name pattern, each separated by a space or a comma. For the role-based filter, checking on multiple boxes means that a user only needs to fulfill one of the roles being filtered.
46
managing ChatBlazer
If you specify both a name pattern and a role, a qualified user will need to satisfy both criteria. For example, sam* and checking Monitor means only user names of the pattern sam and assigned a Monitor role will be retrieved.
Figure 21. User Manager in View by Rooms mode window shows members who have access to the selected room. Notice that you cannot add or edit a member info in this mode.
47
managing ChatBlazer
To rename a group, click on the Rename button and use the dialog window that appears.
Figure 22. User Groups Manager
Figure 23.
48
managing ChatBlazer
When you have created a user group, you can assign it access to certain rooms or room groups that you want. For example, you only want members in the Premium Members group to access the Premium Members Only room. 1. Select the user group you want to assign access to. 2. In the Grant Access to Room / Group panel, click on any of the room group that you want to be assigned. 3. Click on Apply when you are done. Access permissions granted to a room group is automatically given to all child room groups. Look at the figure below for an example.
Figure 24. Use the lower right panel to assign rooms or room groups to the selected user group in the list. Here, the selected user group Staff has access to the room group Staff Rooms as well as the room Customer Support. Selecting a room group (e.g. Staff Rooms) implies that all child rooms and room groups are also given access.
Managing Broadcasts
The Broadcast Manager provides a convenient way to send messages to your users at specific times. You can specify the year, month up to the exact minute of when the message is to be broadcasted. This differs from the banner slideshow that you can configure in the Room Settings window.
49
managing ChatBlazer
To formulate a broadcast message, perform the following steps. 1. Give the message a unique identifier by keying it in the Message ID text field. This identifier must not already exist in the list of message IDs on the left side of the window. 2. Select the groups and/or rooms that the message should be broadcasted to. If you select a group, all sub-groups and rooms under the group will automatically receive the broadcast. Hold down the Control key to deselect an item. 3. Input the time interval. The format of a time interval is given below.
Time Interval ::= < minute list | * > < hour list | * > < day list | * > < date list | * > < month list | * > < year list | * > minute list ::= < minute > | < minute > , <minute list > hour list ::= < hour > | < hour > , < hour list > day list ::= < day > | < day > , < day list > date list ::= < date > | < date > , < date list > month list ::= < month > | < month > , < month list > year list ::= < year > | < year > , < year list > For day, 0 means Sunday, 1 Monday, and so on to 6 for Saturday. A time interval has 6 time units as stated above, each unit can either be a list of valid numbers or an asterisk, to indicate all. For example, a time interval * * * * * *, means that the message is broadcasted every minute. 0 16 * 1 8 2002 will broadcast a message at 4pm on August 1, 2002. 15,45 * 1,5 * * * will broadcast a message at the 15th and 45th minute of every hour on Monday and Friday.
4. Indicate the title of the broadcast message in the Title text field. 5. Include an image to be displayed with the message. This image should not be an absolute URL (e.g. http://mydomain.com/image.gif) but it is relative to the sites directory on your web site, e.g. http://mydomain.com/chat/CBS1/. You should only need to specify the filename itself. This entry is optional. 6. Enter your message to be broadcasted. This message can be omitted provided you have specified an image in step 5. 7. Click on Add to effect the change. 8. Click on Save to send the list of messages you have created to the server to be stored permanently. If you only click Add without clicking Save, the messages are not actually stored on the server.
50
managing ChatBlazer
When you make any changes to an existing message, remember to click Apply to effect the update before you select another message from the message list.
Figure 25. Broadcasts panel lets you create site-wide or room-based broadcast messages.
51
managing ChatBlazer
General Settings
The General window allows you to configure settings that will affect your whole chat network. All the chat sites will adopt the settings you define here. To effect the changes you have made, click on Save. The list of settings that you can define here is listed below.
Setting Administrator Accounts External Data Source Reserved Names Description Create username and password for administrators to login.
Specify a URL that the server will call to pull your user data. See below for more details. Specify a list of names that users cannot use to as their login name. If enabled, rooms created by member users will not be deleted when their creators log off. The rooms are saved in the system. If enabled, files that are uploaded by guests during their sessions will be automatically removed when they logout. Files uploaded by members will always have to be removed manually. Even though the Audio Effects feature can be disabled using the client configuration, the feature can still be used by other means. This effectively disables the feature regardless of whatever the user tries.
User-created rooms are permanent Delete files uploaded by guests upon logout
Enabled audio effects Same as above but applicable for private chat sessions in private chat Max. Rooms Created Maximum number of rooms that a normal user can create from Per User within the chat client Max. Length of Guest Maximum characters allowed for a guests login name Name Min. Vote(s) to Kick This sets the number of votes a user must receive in order to be User kicked out of the room as part of the Vote-to-Kick feature. Chat Usage Timer Feature
52
managing ChatBlazer
Enable Chat Usage Timer Time Limit For Guests Time Limit For Members
This turns on or off the Chat Usage Timer feature. This feature effectively makes your chat system a time-based, pay-per-use chat system. Time limit guests are given when in seconds. In Figure 25, you can see that guests are given 15 minutes of chat usage time. Time limit members are given in seconds. Leaving this blank means members are given unlimited time. For members, their remaining time usage is tracked in the database.
The Chat Usage Timer feature is usually used in conjunction with the EAI plugin when integrated with a portals payment and processing system. Refer to the UPDATE_USER command in ServerDev to see how you can update a users remaining time in real-time.
53
managing ChatBlazer
Figure 26.
54
managing ChatBlazer
55
managing ChatBlazer
IP Exclusion
Figure 27. IP Exclusion panel
Users with their IP addresses found in this list will not be allowed to connect to your chat sites. Each entry can be either a single IP address or a range of IP addresses. For example, a single IP address can be 169.192.1.1, while a range of IP addresses can be 169.30-40.*.*.
Profanity Manager
The Profanity Manager sets the profanity detection environment for your chat network. Profanity detection uses powerful word-matching achieved by utilizing Unix-style regular expressions.
56
managing ChatBlazer
Figure 28.
For chat hosting, if a sites profanity permission is disabled, it will adopt the settings set here by the CA. The functions you can perform here are listed below.
Function Add Description Add a profanity expression to the list. You can only add a single expression at any one time. Entries can be a single word or a Unix-style regular expression.
57
managing ChatBlazer
Delete
Profanity Expression A profanity expression can be a simple word, a phrase or a regular expression. To specify a regular expression, the value must be prefixed with a /, e.g. /foobar Some common expressions that you can use are listed below. foo Look for foo anywhere in a message. /^foo Look for foo at the beginning of a line. /foo$ Look for foo at the end of a line. /\bfoo\b Look for foo with space or nothing on both sides. /foo\b foo at end of a word. /\bfoo foo at start of a word. The topic of regular expression is too lengthy to cover in this documentation. A search on the Internet will bring up several useful tutorials covering basic usage of regular expressions.
58
managing ChatBlazer
Widgets
The Widgets feature is a major enhancement of ChatBlazer 8.5. With Widgets, you can now add your own functionality and interactive userinterfaces into the ChatBlazer client itself. The possibilities of widgets are only limited by your imagination!
Figure 29. Manage your sites widgets
In the Administrator client, the Widgets manager is only meant for you to specify widgets that require data to be saved. Otherwise, a widget that only has short-lived (session) based data and does not require any data to be saved does not have to be specified here. The button Create Widget does not actually mean that a widget is created, rather a widget record will be created in the database which allows the widget to be able to save data. Detailed information from instructions on how to create a widget to installing your widget and presenting it to your users are out of the scope of this user guide. The information will be available in a separate manual.
59
The chat client is fully configurable via a configuration XML and some parameters via its container HTML. Both may be static or dynamically generated as desired. This chapter describes the configurable options used in these two files.
2. Insert within the <body> </body> tag Copy the lines starting from <!-- START COPYING INTO <BODY> TAG --> to <!-- STOP COPYING INTO <BODY> TAG --> and paste into your HTMLs <body></body> tags, at the location where the application is desired to be located.
Setting up client.html
client.html is the container for the ChatBlazer Flash client. It contains several parameters in the form of Javascript variables as listed below. All paths stated below are relative to the host HTML. Full URLs are expected if the files are hosted on different domains.
Variable Name sourceBase Description Base URL of ChatBlazers SWF files. This is required only when client.html and ChatBlazer8.swf reside in different locations. This URL must end with a /. Note that this variable is defined at the top of client.html, separate from the other variables. e.g. http://demo.chatblazer.net/chat/ Main configuration XML file which defines the clients behavior. Dynamic URLs are accepted to generated customized configurations. e.g. config.xml e.g. config.php?user=myname&password=mypass Path to language file. Defaults to English if not specified.
mainConfig
mainLang
e.g. lang/client-en.xml Name of skin file to use. This is available only in hosting accounts. Valid values include: classic, alien, bluesky. This is left blank when the default skin is to be chosen. Direct Login to Chat directUsername Username used for direct login (where applicable). directPassword Password used for direct login (where applicable). Direct Entry to Room Upon Login roomPassword Password of room for use in direct entry (where applicable) roomID Direct entry to room with room ID, overrides value in config.xml roomName Direct entry to room with room name, overrides value in config.xml Direct Entry to Private Chat mainSkin
61
Channel ID of private chat to enter directly. This is used only when the server script pre-creates a private chat session. Preloader Look and Feel logoPath Path of logo which will be displayed in the foreground of the preloader. Only SWF, GIF, PNG, JPG accepted. bgPath Path of background which will be displayed behind in the preloader. Only SWF, GIF, PNG, JPG accepted. bgColor Color of background to show before any background image is loaded. E.g. #FFFFFF for white barColor Color of the progress bar. E.g. #0000FF for blue textColor Color of the text in the preloader. e.g. #000000 for black User Profile Import profileAvatar Import users avatar. Full path to the image is recommended. profileReal Import users real name to profile. profileGender Import users gender to profile. profileAge Import users age to profile. profileEmail Import users email address to profile. profileDOB Import users date of birth to profile. profileCountry Import users country to profile. profileScript Defines a specific path for each users profile page. e.g. /phpBB3/cbuserinfo.php?username={username} where {username} is the username Flash Setting chatWidth Width of the Flash application, in percentage or pixels. chatHeight Height of the Flash application, in percentage or pixels. flashPath Path of the Flash application. Recommended NOT to change this, but can be altered to cater for different skin files. flashVars DO NOT CHANGE THIS VARIABLE
privateChatCID
62
Setting up PicShare
PicShare allows users to upload images to be displayed in the chat room. These images will be stored in a directory called uploads/picshare, relative to the ChatBlazer8.swf file. Ensure this directory is created and make sure write-permissions are granted to it. In a UNIX environment, set the directorys permissions to 777. e.g. chmod 777 uploads chmod 777 uploads/picshare
63
advanced features
advanced features
Preparation
Follow these preparatory steps to use the SQL module.
64
advanced features
1. Create a database for ChatBlazer. In a normal Database Management System (DBMS, e.g. Oracle 8, Sybase, MS SQL Server, IBM DB2), you can simply issue a SQL statement to create the database, e.g. CREATE DATABASE cbdb. For MS SQL Server, you can easily do this using the Enterprise Manager. You do not have to create any tables in the database. ChatBlazer will create them for you on your first run. 2. Assuming you have created the database cbdb, you have to configure the SQL modules initialization file, i.e. confdb.xml. The following table indicates what parameters you need to change. 3. Configure ChatBlazer server initialization file (conf.xml) to use the SQL module, e.g. <module name="sql" active="1"> <param name="cache.user.expiry" value="30" /> <param name="passwordEncrypted" value="yes" /> </module> 4. To write logs to the database, you need to put the value yes for the parameter log.db, also found in the ChatBlazer server initialization file.
Configuring confdb.xml
In this XML configuration file, look for the <server> element. You have to edit its attributes and child elements.
Attribute Name type Description Specify your database type. Currently supported types include mysql, sqlserver, oracle, access. Description Main class file of the JDBC driver you are using. JDBC connection URL string that the module will use to connect to your database. Optional. Specifies a database user account name. If you do not specify this parameter, you most probably will have to include your login parameters in the connect_url value. password Optional. Specfies the password for the user account above.
user
65
advanced features log.file Optional. Specifies file name of this modules output. The ChatBlazer servers output does not go into this file. This option allows you to separate ChatBlazers specific logs from general JDBC logs. Optional, defaults to WARN and ERROR. Affects verbosity of logs generated. INFO 1 NORMAL 2 WARN 4 ERROR 8 Add the above flags to get the desired logging level. E.g. 14 to get all log messages except INFO. pool.size Indicates initial connection pool size. This is the number of connections that the module will maintain to the database. Specifies the amount of time to wait for an existing database connection to be free for use. If a non-positive value if specified, the ChatBlazer server will always create a new database connection when there is not one available for use. yes to create tables that are missing when the ChatBlazer server starts. Amount of time in seconds to wait before making the first database connection. This can be useful in server reboots to allow your DBMS processes to start first before the ChatBlazer server attempts to connect to your database.
log.jdbcOutput
log.level
pool.waitTimeout
createMissingTable
startDelay
If you have configured the settings properly, you should see the line Loading SQL Database Manager when you start the ChatBlazer server. The list of tables created by the ChatBlazer server is listed below.
Table cb_sites cb_rooms cb_users cb_userprofile cb_useropt Description Stores all chat sites names and domains. Stores all rooms data in all chat sites. Stores all users data in all chat sites. Stores users profile data in all chat sites. Stores users options in all chat sites.
66
advanced features cb_usergroup cb_uguser cb_ugaccess cb_siteuser cb_siteroom cb_chatlog Stores a sites list of user groups. Stores users to user group associations. Stores user groups to room groups access permissions. Stores a sites user pool. Stores a sites room pool. Stores chat transcript log. This table may be empty if you do not activate logging to database. Stores user access log. May be empty for reason given above. Stores banner clicking information by advertiser ID. Stores buddy list mappings. Stores broadcast messages. Stores rooms which broadcast messages are sent. Stores a sites settings which overrides global settings. Dynamic listing of users currently online in the chat system. Dynamic usage reporting. Stores speakers canned messages. Stores future add contact requests Stores ignored users Stores files uploaded by users into rooms Stores AV clips uploaded by users into rooms
cb_userlog
We will not be listing every field and its data type in the table here as you can easily do this with your DBMS.
67
advanced features
With the SQL module, you can create your own scripts to perform several useful tasks as listed below. Automate member registration. Your guests can easily register using a HTML form and your script will update the database. The guest now becomes a registered member instantly, without requiring you to add a member using the User Manager. Allow members to change their profiles using a HTML form. Create rooms dynamically for your chat site. Retrieve and format logs into printable pages. Using the SQL module, the capability of ChatBlazer is greatly enhanced and can be augmented with add-on scripts. If you would like to perform a certain task using a script and require assistance, please contact us. To deploy ChatBlazer with a DBMS, you will need the supporting JDBC driver for that particular DBMS.
Deployment on MySQL
MySQL provides its official JDBC driver Connector/J, previously known as MMMySQL. You can easily download it from MySQLs home page (http://www.mysql.com) under the Downloads section. The required JAR archive for the driver is: (exact filenames may vary according to the JDBC driver version)
Connector/J MMMySQL mysql-connector-java-2.0.14-bin.jar mmmysql-2.0.14-bin.jar
68
The driver comes with an installation program that by default installs to the directory : C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC The library files are 3 JAR archives contained in the lib directory of the installation directory. They are as listed. msbase.jar msutil.jar mssqlserver.jar
Copy these files to the CBE_HOME/server/lib directory and edit the startup files as follows.
startcbe.bat Remove the rem prefix after this line. rem MS SQL Server 2000 set CBE_CP=%CBE_CP%;lib\msbase.jar;lib\msutil.jar;lib\mssqlserver.jar
advanced features <param name="driver" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" /> <param name="connect_url" value="jdbc:microsoft:sqlserver://HOST;databasename=cbdb" /> <param name="user" value="myuser" /> <param name="passwd" value="mypasswd" /> ...
They are located in ORA_HOME/jdbc/lib. (ORA_HOME is the base installation directory of your Oracle database software.) Copy these two files to the CBE_HOME/server/lib. Edit the startup script to include these libraries.
startcbe.bat Remove the rem prefix after this line. rem Oracle set CBE_CP=%CBE_CP%;lib\classes12.jar;lib\nls_charset12.jar startcbe.sh Remove the # prefix after this line. # Oracle CLASSPATH_JDBC=lib/classes12.jar:lib/nls_charset12.jar
For the JDBC driver to connect to the Oracle server, you may have to start the servers Listener process, usually with this command
>ORA_HOME/bin/lsnrctl start
70
advanced features
71
advanced features
to
and paste into your HTMLs <body></body> tags, at the location where the application is desired to be located. 3) In the first section of codes, edit the sourceBase parameter to point to the base URL of where the swf file is located. For example, if the client swf file is located at http://www.domain1.com/chat/client/ and the html page is located at http://www.domain2.com/client/, the sourceBase parameter should be http://www.domain1.com/chat/client/ .
72
Setup Steps
1. Turn on the module by changing the active attribute to 1. 2. Configure the LDAP module according to the properties that are defined in the next section. 3. Include the LDAP login/bind information into your client configuration. 4. Attempt a member login for a user that exists in the directory.
Module Configuration
Attribute <server> Host Description URL of your LDAP server, usually of the form ldap://address:port. The ":port" portion is optional, you only need to specify it if your LDAP server is not using the default port 389. Base DN in your directory where searches will be rooted. User account to be used to access the directory. This user account should be able to retrieve sensitive directory attributes like user passwords. You can omit this for anonymous login, but it is unlikely that an anonymous login can retrieve sensitive information. Password for the user account described above. Optional. Encoding used by your LDAP server. Optional. Use these values when connecting to your LDAP directory : Novell eDirectory "novell" Microsoft Active Directory "msad" Leave blank for other types.
base-dn user
<password-comparator> class The fully-qualified name of the Java class that is used to match user passwords against those retrieved from the LDAP directory. This facility is provided as different implementations of directory servers may store user passwords differently, usually in a one-way encryption method. We provide a default password comparator that supports the two most common storage method, MD5 and SHA hashes. Unix crypt hashing is not supported. If the default password comparator cannot understand your password storage method, the following section will explain how you can build your own password comparator.
73
advanced features any attribute You can include any attribute that is required for your own implementation of the password comparator. These attributes will be read and transferred to your password comparator. Name given to this mapping set. Every mapping set differs in their objectclass attributes. Most of the time, user objects read from your directory share the same objectclass. Nonetheless, you can add as many different mapping sets as you need according to the number of different object classes that your user objects have distinctly. The value for this attribute should be case-sensitive. The property that the LDAP module is searching for. This should not be changed. Change this property to reflect the actual attribute name of the directory object specified in the 'objectclass' attribute above. The value for this attribute should be case-sensitive.
Client Configuration
On the client side, you need to include specify a parameter that the module will use when searching your LDAP directory. In config.xml:
<login directlogin="false" allowmember="true" allowguest="true" defaultmember="false" defaultguest="true" roomname="" roomid="" roompassword="" username="" userpassword="" allowrelogin="true" allowremember="true" info=xxxx/>
The parameter is the info attribute. For example, a possible value is dn.search=cn=$cb_name,ou=development. The value of this parameter must include a dn.search property, the value being the DN prefix that is added to your base DN when searching the
74
advanced features
directory. You can use the placeholder $cb_name to substitute the user's login name into the property. For example, according to the base-dn value given above and the dn.search value here, the exact DN that is used to find the user's object is "cn=danny,ou=development,dc=pendulab,dc=com", if the user logs in with the name "danny". After that, the object's class must be verified against the objectclass attribute of the attribute mapping set defined. Then the module retrieves the password from the attribute with the name specified by the password mapping. The use of $cb_name is optional. If you omit it, you would probably include the user's unique UID into the parameter.
Working Example
Explanation of the configuring required for the LDAP module will be much simpler if we work backwards based on a sample user LDIF. Sample LDIF:
dn: uid=test, ou=People, o=pendulab.com userpassword:: e1NIQX1BUnlVWHpET0xMcjhSUzg1aEE4Q1ZwTXpuRUk9 uid: test givenname: test objectclass: top objectclass: person objectclass: organizationalPerson objectclass: inetOrgPerson sn: user cn: test user
User Login DN From the above, the DN of the user is uid=test, ou=People, o=pendulab.com. From this DN, your base DN could either be ou=People, o=pendulab.com, or o=pendulab.com. The former means that only users found in the group DN ou=People, o=pendulab.com will be logging in, whereas the latter allows you to log in users from other groups, e.g. ou=Sales, o=pendulab.com, ou=Development, o=pendulab.com, etc. Suppose the base DN is ou=People, o=pendulab.com. In the client-side parameter, you will need to include the DN prefix of uid=$cb_name.
<login ... info=uid=$cb_name/>
75
advanced features
So the combination of the client-side parameter and your base DN gives you a user login DN of "uid=USERNAME, ou=People, o=pendulab.com". The USERNAME is the name your users enter at the chat client login window to login. Password Comparison For NDS, user passwords are usually stored as SHA hashes with a "{SHA}" prefix. This LDIF export above does not show this. You have to use your NDS administrator console to view the value of the userpassword attribute. It looks something like this. {SHA}ARyUXzDOLLr8RS85hA8CVpMznEI= The default password comparator provided in the LDAP module supports SHA and MD5 hashes. A possible configuration for NDS is shown below.
<password-comparator class="com.chatblazer.ldap.LdapPasswordComparator" base64="1" hash="sha" prefix="{SHA}" />
Defining User Object Classes Based on the LDIF export, we see that the user entry has 4 objectclass, attributes, top, person, organizationalPerson and inetOrgPerson. You need to define an attr-map-set element for this. This is required as every entry read from the directory has its object classes examined to ensure that the entry is what we are looking for.
<attr-map-set name="default" objectclass="top,person,organizationalPerson,inetOrgPerson">
You also need to define the actual attribute name of the password field in the user's entry. This is done with the mapping of the attribute passwd. For NDS, the password is stored in an attribute called userpassword.
<attr-map name="passwd" mapped-name="userpassword" />
Specific Instructions for Novell eDirectory To use the LDAP module with Novell eDirectory, please follow the additional steps outlined below.
76
advanced features
1. Download an additional Java library required for eDirectory. The location is at http://developer.novell.com/wiki/index.php/LDAP_Classes_for_ Java. 2. After unzipping the downloaded library, there are two files in the lib directory, ldap.jar and utilities.jar. Copy or upload these two files into the CBE_HOME/server/lib directory. Edit cb8svr.sh to include the two files into the Java classpath. 3. Edit the module configuration with the changes below. a. Use novell for the type attribute. b. Comment out the <password-comparator> element. Or you can delete it if you prefer.
77
troubleshooting
troubleshooting
Some of the common problems experienced by ChatBlazer customers are listed below. If you have a problem not found in the list below, please do not hesitate to contact us for assistance.
Installation Issues
Why are my imported images (emoticons, avatars, background logo, start button) and banners not displayed? Assuming your files are not corrupted, you have to check the location of your files and make sure it corresponds with the site parameter in your HTML page. The resources should be in the sites subdirectory of the code base. E.g. if the codebase value is http://www.mydomain.com/chat and the site value is CBS1, then the resources should be in http://www.mydomain.com/chat/CBS1. What databases are supported by ChatBlazer? Currently supported SQL databases include Oracle, Microsoft SQL server 2000, MySQL, FrontBase and ODBC data sources. When you start the ChatBlazer server for the first time and are using the SQL module, ChatBlazer will attempt to create the table structures required to store your chat systems data. If your database is not supported, the SQL module will not load. Look for errors in the SQL modules log file, as specified in the modules configuration file, confdb.xml.
Usage Problems
Why do my users and I get a Your domain is not allowed to host the application message in the login window?
78
troubleshooting
This message is displayed when users attempt to connect to the ChatBlazer server from a domain that is not found in the list of domain values licensed to you. This problem can also arise if the user is accessing a chat site from a domain that is not the chat sites assigned domain. You should check the site parameter in the clients configuration file (config.xml) and make sure the domain corresponds to the one you have defined in the Site Manager. You will also experience this problem if you have created a site that you do not have the domain value for. Contact us for the value to be appended to your domain list. Users accessing your web site through frames (especially when navigating from some search engines which opens a top frame) may also experience this problem. How do I use my JDBC driver with ChatBlazer? You need to ensure that the Java Runtime includes your JDBC driver files in its CLASSPATH when it starts. There are several ways to do this. One is to declare a CLASSPATH environment variable (of your particular OS) that points to the location where your JDBC driver is, which could be either a directory or a JAR file. You can also specify the location in the command to start the ChatBlazer server itself. If you do the latter, you cannot use the jar option. For example,
> java cp myjdbcdriver.jar:lib/chat.jar:lib/crimson.jar:lib/jakartaregexp-1.2.jar com.chatblazer.Server
The preferred way to do this is to edit the startup script that you are using to start the ChatBlazer server. If the ChatBlazer server manages to find and execute your JDBC driver, you should see that the SQL Database Manager has been loaded. Otherwise, the ChatBlazer server will abort the startup process. Where is the database log? All database messages are written to the file specified in the database configuration file, confdb.xml. The default is cbdb.log, in the logs subdirectory. This file is overwritten every time the ChatBlazer server starts, so you may want to make your own backup first prior to restarting the ChatBlazer server.
For a more up to date list of issues and problems, refer to the customer support forum. It is also a good place where you can ask questions.
79
troubleshooting
Support
As you have read in our foreword, purchasing Chat Blazer is just the first step to having a real time chat solution for your business or organization. Quality support plays the other half of the equation. Pendulab is committed to providing you with fast and helpful personal support in the event that you require so. If you have any suggestion to improve this user manual, we will appreciate your feedback. You can reach us in the following ways. Email Customer Portal support@pendulab.com http://customer.chatblazer.com (Please contact us if you have not received your login information for the support portal.) http://customer.chatblazer.com/forum/ (The forum contains a wealth of information with regards to issues and problems commonly encountered when using ChatBlazer. Please refer to it or do a search in it when you have any problems.)
Forum
80
appendix
appendix
Log Message Types
Below is the list of message types that can be found in the chat transcript logs.
Message Code NC PC WC UR AM MCU MCP MC IM IC SP Description Normal chat message Private chat message Whisper message URL message Administrator message sent from the Room Manager Unpassed message in moderated session Passed message in moderated session Message from a moderator Messenger quick message Messenger chat message Speakers reply to a passed message. A speakers normal message has the same code as a moderator, i.e. MC.
Below is the list of event types that can be found in the user access logs.
Event Type LI LO ER AK PK MK RC RD Description Login Logout Entered a room Kicked by administrator Kicked by profanity detection Kicked by moderator Room created by user (not system room) Room deleted by user (not system room)
A-1