OODT Balance - Framework Library

OVERVIEW
====================

This is the OODT Balance Framework library. It provides a common codebase
upon which to build PHP web applications utilizing the OODT framework.

More information about the project is available at http://oodt.apache.org/

INSTALLATION
====================

The library is provided as a PHP Extension and Application Repository (PEAR)
package. More information on how to install the PEAR package manager on your
system can be found at: http://pear.php.net/manual/en/installation.php

Assuming you have the PEAR package manager installed correctly:

1) "cd" into the src/pear directory (you should see a package.xml file)
2) Build the pear package: 
   $ pear package
3) Install the resulting tarball:
   $ (sudo) pear install --force Org_Apache_Oodt_Balance_...tgz


USAGE
=====================

This library forms a codebase upon which applications can be developed. It is a
prerequisite for Balance application development, but can do nothing on its own.
For information on creating and developing applications that target this library,
visit http://oodt.apache.org/

