What is WASPII?

WASPII is the enhanced version of ASPII; a subscription based mail announcement system; originally developed by Martin Kretzmann (Email: martin@plebius.org ).

ASPII is a mail distribution system, which originally maintained a subscriber database (we call it "a list" in resemblence to mailing lists) , and the list administrator could send mail to all subscribers. Subscibers can also unsubscribe themselves by a simple web interface; as well as new people can subscribe themselves to the ASPII list, again over the web.

WASPII, is enhanced ASPII and the enhancements are:

  • The system can now maintain unlimited number of announcement lists;
  • All administration (including creating new lists and obliterating useless ones) can be now done through the web;
  • Different types of administration authority schemes are available;
  • Some useful tools for the administrator(s) are now available;

Who is WASPII for?

WASPII is basically an e-mai lannouncement system. It is somewhat similar to regular mailing lists (like those managed by Majordomo or Listserve) but with WASPII the mail trafiic is one-way!

WASPII works like this:

  1. Some administrator creates a new list; say - CONCERT ANNOUNCEMENTS LIST.
  2. The administrator decides whether he/she should allow people subscribing to this list over the web. Public subscription may not be desirable for a private list).
  3. The administrator decides whether he/she should allow people to unsubscribe themselves over the net. If the announcement list is established to address the students taking a particular course, the administrator (probably the course instructor) might not want any students to miss an important exam rescheduling announcement.
  4. The administrator subscribes a set of e-mail addresses to his/her new list and starts sending them announcement mail (selectively or to the whole bunch). If permitted, users can remove their email addresses from the list's database and/or add themselves to other lists' databases (if allowed, of course).

So, to wrap up things, if you are in a position where you frequently need to send announcement e-mail messages to various groups of people and UNIX mail aliases facility is not perfectly suiting you; you should try WASPII. (My problems with UNIX mail aliases).

I, myself, am in such a position. I frequently need sending e-mail announcements to different groups of people (like "CS201 students", "EE Undergrad students", "CS Faculty", "Admin Staff" etc.) and UNIX "mail aliases" feature is not that easy to maintain. Majordomo and similar mailing lists is not what I really need because I want one-way mail traffic; i.e. the subscribers should not be able to send messages to my announcements lists.

In my pursuit of a proper tool for my needsi I came across ASPII, written by Martin Kretzmann and distrbuted under GNU license. I liked his code ( ASPII is written in PERL; and so is WASPII) and decided to tailor it to suit my needs. What I ended up with is WASPII. It is free! Enjoy!

System Requirements

You need a system on your institution's TCP/IP network capable of providing a web service and running PERL. Although a very wide platform base can qualify for these, I strongly recommend a UNIX or LINUX based system; afterall UNIX and LINUX are the best systems to run a TCP/IP service on.

You might need root access; or at least sufficient rights to create files and directories under the httpd root (the directory where all web related files are located on a web server). WASPII is developed and in use now on a 166 MHz Pentium PC running LINUX (RedHat 6.1 distribution) and Apache HTTP server version 1.3. I don't see any reason why it shouldn't run in harmony with another HTTP server. The system also has PERL version 5.005_03. Any PERL V5.x should work.

Requirements Summary:

  • UNIX or LINUX,
  • Apache HTTP Server,
  • PERL 5.x.

Installation

Installation of WASPII is fairly easy. You do not need to have an in-depth knowledge of UNIX and/or PERL or your HTTP server. You should, however, have sufficient idea about the HTTP structure on your object server. You might need some help from the system administrator or the webmaster.

If you follow the installation steps carefully, your WASPII service should be up and running in at most half an hour. Good luck.

