Installation

The first step to installing this software is downloading it.  

1)  ftp.ittc.ku.edu /pub/UNITE/unite_tools.tar.gz

2)  uncompress and tar the file.

        gunzip unite_tools.tar.gz
        tar xvf unite_tools.tar

This will create a directory called unite_tools_0.9.

3)  Edit the global.h file in unite_tools_0.9/src
    you should only need to change HOME_DIR unless you decide to 
    change all the directory and file names.

    Here is the part of the global.h file you need to change:

    #define HOME_DIR "/users/unite/unite_tools_0.9"
    #define CONFIG_DIR "/config"
    #define DIRCONFIG "/unite.config"
    #define HTMLPRINT "/htmlPrint.config"
    #define UNITEPRINT "/unitePrint.config"
    #define BUILDCONFIG "/buildPrint.config"
    #define CLIENTCONFIG "/clientPrint.config"
    #define MIMEFILE "/mime.types"

4)  Edit the global configuration file in unite_tools_0.9/conf
    the name of it should be the same name you used in the global.h
    file as the DIRCONFIG variable.

    For this file you need to specify the top level directory in 
    TopLevelDir.  This needs to be a full path.  The rest can be 
    left the same except the databaseLocation.  This is where you
    specify which database is listening on which port and on which host.

5)  Edit the Makefile in the src directory.  Again all you should
    have to change is the TOP variable, you may want to change 
    CC and CFLAGS to reflect your C compiler.

6)  If this is the first time you are installing this software then
    you type

             make extra

    This will create directories in the unite_tools_0.9 directory.

    If you just want to remake everything (i.e. maybe after a make clean)
    then all you need to do is 

             make all

    Both of these make commands will compile all the code and install
    the binaries generated in the unite_tools_0.9/bin directory
    and some libraries will be created in the unite_tools_0.9/lib 
    directory.

7)  If this is the first time you are installing this software the
    you will need to create the directories you specified in the
    global configuration file.  To do this run:

        buildDir

8)  You will need to add a database.  To do that run:

        addDB 

9)  You need to edit the CSO configuration file.  It is in the
    src/CSO/src/Configs/server_config .  Here you need to change the 
    RootDir variable at the beginning of the file.  Also change
    the Owner, CC, Group, Database, Admin, Passw, MailDomain, 
    FallBackAddr, FallBackPort, and Host variables.  Also look around
    and change any other variables you believe need changes.

10) Then configure and build CSO. Go to unite_tools_0.9/src/CSO/src
    and run: 

        Configure server_config
        make all
        CSOinstall

11) You now need to add into your inetd configuration file and in
    your services file an entry.  This is what I entered:

       uCSO1  stream  tcp    nowait  unite   /users/unite/bin.sun4/qi 
              qi -d -Database=/users/unite/Released/db/cso/UNITEResource/csodb
 
    you need to make sure that the port and host name are the same you
    put in the global configuration file.

12) To build a CSO database all you need to do is run:

        CSObuild  
 
     this will look for the database configuration file and build the 
     cso index file.  Now you run:

        build_db

     making sure that the directories in that script file are correct.
     (i.e. BINDIR and DBDIR)
    
13) To test if CSO is running correctly, you can telnet to the port on
    the host it is running and type fields.  This should give a list
    of the fields in your database.  Type quit to exit.

14) Now all you need is the server.  You can run the server in standalone
    or inetd.  To run in standalone run:

        uServer -s

    else

        uServer 

    but then you have to edit your inetd configuration file and add an 
    entry.  What I have is 

        http    stream  tcp     nowait  unite   
           /users/unite/Released/unite-src/UniteServer/uServer.sun 
           uServer.sun -c unite.config


Once the installation is done, all the executable files are in the 
bin directory.  These are: unite, CSOBuild, addDB, browser, buildDir,
and uServer.

CSOBuild is the program to build the two files CSO need to run its indexer.
To run this program simply type: 

	CSOBuild 

unite it the program used to contribute a file.  To run this program type:

	unite 

This program will automatically look in the "ContribDir" for the filename.

addDB is a program used to add a database.  It creates the directories needed
and adds the name to the "DatabaseList" file.  To run it:

	addDB   

db_type is cso at this time unless you add other search engines and db_config
is the name of the database configuration file.  

browser is the program used to create the browsing views.  To run it:

	browser   

the  is the name of the field to be used to build the
views on.   is the name of the browser configuration file.
A file named trailer should be in the current directory.  This file is appended
to all the files created by the program.

buildDir is used to build all the directory structure defined in the
global configuration file.  To run it:

	buildDir

this program uses the global.h file to find out which global configuration file 
to use.

uServer is the server program.  This program is usually ran as inetd or
standalone.  For inetd:

	uServer -c 

for standalone:

	uServer -s -c 

the  is the name of the global configuration file.  If it is not
specified then the name is taken from the global.h file.  If it is given then
it is relative to the CONFIG_DIR in the global.h file.