Upgrading dotProject

Upgrading an Existing Version

Here is a general outline of how to upgrade your existing version of dotProject (probably version 0.2.1 or 0.2.2)

  1. Download the latest release and follow the install instructions placing it in a new directory.
  2. Create a copy of your existing dotProject database.
  3. Edit the database parameters in the config.php file to point to this copied db.
  4. Apply the upgrade script to the copied db.
  5. Test out the new version of dotProject. If all is well then promote this version to production and archive your old data (just in case). If there is a problem then let up know.

Upgrading to Version 1.0

Version 1.0 incorporates many additions and modifications to existing database structure.  You need to apply the script upgrade_022_to_100.sql to your MySQL database to upgrade from wither version 0.2.1 or 0.2.2.

Upgrading DotProject 1.0 alpha 1 to DotProject 1.0 alpha 2

The task_log, tasks and projects tables have all changed slightly from alpha 1 to alpha 2. You will need to upgrade your database to take advantage of these improvements.

Apply the upgrade_alpha2_to_beta1.sql script to your database copy.

The example below assumes the following configuration. Please modify the example commands to match your local settings. These commands are executed from the commandline within the dotproject database directory.

	$dPconfig['dbname'] = "dp_1_0_alpha";
	$dPconfig['dbuser'] = "dp_user";
	$dPconfig['dbpass'] = "dp_pass";

Upgrading DotProject 1.0 alpha 2 to DotProject 1.0 beta 1

Beta 1 includes two major security improvements. Changes were made to prevent a vulnerability caused by malicious injection of SQL into the username and password fields. The password encryption method was also changed in line with recommendations from MySQL.

Apply the upgrade_alpha2_to_beta1.sql script to your database copy.

There is a configuration variable, check_legacy_password, that also needs to be set to true.
$dPconfig['check_legacy_password'] = true;
This will capture a password verified under the old encyption scheme and upgrade on the first successful login of the user.


Backup Existing Database
mysqldump -udp_user -pdp_pass dp_1_0_alpha > dp_1_0_alpha1_backup.sql

Upgrade the Database
mysql -udp_user -pdp_pass dp_1_0_alpha < upgrade_100_alpha1_to_alpha2.sql
mysql -udp_user -pdp_pass dp_1_0_alpha < upgrade_100_alpha2_to_beta1.sql

A new temp directory can be found under the files/ directory. This is used for the generation of temporary files (for example, PDF reports). This directory will need to have permissions to make it writable from the web server.

Upgrading Beyond version 1.0.0

All upgrades beyond version 1.0.0 follow the same policy.
Backup the database, then apply the appropriate upgrade_{from_version}_to_{to_version}.sql scripts. As an example, to upgrade from 1.0 to 1.0.2 you will need to apply both upgrade_100_to_101.sql and upgrade_101_to_102.sql.