Set Up Basic Groupware With Citadel
Citadel provides plenty of groupware functionality in a scalable, easy-to-deploy package. This week, learn how to manage users, set up an e-mail server and provide RSS feeds.
Last week we were introduced to the excellent Citadel BBS groupware and messaging server. In my needlessly humble opinion, Citadel is a great choice for the majority of users who need a groupware and messaging server. It's easy to fling up a working server in a few minutes for a small home network, and it scales up nicely for business. It has no unnecessary bells and whistles, is easy to administer, and easy for your users. It is standards-compliant, and you can use any standards-compliant email, PIM, and IM clients with it. You get full functionality with the Web interface, and Citadel supports a complete text interface as well, which will please your valuable geekbeards who can type accurately faster than other people can think.
The only downsides are related to our good friend Microsoft. There is no built-in integration with Active Directory, though this can be set up manually using Samba, and there is no easy migration path from an MS Exchange server because there is no such thing. Which decision-makers should think of before they get themselves all locked in, boxed in, and paupered. (Exchange admins looking for a painless way out should give PostPath a look; PostPath is a drop-in MS Exchange replacement for Windows networks that uses maildirs and other standard data stores.)
We're going to walk through setting up some basic LAN server functions: setting up rooms and floors, user management, e-mail and mailing lists, shared document folders, and creating RSS feeds.
Floors and Rooms
Floors are the basic units of organization. Citadel comes with two default floors, Main and the 2nd floor. The Main floor includes a Lobby, Global Address Book, and Trashcan. The 2nd floor has no default rooms. It does not appear on the Rooms page until you create a room in it. You can change their names in the Administration menu and add as many rooms to them as you like, and there is a setting that controls if empty floors are visible. Only Aides, who are the same as server administrators, can create and manage floors.
As soon as you make any changes an Aide room is created on the Main floor. This is actually a system log that records all activity. It is visible only to Aides. The Global Address Book by default is also restricted as "Private - invitation only". These settings are controlled in the Advanced menu. To make changes to a room, first enter that room and then hit the Advanced button. For a LAN server you probably don't need to be as finicky with access controls as an Internet-exposed public server, or a Citadel server that shares with other Citadel servers. In any case, Citadel lets you get as finicky as you want.
Users can self-register, or you can restrict it so that new users must be added by the Aide. Users have seven access levels: Deleted, New user, Problem User, Local User, Network User, Preferred User, and Aide. Network User (4) is the default, which of course you can change to whatever level you prefer. New Users are read-only and cannot post messages. Local Users can read and write to the local server, but not on shared Citadel servers. Network Users have access to shared Citadel servers. Preferred Users are a special category for you to use however you like; for example, you can set room access or send invites to Preferred Users only.
Citadel users are automatically added to the Global Address Book. You might want to set it to read-only to prevent mischief. Aides have access to everything, and users can update their own information from the Advanced menu.
Nobody makes "collaboration" (sorry for the buzzword) as easy as Citadel does. Users can create and control rooms without you having to lift a finger. The Administration -> Edit site-wide configuration -> Access tab controls how much power ordinary users have. If you enable "Automatically grant room-aide status to users who create private rooms" then they won't have to pester you for every little thing. Room aides have nearly complete control over private rooms, but can only create new public rooms. One thing you can't do is enforce which floor users can create rooms on; you'll just have to rely on time-honored old tools like rules and nagging.
If you don't want all users to have room-creation powers, you can set your chosen ones to Preferred User (5) level, and then on the Administration -> Edit site-wide configuration -> Access tab set the "Access level required to create rooms" to Preferred Users.
Citadel honors the BBS tradition of not deleting problem users, but merely diverting their messages to a "twit" room. Reduce their access to Level 2 and everything they post will go to the Trashcan. You can change the name to Twitroom, if you like.
The My Folders view is for users' personal data and mail. You can't do anything to this.
Local E-Mail Server
Getting a local e-mail server going is so easy you'll tip over with happiness. You don't have to lift a finger, because Citadel users are automatically set up with local e-mail. To send e-mail to them just open your Mail page, click Write Message, and pluck your recipients from the Contacts link. Use Ctrl+left-click to select multiple recipients one at a time, or Shift+left-click to select a range of recipients.
What if you want to create a distribution list? No sweat. Create a new room, which can be private or public, then go into the Advanced menu and click Edit or delete this room -> Mailing list service. From there you can add your contacts from any Citadel address book you have access to. Most of us are used to building distributions lists from inside our contact lists and address books, so this takes a bit of getting used to. There is one big advantage to Citadel's way: it's a lot harder to accidentally send to the wrong list. Ordinary users must have room-aide status to create mailing lists.
Shared files must be stored in directories in /usr/local/citadel/files/. Create a new room or add file sharing to an existing room in Advanced -> Edit or Delete this room -> Configuration. Check File directory room, and enter the directory name. For example, if your shared directory is /usr/local/citadel/files/photos, enter photos in the Directory name box. If you want to allow users to upload files you'll have to make the directory world-writable, so it's not what you would call super-secure. Users who want to exchange files with a limited number of other users, such as their own working group, can make it a private, password-protected fileshare.
Adding RSS Feeds
Again, it's super-easy. You can create a new room, or add feeds to an existing room. Enter the room, go to Advanced -> Edit or delete this room -> Remote retrieval, enter the feed's URL and click add. Over at Uncensored! they use the sensible scheme of having a special floor for RSS feeds, and each room gets one feed. The default update frequency is one hour, which is set in Administration -> Edit site-wide configuration -> Network, "Network run frequency (in seconds)".
We've just scratched the surface of what Citadel can do: Internet e-mail for multiple domains, integration with Spamassassin and other mail filters, smarthosts, LDAP integration, and distributed Citadel networks. Be sure to disable any Citadel services you don't need, and consult the excellent administration manual to learn about all these things, plus database maintenance and system backups.