Welcome!!

This README covers the following topics:

   0. **IMPORTANT** Notes
   1. What is PRepS (and what is in the libPRepS package)
   2. Why did I create PRepS
   3. Why is PRepS now distributed as two packages
   4. How to install libPRepS
   5. The create_prepsdb script
   6. The update_prepsdb script
   7. Adding Users


0. **IMPORTANT** Notes

If you are upgrading from a version of PRepS where the client and server
end were all in one distribution, please be aware that a file install
locations have changed.  Specifically, the e-mail notification message
template files have moved from $datadir/preps to $datadir/libpreps.

If you use PRepS' e-mail notification feature, and have created your own
message templates, please move them.


1. What is libPRepS

PRepS is a simple Problem Reporting System.  PRepS is designed around the
bug tracking needs of small to medium sized software projects.  However, 
PRepS may be flexible enough to be used for other types of problem or
status tracking.  For example, PRepS could be setup to track things 
that need fixing around the house.  Be creative.

The libPRepS package contains the server side scripts used to create and
update PRepS databases.  It also contains libpreps.  libpreps is a library
that contains routines used by the server, as well as some routines 
common to the user interface.  For that reason, it is needed for both 
the server and the client.

2. Why did I create PRepS

I created PRepS for a couple of reasons:
   o I needed a simple bug tracker for myself, and gnats seemed like
     it was overkill for what I needed.
   o I wanted to get some more experience working with relational 
     databases.
   o I thought it sounded like fun (for the most part, it was).

Note that PRepS is best suited to small and medium sized projects where
all of the developers are under one roof (so to speak).  If you need
to do things like support remote users sending in problems via e-mail,
I stronly suggest that you use a system like gnats.


3. Why is PRepS now distributed as two packages

Several reasons:
  o You should be able to have the database on one server, and the 
    user interfaces built on different clients if you do desire.
    This setup should help facilitate this.
  o The items in libPRepS don't change very often.  It does not make
    sense to download, re-build, and re-install these items every time
    there is a change to the client UI code.
  o I want to create other user interfaces for PRepS.  For example, I may
    someday create a KDE interface.  There is no reason that the server
    stuff should be coupled with any of the user interfaces.


4. How to install libPRepS

Well, first off, you will need to have Glib v1.2+ installed, as well as
PostgreSQL v7.x.  (PRepS will work with PostgreSQL v6.5.x, but you will
need to modify a few things.  Please see the online documentation for 
details) 

You also will need to be a PostgreSQL user with permission to create
databases, and you will either need to 'postgres' account password, or
access to someone who does have it.  See your PostgreSQL admin if this
is all greek to you.

Other than that, see the INSTALL file for detailed instructions.


5. The create_prepsdb script

This script is used to setup PRepS databases.  It sets up the tables, 
triggers, and default data.  It also installs the PL/pgSQL language
into the database (which is why you need to 'postgres' user account
password to run it).

You can create any number of databases, as long as you have enough
diskspace.  

You can have all of your projects in one database, or you could have
one database per project, or anything in between.  You should lay this
out as best fits your needs. 


6. The update_prepsdb script

This script is used to update the schema of an existing PRepS database.
If you are updating from an older version of PRepS, you MAY need to 
run this script.  In general, if the first or second number in the
preps version changes (v1.2.4 vs v1.4.0, for example), or if you are
using a development version, chances are good that you will need to 
run this script. 

See the INSTALL file for details.

7. Adding Users

One special note on this.  Users must be setup on PostgreSQL and in PRepS.

Setting up new users in PRepS should be fairly self explanitory from the
user interface.

See 'man createuser' for details on setting up a PostgreSQL user.

Once the user is setup in PostgreSQL AND PRepS, they can start using the
system.

Note that the PostgreSQL user id and the ID given to PRepS should match.


enjoy!


$Id: README,v 1.3 2000/11/23 15:14:43 stuffle Exp $
