OpenDb Installation Instructions
--------------------------------

1) Requirements

To install the Open Media Lending Database on your site. You will need the 
following:
- WebServer (Apache, IIS,...)  Apache linux/Windows & IIS 5 on Windows 
								both tested to varying degrees.

- PHP 4.06+
  4.1.x, 4.2.x, 4.3.x.

  	* track_vars must be enabled.
	* register_globals can be enabled/disabled.
	* php-mysql module must be installed, so that PHP can access MySQL.
		
- MySQL Database 3.23.2+ (Tested with 3.23.36 - OpenDb should work on earlier 
  versions, but no testing has been done below 3.23.36).  
  
  OpenDb will not function correctly with versions of MySQL prior to 3.23.2.  
  Refer to the docs/misc/count_distinct_and_bug.txt document for more information.

- Sendmail or some other email configured for use with PHP, so that the
  PHP email functions can be used.  If you cannot do this be sure to set
  the include/config.php $CONFIG_VARS['email.use_php_mail'] variable to FALSE.

2) Installation

2.1) MySQL User and Database

You will need to create a user and database in MySQL.  

A simple SQL script is included with the distribution, and can be executed 
as the MySQL 'root' user with the following command from the OpenDb root 
installation directory:

	MySQL 3.23.X
	------------
		mysql mysql -u root -p < docs/MySQL_3.23.X-create_user_and_db.sql
	
	MySQL 4.X.X
	-----------
		mysql mysql -u root -p < docs/MySQL_4.X.X-create_user_and_db.sql
	
You can also use phpMyAdmin or something similiar.
	
2.2) OpenDb Configuration

Edit the include/config.php file so that it suits your needs, especially
in relation to the MySQL database and user/password you configured in
the previous step.

// The MySQL database and its host (If database is on same machine as 
// webserver, then localhost is probably what you want)
$CONFIG_VARS['db_server.host'] = 'localhost';
$CONFIG_VARS['db_server.dbname'] = 'opendb';

// The username and passwd of the MySQL user you created.
$CONFIG_VARS['db_server.username'] = 'lender';
$CONFIG_VARS['db_server.passwd'] = 'test';

2.3) Patch facility

Start the patch.php facility, and perform the Upgrade option you 
require.  You may be performing a New Install or upgrading from 
a previous version of OpenDb.

2.4) Post Installation (For New Install)

You should now open the OpenDb main index.php page and login 
as the default OpenDb user:
	userid: test
	passwd: test

Create a new Admininstrator user and delete the "test" user. 
	
You may also like to protect the log/ directory from direct access
from the Browser so users cannot access the log entries unless they
are administrators.  Refer to docs/logfile.txt for more information.

2.5) Post Installation Continued

You should set the include/config.php variable 
$CONFIG_VARS['patch.enable'] = FALSE; to disable the patch facility.

You should set the include/config.php variable
$CONFIG_VARS['patch.upgrade_check'] = FALSE; to disable expensive
upgrade checking.

3)	Upgrade

3.1) Upgrade 0.81 to 0.81pX

For this upgrade, choose the 'Upgrade from OpenDb 0.80 to 0.81pX' option in 
the Patch facility.  Execute the 'patch_0.81_to_0.81p1.sql' script only.  This
will provide a few minor but important fixes that were discovered after the
first 0.81 release.

3.2) Upgrade 0.80pX to 0.81pX

For this upgrade, choose the 'Upgrade from OpenDb 0.80 to 0.81pX' option in 
the Patch facility. 

The $CONFIG_VARS['listings.s_item_type_group'] configuration option is no 
longer used in the config file, and is replaced by the Type Groups system 
admin tool, you will need to manually migrate any customs settings.

Any site plugins you have will no longer function.  4 of the main site plugins
have been included with the release, but you will need to go to the Site Plugins
system admin tool to 'Install' them.

3.3) Upgrade to 0.81pX from versions prior to 0.80pX

3.3.1) To Upgrade from 0.80-devXX to 0.81, you need to run several patches in order:
	1) Upgrade from OpenDb 0.62 to 0.80
	2) Upgrade from OpenDb 0.80 to 0.81
	
Ensure you run each and every step in the order specified.   Depending on which 
development release you have upgraded from, one or more of  the steps may not be 
available.  Do not skip any steps if they are available to be executed.

3.3.2) To Upgrade from 0.62 to 0.81, you need to run several patches in order:
	1) Upgrade from OpenDb 0.62 to 0.80
	2) Upgrade from OpenDb 0.80 to 0.81

3.3.3) To Upgrade from 0.54 to 0.81, you need to run several patches in order:
	1) Upgrade from OpenDb 0.54 to 0.62
	2) Upgrade from OpenDb 0.62 to 0.80
	3) Upgrade from OpenDb 0.80 to 0.81
	
3.3.4) To Upgrade from 0.50 to 0.81, you need to run several patches in order:
	1) Upgrade from OpenDb 0.50, 0.51, 0.52 or 0.53 to 0.54
	2) Upgrade from OpenDb 0.54 to 0.62
	3) Upgrade from OpenDb 0.62 to 0.80
	4) Upgrade from OpenDb 0.80 to 0.81

3.4) New Installation

For a New installation, execute the New Install patch.

3.5) Previous versions of OpenDb pre-0.62

To upgrade from versions prior to 0.62, you first have to run the 'Upgrade from OpenDb 
0.XX to 0.62' patch first.  Then you can 'Upgrade from OpenDb 0.62 to 0.80' 

For versions of OpenDb prior to 0.54, run the appropriate patch
to upgrade to 0.54, and then run the 0.54 -> 0.61pX patch.

Upgrading from DVDDBP is no longer supported.  Upgrading from versions of
OpenDb prior to 0.50 is no longer supported.  If you need to upgrade from
DVDDBP or a version of OpenDb prior to 0.50.  You should install OpenDb
0.62 first, and upgrade from your old version to 0.62.  Then install this
version and upgrade from 0.62.

4) FAQ

4.1) What if I only want a few (or one) of the types installed, how can I get
	 rid of the others?

	Answer:
		Once you have completed the 'New Installation' or upgrade,
		log in as an Admininstrator user.  Start the 'System Admin Tools' from 
		the menu, and choose the 'Types' tool.  Delete all the types
		you do not want.

4) GD Library issues
	
	Refer to section 4 of the docs/notes/statistics.txt document for
	more information.