Set Up Basic Groupware With Citadel

Carla Schroder
Wednesday, September 10, 2008 02:15:06 PM
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.
User Management
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.
User-Controlled Rooms
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.
File Sharing
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.
Article courtesy of Enterprise Networking Planet, originally published April 14, 2008.