Administrating Forum
 
Welcome to dumbed-down netnews. Users like it. Who knows why. Forum sucks. this is the only documentation you might possibly see.
 
Upgrading/Compiling
    ftp the source from ftp://ftp.ucsc.edu/public/forum* Create a directory someplace and unzip and untar it. (if you don't know what this means, you might want to ask the hhg for help.)
    Once you have procured the source code, the files you will need to edit are makefile and configure.c. Since you are compiling on ella and not the default system, you will need to make some changes. Set the compiler to gcc. It's happier and more fun, and plus there are extra bonus flags you won't have to play with. Set the system type to the sgi crimson choice. Ella is not a crimson, but it's close enough. Change the install dir to wherever yer sticking forum once yer done. Then you need to alter the TERM lines. The lines it ships with are not in correct format and will cause ld to barf on you. Change them to:
 
  USE_TERM = -DUSE_TERM -I/usr/lib
  TERM_LIB = curses

 
Should the library directory move or the name change, you will need to update those, but this syntax should be correct. There is also a syntax error on the LIBS definition. Change it to: LIBS = -l$(TERM_LIB) $(SHUNT_OBJ) $(ATHENA_LIB)
    Next edit config.c   Change _DEF_LIBDIR to the directory where the node files go. (i could be wrong on this, so if it doesn't work, double check that). Change _MASTER_UID to the uid of the forum administrator. To find her uid, you can grep for it in /etc/passwd by typing grep <login> /etc/passwd where <login> is the login name of the administrator.
    Read the INSTALL file in case it contains useful infomation. Then make clean; make forum
 
Creating a node tree from scratch
    Read the INSTALL file. You will need to copy File.list into the directory you set as _DEF_LIBDIR in config.c and edit out all the lines that start with '#'. Follow the instuctions in INSTALL.
    Once you fire up forum, you should have a general node. You need to set the permissions on it. These are explained in the file perm.c. To set the perms without editting a fictional file (somebody needs to update code comments as they update "features"), type ^P. It then asks you what you want to do with general node. You need to set perms for all the different user types:
 
 * user-host-pattern can be any of the following:
 *
 * default              special case, matches if no other match is found
 * user                 matches user ``user'' at any host
 * @host                matches any user at ``host'' host
 * @.domain             matches any user on any host in ``domain'' domain
 * user@.domain         matches user ``user'' at any host in domain ``domain''

 
Then, for each of the following, you can set a permission level:
 
 * permslist is one or more of the following tokens:
 *
 * s                    see login
 * k                    keep out
 * l                    let in
 * f                    fascist (no write permission)

 
For mills usage, you want to set permissions to:
  @.domain       s-l-
  default       -k--

    This allows mills users in to post, but keeps out others. It is possible to allow in selected outsiders by setting user@.domain to s-l- permission. Anonymous posting violates college policy, so every node must have see-login turned on.
    This is great theory, but in reality, if you try to change permissions from within forum, you'll get a segmentation fault. You need to edit $(LIB_DIR)/node.perms. make the file look like:
 
  @.mills.edu=0:sl
  default=6:k

 
This does the same stuff as above with a couple of exceptions. You will notice that each host pattern is assigned an integer value. This determines the relative importance of each. One with a low number will override one with a higer number. Numbers may vary between 0 and 6
    By editting the file, you should set permissions for all of the nodes. there is a way to vary them individually (as i have done it accidentally) but i don't know what it is.
    Or, if you're very adventerous, you can hack the source code. Use the gnu debugger to figure out where the problem is. type: gdb forum  Once you get inside the debugger, type run  Try changing the permissions. When it gives you the segmentation fault, type where to trace back the error. Type quit to quit the degugger. Then comment out (or correct) the offending line of code. I chose to comment it out becuase it only existed for purposes of garbage collection. this can be very important, but how many times is the forum administrator going to change permissions? And the memory will be freed when she quites the program anyway.
    Once you've got the permissions set, you can start making nodes. Hit $ to create 'em. It should be pretty straightforward. If you are wondering what options are available to you, type ? for an incomplete list. I don't think there is any way to get the complete list.
    If users are getting permission denied problems, go into the LIB_DIR and chmod 666 *  Aside from solving your problems, it's also satanic!
    If you create new nodes, don't forget to chmod them!!
 
back