From Qubit Toolkit
Jump to: navigation, search

If you are upgrading from Release 1.1 or 1.2 to Release 1.3, please refer to the ICA-AtoM 1.3 upgrading guide. Otherwise, continue reading below.

These instructions guide you through upgrading an older release of the Qubit application (e.g. ICA-AtoM or DCB, up to release 1.1) to the latest version.

These instructions are intended for your system administrator and require some basic experience with Linux command-line tools.


[edit] Save current data

Dumping your data must be done before updating to the latest version of the application.

To migrate your existing data to the new version of the application you will need to create a YAML backup file (dump). Type,

$ php example/path/to/symfony propel:data-dump /exampleFileName.yml

As an extra precaution against data loss, create a MySQL backup of your current data as well,

$ mysqldump -u exampleusername -p yourqubitdatabasename > mysqldump_20100517.sql

See mysqldump for more information on the mysqldump command.

[edit] Upgrade application code

You will either download the newest tarball archive or checkout the new release from the Subversion repository.

See installation for more information on the differences between installing from a tarball archive or Subversion repository.

[edit] Move existing application directory

If you wish to install to the same directory as your previous version you must remove the old installation directory first. Moving the existing directory, rather than deleting it, preserves any digital objects, custom files or translations for transfer to the new version of the application.

If you are installing the new version of the application to a new directory, this step is unnecessary.

e.g. moving previous /var/www/dcb directory to /var/www/old_dcb,

$ mv /var/www/dcb /var/www/old_dcb

[edit] Upgrade from a tarball

Download the latest ICA-AtoM [1] or DCB [2] tarball and extract the tarball to a new directory in your web root.

For example, to extract the dcb-1.0.9.tgz tarball to the /var/www/dcb-1.0.9 directory, type,

$ tar xzf dcb-1.0.9.tgz -C /var/www

See man tar for more information on the tar command.

[edit] Checkout from Subversion

Because there may be changes to the configuration files and directory structure between releases, we highly recommend checking out a fresh working copy of the application; You may experience application errors if you chose to update an existing working copy.

Checkout the latest version of the code from the appropriate repository (ICA-AtoM, DCB, Qubit trunk).

e.g. to checkout a new copy of ICA-AtoM to the directory /var/www/icaatom-1.0.8, type,

$ svn checkout http://qubit-toolkit.googlecode.com/svn/branches/ica-atom /var/www/icaatom-1.0.8

See svn checkout for more information on the Subversion "checkout" command.

[edit] Run installer

See installation for instructions on running the web-based application installer.

[edit] Migrate uploads

Copy the your uploaded images, videos, PDFs, etc. from your old application folder to your new application folder by copying the contents of your uploads directory,

$ cp -r old_application_dir/uploads new_application_dir/uploads

See the special instructions below for #Upgrading from 1.0.8 to 1.0.9.

[edit] Migrate data

The Migration Task provide an automated, command line tool for moving data from one version of Qubit or ICA-AtoM to the newest version of the application. It implements the Symfony Task (CLI) framework.

To run the migration task, open a terminal window and enter the following command,

$ php example/path/to/symfony propel:migrate exampleFileName.yml

See the special cases section below for additional instructions for particular releases.

[edit] Load migrated data

Because the data load process can be very memory and CPU intensive, we recommend disabling the search index when loading any medium to large database (more than 1,000 descriptions).

First, clear any existing data out of your database

$ php example/path/to/symfony propel:insert-sql

Then load the new, migrated data

$ php example/path/to/symfony propel:data-load migrated_data_20100517141011.yml

[edit] Migrate translations

If you have done any custom translations of the user interface, they will be stored in the apps/qubit/i18n directory. Copy them from your old application directory to the new,

$ cp -r old_application_dir/apps/qubit/i18n new_application_dir/apps/qubit/i18n

Your translated metadata (archival descriptions, authority records, archival institutions, etc.) is stored in the database, and will be restored from your data dump.

[edit] Rebuild search index

Due to data changes during the upgrade process, you will need to rebuild the search index after upgrading.

[edit] Clear cache

Clear your cache to remove any out-of-date data from the application,

$ php example/path/to/symfony cc

See clear cache for more detailed instructions.

[edit] Special cases

[edit] Patch Releases

These minor releases do not require an update to the data model, which makes upgrading considerably easier. Please see the links below for instructions on upgrading.

[edit] From 1.0.8 to 1.0.9

Prior to release 1.0.9-beta, uploads were stored in a "web" directory. This means that the #Migrate uploads step above is modified slightly,

$ cp -r old_application_dir/web/uploads new_application_dir/uploads

[edit] From 1.0.7 or earlier

The "aclGroup" module must be specifically enabled to allow administrating user groups in release 1.0.8 and later.

Go to file apps/qubit/config/settings.yml,

#    # Activated modules from plugins or from the symfony core
    enabled_modules:        [default, aclGroup]

[edit] See also

  • Migrations - developer documentation describing the mechanics of the migration task.
Personal tools