Installation Steps:

  1. Download WASPII to /tmp or other world writable temporary area on your system;

  • WASPII modules in simple tar format (waspii.tar yyy KBytes)
  1. untar, unzip to a temporary directory (preferably to /tmp). You can use the UNIX commands

    % cd /tmp
    % tar xvf waspii.tar

    to untar the packed file.

  2. You will have two new directores under /tmp; waspii-html and waspii-cgi. You will need to move the contents of these directories to appropriate locations. You need to learn two things before you proceed:

    The location of http document root for the web services provided on the system you are working on and the CGI path. If you are the system administrator, you should know these. If you are not, you can ask the system administrator for some help. If you are using a RedHat LINUX system, the http document root will probably be "/home/http/html" and the CGI path will be "/home/httpd/cgi-bin". Please note that creating these directories if they don't exist will not do any good.

  3. Move the waspii-html directory to your http document root. (You might need root or webmaster access rights to do this. If you can do the following with any user identity, your system is extremely vulnerable and should be immediately fixed).

    A command like the following should do the job:

    % su
    # mv /tmp/waspii-html /home/httpd/html/waspii

  4. Change the ownership of all files under the html/waspii directory to "nobody". (actually you should change the ownership to the identity of the httpd daemon; which is almost always "nobody").

    A command like this should do the work:

    # chown -R nobody:nobody /home/httpd/html/waspii

  5. Move the waspii-cgi directory to your CGI path. (You might need root or webmaster access rights to do this

    A command like the following should do the job:

    # mv /tmp/waspii-cgi /home/httpd/cgi-bin/waspii

  6. Change the ownership of all files under the cgi-bin/waspii directory to "nobody". (actually you should change the ownership to the identity of the httpd daemon; which is almost always "nobody").

    A command like this should do the work:

    # chown -R nobody:nobody /home/httpd/cgi-bin/waspii

Note : You can do these by simply copying files around but please note that there are some dotted files in these waspii-html and waspii-cgi directories and you must make sure that they are copied too!.

Now you should have a dierctory structure which should look like:

/
  |
  |__ home
        |__ httpd
               |__ htdocs
               |     |__ (old_stuff)
               |     |__ waspii
               |            |__ creating2.htm
               |            |__ images
               |                  |__ add.gif
               |                  |__ bluearr.gif
               |                  |__ etc.
               |            |__ lists.htm
               |            |__ weblogo2.gif
               |__ cgi-bin
                     |__ (old-stuff)
                     |__ waspii
                           |__ .hosts.admin
                           |__ TEMPLATE
                                  |__ add2db.cgi
                                  |__ admin
                                  |__ etc.
                           |__ admin.cgi
                           |__ batchsubs.pl
                           |__ etc.
         

All files and directories under and including the waspii directories /home/httpd/html/waspii and /home/httpd/cgi-bin/waspii should be owned by nobody:nobody.

  1. Now you have to edit a couple of files:

Edit /home/httpd/html/creating2.htm as suggested in the files with some HTML comment lines:

Change the image file name to the name of the logo gif image you want. 
Do not forget to put your logo image file into the same directory.
<!--------------- EDIT THE FOLLOWING LINE AND CHANGE ---------->
<!--------------- THE GIF FILE'S NAME TO YOUR LOGO GIF -------->
<img src="weblogo2.gif">
<!--------------- REMOVE THESE COMMENTS WHEN YOU ARE DONE --->
Change the http directive to include your web servers fully qualified domain name
and path to waspii cgi files. DO NOT CHANGE THE "METHOD" AND "NAME" 
PARAMETERS! 
<!--------------- EDIT THE FOLLOWING LINE AND REPLACE --------->
<!--------------- THE HTTP HOST NAME, CGI PATH AND   ---------->
<!--------------- WASPII DIRECTORY                   ---------->
<!--------------- DO NOT CHANGE method AND name  -------------->
<form action="http://hostname.domain.edu/cgi-bin/waspii/create.cgi"
    method="POST" name="myform">
<!--------------- NOTHING TO MODIFY BELOW THIS POINT ---------->
<!--------------- UNLESS YOU WANT TO CHANGE THE WAY  ---------->
<!--------------- FORM LOOKS.                        ---------->
<!--------------- REMOVE THESE COMMENTS WHEN YOU ARE DONE ----->
When you are done with the editing, you can remove the HTML comment lines.
  1. Next file to edit is: /home/httpd/cgi-bin/waspii/.hosts.admin
You must enter the IP addresses of the master administrator client(s) into this file; 
one line for each IP. You can type in comments at the end of each line starting with 
a #.
People using the WASPII system from computers with IP addresses listed in this 
file will have full administrative rights on ALL the waspii lists. Best practice is 
putting only one IP address (your IP address) in this file. Partial IP block 
addresses are allowed; i.e you can type "139.179." as an IP addr in this file, 
meaning all clients with IP addresses starting with 139.179. will have master 
administrative rights; but I do not recommend this.