If you wish to test JChat, but you haven't got anyone to chat with, use multiple browsers, eg open up IE, firefox and Opera - login on one, use the other for guests, etc.

Configuration

Serial Number

This must be purchased and you can do so from the JChat Administration Console. On entering the correct serial, JChat will no longer display our advertisment in the chat window after every message post. It will also mean that you can set the room caps to whatever you like - only 3 people can access a room at once before entering a correct serial number.

Force Template Compile

Enabling this will cause smarty to recompile templates on access. You will be required to do this if you wish to modify the html templates otherwise you will not see any changes. After you have finished modifying your templates you should turn this off as forced compiling uses additional server resources.

Full Screen Mode

Enableling full screen mode will display JChat without the currently set Joomla theme and modules. The JChat interface will be loaded into the jchat_fullscreen.htm template. Using this feature will allow you to fully custom theme JChat.

Idle Time Out

If a user has not submitted any chat messages within the specified time the JChat system will be paused until they confirm their presense. No data will be recieved or submitted to your server until confirmation is received.

Recieve Interval

JChat automatically updates the users chat screen at regular intervals, this parameter sets the time between updates. It is worth noting that a small interval between updates means your server is getting hit more frequently. The load can become substantial if many people are chatting at once so we suggest caution in setting a really small interval. We would suggest 4-8 seconds. Take into account the fact that the actual user posting the message will see their message come up straight away becuase it is apended to the chat window from the browser, not the server. This creates a more responsive "feel" to the JChat experience.

Database Trimlevel

Each message submitted is recorded in the JChat database messages table. If a lot of people are chatting the database messages table can grow very large, very quickly. Setting the database trim level will automatically remove all old messages from the database and only keep the newest X amount as specified in this parameter setting. If you have a lot of people chatting at once you will need to make this allocation quite generous to stop messages getting trimmed before users can recieve them. Trimming is initiated when a user enters JChat (you will need to refresh the page for it to happen).

JChat Introduction

Here you can set an introduction to appear in the chat window when a user first enters JChat. You can use html here.

Rooms

Rooms Configuration

Groups

Groups Information

Groups allow you to easily control user access. Each group can have permission rules attached to it and users can belong to multiple groups. The Registered and Guest groups are reserved (you cannot delete them) - users registering on your Joomla site are automatically added to this group. Users who have not registered or not logged in are automatically added to the Guest group.

Permissions

Permissions Information

This very, very powerful feature alows you to define user access to JChat rooms (remember, with great power comes great responsibility haahahahhahaha!). Permissions allow you to control who goes where and what they can do when they get there!

REMEMBER THIS ABOVE ALL THINGS (no pun intended). Permissions are read from the top down, the first permission encountered that is set for the username, or the group that a user is a member of will be initiated. Lets take a look at the permission rules set for this example:
Group User Room Access
Bart All Rooms None
Knitters knitting Room Comment
Bikers Bikers Room Comment
All Groups knitting Room Read
All Groups Bikers Room None
Guests The Lobby Comment
Guests All Rooms Read
All Groups All Rooms Comment

First we have "Aunt Betty", she is a Knitter and a Member of the Knitters Group. She will be able to post messages in the Knitters Room, along with all the other rooms, apart from the bikers room.

Now we have Eddie, he is a member of the Bikers Group. He will be able to post messages in the Bikers room as well as all the other rooms apart from the Knitter Room. In the knitters room he will only be able to see other peoples messages, he will not be able to post messages of his own.

Now we have Kevin, he not a member of any group, but he is REGISTERED. He will be able to post messages in all the rooms, apart from the bikers room and the knitters room, he will be able to enter the Knitters room and see the messages.

And Last we have Guest, a person who has not registered on the site. He will be able to enter all rooms apart from the bikers room. He will not be able to post messages in any room apart from the lobby.

See how the permissions are checked in order from the top down looking for a group or membership match? Take for example GUEST entering the "Knitters room". First group checked is Knitters, he is not a member so the next group is checked, he is also not a biker, so we go to the next group... ahhh a match he is a member of "ALL GROUPS", in fact every user is! So access is granted with the parameters of the permission rule (which in this case is read).

Now I am sure you have noticed the users column, this is so you can set a permission that will be only applicable to selected user. It works exactly that same as groups, but only for this one user. It is better to use groups, but if you need to quickly grant permission to a user this is handy - also handy to ban users as well ;) as you can see from the example, Bart cannot access any rooms :)

The Moderate permissions level gives moderator privileges to the user or group attatched. Moderators can Kick or Ban users from rooms where they have Moderator privilege.

There is one person outside of these permissions and that is the Super Administrator of the Joomla Site. He will have access to everything no matter what permissions are set.