KnowledgeTree Upgrade instructions
==================================

Before you upgrade
------------------

Before you upgrade, ensure that your data (KnowledgeTree, Documents, and
database) is backed up safely.  An upgrade may fail to accurately change
the data to the format required by the next version of KnowledgeTree,
and a backup will allow you to return to the original version of
KnowledgeTree.  Please report failed upgrades to the KnowledgeTree
developers.

Automated upgrade
-----------------

The automated upgrade may be used from the command line or through a web
page.  The web page is preferable, as it provides better error
reporting.  The automated upgrade works between any version of
KnowledgeTree to the current version.  The automated upgrade remembers
which upgrades it has performed, and will not perform them again, unless
forced to do so.  Using the automated upgrade will create an upgrade
history that can be reviewed via the KnowledgeTree administrators
interface.

If you are upgrading KnowledgeTree from versions prior to 2.0.6, see the
section at the bottom of this document to set up automated upgrades.

Command line:

- Run bin/automated-upgrade.php
- Any errors will be reported.

Web page:

- If your KnowledgeTree installation is at http://example.org/kt/,
  visit:

  http://example.org/kt/setup/upgrade.php

- Review the upgrades available to you, and select the button to perform
  the upgrade.

- Review the results of the upgrade.



Manual upgrade
--------------

In order to upgrade your KnowledgeTree installation, perform the
following tasks:

- Upgrade your application code, by unpacking the latest download into
  your webroot directory.

- Run the appropriate database upgrade scripts against your database.

  If you are upgrading more than one version, multiple upgrade scripts
  will need to be executed.

  eg. if you're upgrading from version 1.2.2 to version 2.0.0, the
  following upgrade scripts need to be executed:

  - sql/mysql/upgrade/1.2.2-to-1.2.3.sql
  - sql/mysql/upgrade/1.2.3-to-1.2.4.sql
  - sql/mysql/upgrade/1.2.4-to-2.0.0.sql

  It may be that there are no changes to the database format between
  versions, and no upgrade script will be available.

  From version 2.0.6, there may be multiple upgrade scripts for a
  version, contained in a subdirectory with the version name.

  For example, these are the scripts necessary to upgrade to 2.0.6:

  - sql/mysql/upgrade/2.0.6/add_email_attachment_transaction_type.sql
  - sql/mysql/upgrade/2.0.6/create_upgrade_table.sql
  - sql/mysql/upgrade/2.0.6/1-update_database_version.sql

- Run any applicable upgrade scripts in the bin/upgrade directory.
  eg. If you are upgrading from version 2.0.5 to version 2.0.6, you
  should run:

  - bin/upgrade/upgrade-to-2.0.6.php

  Note: You will need to run each intermediate version's upgrade scripts
        manually.  In other words, from 2.0.5 to 2.0.7, you may need to
        run both upgrade-to-2.0.6.php and upgrade-to-2.0.7.php.

- Copy over the changes you made to the configuration to the configuration
  file.


==========================================================================


Additional steps
----------------

KnowledgeTree 2.0.0
-------------------

When upgrading manually to KnowledgeTree 2.0.0, run the following
commands from the KnowledgeTree root directory (not the Root Folder):

	php bin/setPermissionFolder.php
	php bin/rebuildSearchPermissions.php

This requires the CGI or CLI php binary installed.  If there are no error
messages, the process was successful.

You can also run these commands via the web browser.  If your KnowledgeTree
install is at http://example.org/kt/, then go to:

	http://example.org/kt/bin/setPermissionFolder.php
	http://example.org/kt/bin/rebuildSearchPermissions.php

Only errors will be displayed.


---------------------------------------------------------------------------


KnowledgeTree 2.0.6
-------------------

The automated upgrade requires that you set up a database administrator
user (name configurable in config/environment.php, defaults to
'dmsadmin') for the upgrade process to function.  You need to run this
command on your database (say, 'dms') from the MySQL command prompt:

mysql> use dms;
mysql> GRANT ALL PRIVILEGES ON * TO dmsadmin@localhost IDENTIFIED BY 'js9281djw';

In config/environment.php, you should add:

$default->dbAdminUser      = "dmsadmin";
$default->dbAdminPass      = "js9281djw";

You should now be able to use the automated upgrade.


---------------------------------------------------------------------------


Jam Warehouse � Smart Business Innovation
Phone: +27 21 4477440
Fax: +27 21 4477449
Email: info@jamwarehouse.com
Web: http://www.jamwarehouse.com/

$Id: UPGRADE.txt,v 1.4 2005/06/15 21:26:20 nbm Exp $
