Information on Installing and Maintaining the CoCoBoard

This page contains information on retreiving installing and maintaining the CoCoBoard software. Please read this page carefully before you install the page.

The CoCoBoard only runs on unix systems which have sendmail. It may run on others, but you'd have to do the port. Basically, if you can make your mail transport system push mail into a process on stdin, and you have perl, then you can probably make it work. However, we have no plans to port to Windows NT, Mac etc... (NT users note: the software does work quite nicely under Linux...)


Obtaining the Software

We ask you fill out a form to register your copy of the CoCoBoard. Filling out this form is, of course, optional, but if you do so, we will have your Email address in case we find an error or want to announce updates. Also, this information allows us to track the software for our own curiosity.

Installing the software is a bit tricky, and can take up to an afternoon. The most common difficulties are:

  1. Permissions are not set properly on target directories (they should be owned and writable by the CoCoBoard user). The Logfile is especially troublesome.
  2. Your system may have a case-insensitive sendmail and try to pipe into cocoboard/projectsfilter rather than CoCoBoard. A sym-link will fix this.

The form and tar file for the distribution of the software are here.


Other Software you will need

You will need 2 pieces of software to run the CoCoBoard. A third tool, lynx, is optional.

Please do not contact the maintainers of the CoCoBoard if you cannot install these tools. We can't help (unless you want binaries for one of the OS's we've got it built for, and even then we'd have a pretty longish turnaround...)

Configuration

First, uncompress and untar the distribution file. Then, read the CoCoBoard/README file for additional instructions. Then read the rest of this page.

To configure the page, use the script "Configure". This will ask you a series of questions about the installation which all are hopefully self explanatory. If you don't understand what the appropriate response to a question would be, or if you receive an error message, please contact pwalker@ncsa.uiuc.edu

You should not use the Configure script to make projects and remove postings. Rather, see the list of tools below.


Maintaining the server

There are tools in the "CoCoBoard/tools" directory for maintaining the server. This suite of tools will hopefully expand as we find more useful ones. If you write one for maintaing your server, please contact us. We'd love to distribute it!

The tools are

If you want to add or remove a user from a project after you have created it, you should edit the file CoCoBoard/lists/user.list. The format of this file is hopefully self explanatory. Simply add the user to the project you are interested in. Do not include blank lines within a project description.

Using Default Projects to ease use

The original version of the CoCoBoard had one way of specifying a project; the user inserted "project FOO" alone on a line in their message somewhere. This proved a little tedious, so we have created an alternate method for selecting a project based on the "to" or the "from" email address. "from" based default projects allow a single user to have a default project. "to" based default projects allow you to create aliases for your cocoboard user, and then have those aliases point at a project.

From Based Projects

These are the simplest to maintain. Simply add, in valid PERL associative array form (see the current file) the user and their default project to the %fromdefaults array in the defaultprojects file.

To Based Projects

To Based projects require a few things.

A correctly configured defaultprojects file.

Since configuring the defaultprojects file is not trivial, here is an example of a working file:
#
# Default projects.  There are 2 sets of projects here, from based
# and too based.  from based match an email address and set a project.
# to based do the same based on recipient.
#

%fromdefaults = (
        "noone", "none"
);

%todefaults = (
        "proj_VIZ", "VIZ",
        "proj_TEST", "TEST",
        "proj_MOSAIC", "MOSAIC",
        "proj_CONSTRAINTS", "CONSTRAINTS",
        "proj_CAVE", "CAVE"
);

%projecttofrom = (
        "VIZ", "proj_VIZ@jean-luc.ncsa.uiuc.edu",
        "TEST", "proj_TEST@jean-luc.ncsa.uiuc.edu",
        "MOSAIC", "proj_MOSAIC@jean-luc.ncsa.uiuc.edu",
        "CONSTRAINTS", "proj_CONSTRAINTS@jean-luc.ncsa.uiuc.edu",
        "CAVE", "proj_CAVE@jean-luc.ncsa.uiuc.edu"
);

1;

Can I archive a maillist with the CCB

This is taken from a mail to a user, so it is conversational.
About your other comments.  We use the CCB both to generate and archive 
mail lists.  Here is how we do it, although the way you mentioned would 
work (the -p is an undocumented feature we use for debugging occasionally).

For the sort of majordomo + archive mode, we simply use the 
to-based-defaults, eg, you mail to "proj_foo@jean-luc" and it gets posted 
and echoed.

However, archiving a list is easy also.  Say I have a list bar which I 
set up with

bar :include:/etc/lists/bar.list:

or what ever.  In bar.list I just put "projects" alone (or, if the list 
is served from another machine, I put "projects@jean-luc").  Now when 
mail is sent to the list, the last "To" field remains as "bar" from 
sendmail.  This is the "To" which the CCB checks for project selection, 
so in your todefaults, put

	"bar",	"MY_ARCHIVE"

and all mail to list bar will also be stored in MY_ARCHIVE.  Then set up 
the MY_ARCHIVE project to not reflect or block (eg, the two permission 
bits in user.list are both 0) and everything will work.

The CoCoBoard Page / mosaic@jean-luc.ncsa.uiuc.edu
Return to the CoCoBoard Home Page