
Pathena Desktop Search          Version 0.3.3       22 Oct 2005


1. Introduction

Welcome to Pathena Desktop Search.  Pathena is an application for
indexing files and directories on desktops, currently limited to Unix
family operating systems.  Built using a client-server architecture,
Pathena consists of a database server plus a GUI client, along with
assorted scripts, all of which run on a single desktop or workstation.
Search features enable users to find files based on path name or file
content. User-defined profiles guide the discovery of relevant items
within the user's file system.

Several desktop search tools exist for various platforms, some as
commercial products and others as free or open-source applications.
More than most of these offerings, Pathena was designed with
technically oriented users in mind, particularly those well acquainted
with the concept of a hierarchical file system.  Pathena is an open
source tool distributed under a BSD-style license.

The main Pathena web site is located at:
    http://TBD/pathena.html 

Pathena's developers can be reached at:
    pathena@TBD 


2. Dependencies

The Pathena application runs on Unix/Linux platforms using commonly
available open source software packages. It has been tested on Red Hat
family Linux distributions.  It should run on BSD systems, but might
require changes to the scripts.

Pathena is built atop several open source packages.  The most
important component is the PostgreSQL database server, which is
enhanced and maintained by the worldwide team known as PostgreSQL
Global Development Group.  A key add-on for Postgres known as Tsearch2
provides a full-text search capability.  Tsearch2 was developed by
Oleg Bartunov and Teodor Sigaev.

Pathena is written in Python, which is under the ownership of the
Python Software Foundation.  The Tcl/Tk GUI toolkit is accessed
through the Python interface module Tkinter.  PyGreSQL serves as the
database adapter for connecting to the Postgres database from a Python
process.  Many of the standard Python libraries are used by Pathena.

An attempt was made to rely as much as possible on OS commands, shell
utilities and common software packages likely to be found on popular
distributions of Linux and Unix.  File indexing utilities are still
under development for many file types.  Some file conversion functions
might require tools not normally present in a typical Linux/Unix
environment.

Pathena requires a contemporary Python suite (version 2.2.x or later)
and a fairly recent PostgreSQL distribution (version 7.4.x or
later). Recent versions of Linux include suitable implementations of
these as standard software.  Fedora Core 2 and later are known to
contain all required packages.  If all RPMs have been installed on a
Fedora 2/3/4 system, Pathena should run out of the box.


3. Quick Installation Procedure

If you have a recent Unix/Linux distribution with all of the binary
packages installed, you can try the quick setup method.  All that's
needed is to unpack the files and run the one-step installation script.
It will check on needed packages and report any missing items.

 1. Go to your home directory and unpack the tar file:

     tar -xvzf <path>/pathena-<version>.tgz

   This will create the subdirectory '.pathena' under your home
   directory.  All source code, database files and user configuration
   data will be kept here.  No special privilege is needed to run
   Pathena; all software runs with user access permissions only.

 2. Start the installation script as follows:

     ./.pathena/build/quick_install

   This script will check for suitable versions of required software.
   If all packages are available, the initial database will be
   created using default parameter values.  A database server
   process will be started and left running, then the GUI client for
   submitting queries will be started.  If all is successful, Pathena
   will be ready for immediate use.

If the quick_install script reported missing or old software versions,
see the file INSTALL for possible remedies.  Manual installation will
take from 20 minutes to an hour depending on which components are
needed.  Judge for yourself whether it's worth your time.

The quick_install script adds the symbolic link 'pathena' to your
~/bin directory for easy command line invocation, that is, typing
'pathena' from a shell starts the GUI client and, if necessary, the
database server.


4. Acknowledgements

Some concepts and techniques for Pathena grew out of a research
project on mathematical database development during 2003 and 2004.
Ideas from two people in particular were especially helpful: Robert
Marmorstein and David Johnson.  Also helpful was interaction with
other team members David Troiano, Matt Klinger, Kristin Rozier, Chris
Connett, Golar Newby, Neil Nguyen and Joe Pohl.


5. Conclusion

We hope you find Pathena useful and enjoyable.  User feedback is
always welcome.  Further improvements are planned so that the tool
will deserve to be named after Pathena, the ancient goddess of
hierarchical file systems.


Ben Di Vito

bdivito@cox.net

20 October 2005
