Using Drupal 4.7, the uncomplicated theme, and the contributed modules chatroom, logintoboggan and smileys, I have created a chat site for a freeware game company called RndLabs. The chat is for their excellent multi-player, third person shooter BaboViolent 2. I highly recommend the game, but I'm also going to use this page to describe how I created the chat site, BaboChat.
So, I began by downloading and installing all the mentioned components. This is very simply done (and maybe I'll write a more "step-by-step" article on it later). For Drupal, it consisted of unzipping Drupal, creating a database, executing the setup script on that database (find it in the /database directory for your particular database type), creating a user with priveleges to that database, and then putting the username/password and database name into the $db_url in the settings file (/sites/default/settings.php). Voila, there is a running installation of Drupal! Next, I unzipped the uncomplicated theme to the themes directory (/themes) and unzipped each of the modules into the modules directory (/modules). The only addition moving involved was moving the examples folder that comes with the smileys module from /modules/smileys to /misc and renaming it to smileys. With all these things in place, you can create the administration account on your Drupal site and begin to make them work!
First the we will sinstall the modules, then the theme. As the administrator, you have to browse to administer >> modules to see a list of modules available. Drupal 4.7 allows install scripts that execute when a module is enabled (those .install files in the packages!). So, I enabled the three contributed modules, and for the core, non-required modules I only enabled the following: help, menu, node, path, statistics, story, and taxonomy.
Setting up the contrib modules was very easy. First, I went to administer >> input formats and configured the formats I wanted to enable the smileys filter. If you want to see or add smileys, you can click on the smileys submenu of input formats. Then, I went to administer >> settings >> logintoboggan and enabled the options to allow users to set passwords at registration (but kept them coming in as authenticated users) and the login successful message.
A few other Drupal default settings I tweaked included using administer >> settings >> content types to make sure chatroom and story nodes didn't default to the front page and administer >> settings >> statistics to turn on tracking and increase the time period. I also used the form at administer >> settings to change the site's name, slogan, and footer (which can use HTML), as well as make the default front page node/1. (That node is just a basic welcome/info message.)
Using administer >> access control I created a role that has the access to administer chatrooms. Every chat needs a moderator, right? I also let that role administer a few other aspects of the site. Going to administer >> menus, I made sure the chatrooms link was disabled and used the add item link under Primary links to add the links in the header to Home, BaboChat, and the Forum.
Because the uncomplicated theme only uses a right sidebar, I went to administer >> blocks and assigned the following four blocks to the right sidebar: chat online list, Navigation, User login, and active chats. You can configure these how you wish or enable others, but know that the uncomplicated theme at this time does not expand the length of the content area of the page based on the menu, only the content. This may cause your sidebar's contents to "bleed" down past the footer. With the sidebar setup, it's easy to go to administer >> themes and enable only the uncomplicated theme, set it to be the default, and configure the theme to not use the "shortcut icon" (otherwise known as the favicon). In the global settings tab of the themes page I also turned off post information for the page and chatroom node types.
And finally, the meat and potatoes of BaboChat, the chatrooms! This is a very simple and powerful thing. The chatroom module lets you setup chatrooms like containers that hold various chats. You can give certain members of your site the ability to create chats or leave that up to yourself. Chats get archived when they're deleted so you can go back and find info later on. Also, chat lines are cached so people joining in can see the last 10-200 lines of chat. Because we have the smileys module, we can actually browse to administer >> chatroom and turn on the smileys options for the chatroom! I recommend this as a good way to break up the monotony of our plain text, black and white website.
You create a chatroom by going to create content >> chatroom and filling out the form. I gave this one the custom URL of babochat for easy recall. With your newly created chatroom, chat administrators can then create chats and give them descriptions. I setup access control so that only authenticated users can join chats. If you want to allow anonymous users, they will come into chats as guest-# while members will chat under their usernames. The "chat online list" block we enabled show the members in the chat along with a little icon to tell if they are away. The other block shows a list of active chats for quick access. If you want to close/archive a chat, browse to the chatroom node and click the Edit tab. There you will find a form field that allows you to close down individual chats.
And there you have it! You can modify the settings, create new chatrooms, new chats, and whatever else you want. Please let me know if I left anything out or if you have any questions. Drop on in BaboChat to say hello (or drop into the game so I can frag you!). I hope the article was some help to someone!
If you happen to visit the site and the look has changed, it is because I will be modifying the color scheme of the uncomplicated theme to match the rest of RndLabs' website.