Thanks for using Helldesk 1.0!
Copyrighted by Michael 'Knut' Moorleghen.

This application is released under the GNU Public License.
See the COPYING file for details.

You can change whatever you want in the program... cosmetically and even
functionality, all I ask is that you send me a copy of the change for my
review. This will help me increase this applications robustness and its
usefulness.

Please report ALL bugs/security holes. I have tried my best to
make this app bulletproof, but I know it has a long way to go.

WARNING: Documentation is not a strong point with me, but what is here
         works on all my machines. So if you have a problem installing,
         running, or using Helldesk 1.0 look at your system configuration.
         MAKE A BACKUP JUST IN CASE!

FEATURES: Web based entry using forms
          Auto e-mail notification
          Several search querys: Username, problem type, etc.
          Built in problem types (changable in the code)
          Modular design

Missing:  X interface, command line interface
          Web browseable solution database
          Probably a lot more 

This program is a medium sized Helpdesk application written on Linux.
Orginally coded and run on a IBM PS/2 66Mhz machine. Response time from
beginning to email notification is about 3 minutes.

The purpose of this application is to track incoming trouble tickets and
then the solutions to those trouble tickets. No, duct taping and applying
cattle prods to the user is not an option! :-)

This application is written in Gnu C using the libpg libraries enabling
connections to a Postgres Database. I would imagine that with slight
modifications one could get it to work with MySQL as well.

PREQUISITES: A working Linux box, Postgresql 6.3 or higher, a working Apache
             server, and gnu gcc. <derogitory comment deleted> 

INSTALLATION:

   1) Get the package. Available at
      http://www.gci-net.com/users/m/moorleghen/home.html
      look for the helldesk link

   2) Untar and unzip the file.
      tar xvfz helldesk-1.0.tar.gz
      it will create a helldesk directory

   3) Make sure you edit Makefile.
      Makefile.port and Makefile.global should be ok, but check it to
      be sure, I did not write them and they do function on my systems.
      at worst, copy the Makefile from the pgsql/src/test/examples
      directory on your system and edit that.

   3a) Edit the helldesk.c file and down around line 267 change the email
       addresses. or if you really feel punchy add a assigned field to the
       html code in callentry.c that is read from the techs table and
       use that to set your To: line in the helldesk.c code.
       I am getting there myself, but then I am working on a lot of changes.

   3b) Look through the adduser.html and adduser.c files and change the 
       departments or areas the users could be assigned to. Accounting
       is on the list as well as Grant&Contracts, and Executive.
       You might what to just look over some of the other code to make sure
       the options you want are set. I have tried to make this as vanilla as
       possible, but you never can tell.

   4) compile the programs.
      make or after everything else is completed ./Install.sh
   
   5) copy the programs to your cgi-bin directory, and the html files
      to /helldesk in your document root. change it to whatever you like.
      or run Install.sh

   6) Create the database tables.
      psql helldesk
       \i helldesk.sql

   7) make sure user nobody has ONLY INSERT and SELECT rights.
      Add your techs to the techs table.
      give the techs the appropreate permissions to the database tables.
      they will need SELECT, INSERT, and UPDATE on prob_entry, prob_solution,
      and SELECT, INSERT on users.
      ie: insert into techs values = ('1','ThatOther Tech','DP','totech');
   
   8) Startup your favorite web browser (Netscape right.) and find the 
      adduser.html file... http://your.domain.XXX/helldesk/adduser.html
      add your users. you only have to enter the password once. (you are on
      a secured server link, right?)
     
   9) Make a link from you favorite web page to /cgi-bin/query
      make sure the pages function, so submit at least one trouble call.
      create another link to /cgi-bin/query1 (this is the open call viewer)
      you might want to make this a tech only page using .htaccess but that
      is up to you.

  10) Two last links.. /helldesk/rquery3.html This is the frontend to the
      searching queries. and /cgi-bin/rquery this displays all the CLOSED
      calls.

  11) make a user called helpdesk, unless you change line 267.

I pray this explains everything. If you read this and get confused email me at
moorleghen@gci-net.com and I will try to help you. I will need to know the type
of system you are running, version of Postgresql, and the path to the pgsql
directory. 

Again thanks for using the Helldesk 1.0 program.
BOFH Michael 'Knut' Moorleghen
