This guide explains how to upgrade from an earlier AtoM release (including ICA-AtoM versions 1.1 to 1.3.1 or newer) to 2.2.
If you are on an earlier release of ICA-AtoM (older than 1.1), please upgrade to the latest ICA-AtoM release before following these instructions. Please see Upgrading from ICA-AtoM 1.0.x on the AtoM wiki.
While we have tried to make this document usable by readers with a broad range of technical knowledge, it may be too complex if you have no previous experience with installing web applications or using the Linux command line.
Additionally, consider disabling your web site during the upgrade. Redirect your users to a “Down for maintenance” page temporary using your web server redirection capabilities, or you can put your site in read-only mode while performing the upgrade.
Check minimum requirements¶
Please refer to the Minimum requirements page to make sure that your system meets all the requirements. This is especially important if you are going to be upgrading from an older version of ICA-AtoM (1.1 - 1.3.1 or later), as there will be some new dependencies that we will install as part of the upgrade process.
Read the release notes¶
This is the opportunity to find out what has been changed in the new release, and if there are new features, enhancements and bug fixes that may be of interest to you and your organization.
As a major release with hundreds of issue tickets closed, made public during a time when AtoM is in the process of rewriting its documentation and migrating wiki content, the AtoM 2.0.0 release notes were made in a more general form in our User forum, here.
In the future, we will update these instructions with a consistent place on our new wiki (coming soon), where you can always find release notes for the latest version of AtoM, as well as those from previous releases.
Install the latest version of AtoM¶
Follow the instructions available in our documentation on Installation - our most comprehensive installation notes are included in the Linux section, with additional information for different operating systems and server configurations.
Remember to create a new database for this installation. When you run the web installer, it will erase your previous data if you are using the same database!
Copy your old data¶
At this point, you should have an 2.2 functional installation using a fresh database. Now we are going to copy the contents of the old uploads directory as well as the database:
- rsync is a robust directory sync solution that we can use to copy the contents of your old uploads directory to the new one, even when both directories are in the same machine. Using the command-line, enter the following command:
$ rsync -av /var/www/icaatom_old/uploads /usr/share/nginx/atom/uploads
Where “icaatom_old” is the name of your old installation. The path included for the new installation in this example (/usr/share/nginx/atom) is the path we recommend in our installation documentation.
Alternatively, you can just use cp:
$ cp -r /var/www/icaatom_old/uploads /usr/share/nginx/atom/uploads
- Dump the contents of your old database to a temporary file:
$ mysqldump -u username -p old_database > /tmp/database.sql
- Drop and re-create the new AtoM database to remove any unnecessary tables and columns.
$ mysql -u username -p -e 'drop database new_database; create database new_database character set utf8 collate utf8_unicode_ci;'
- Now, load the contents into the new database:
$ mysql -u username -p new_database < /tmp/database.sql
Run the upgrade task¶
This is perhaps the most critical step in the upgrade process. If you encounter any errors, please consult our main FAQ, search in our User Forum, or if you don’t find a solution, feel free to post a question there yourself. We will be trying to add to our FAQ as we receive feedback, to help users troubleshoot any upgrading issues encountered.
First, change the current directory:
$ cd /usr/share/nginx/atom
Now, run the upgrade-sql task:
$ php symfony tools:upgrade-sql
At this time, we are troubleshooting challenges in translation migration process from older releases to 2.2. Please see issue #5505 for progress - we will update this documentation with instructions when the tranlsation migration process has been optimized and tested. Thank you in advance for your patience.
Regenerate the digital object reference and thumbnail images (optional)¶
If you are upgrading from version 1.3.1 or earlier, you may want to regenerate the digital object reference and thumbnail images. The thumbnail size was smaller in 1.x, so those images will often appear fuzzy in the redesigned digital object browse. A directory naming convention has also been added to make the location of the master digital object more secure.
First, make sure you have not changed the directory (/usr/share/nginx/atom).
Now, run the regen-derivatives task:
$ php symfony digitalobject:regen-derivatives
Rebuild search index and clear cache¶
To make all these changes take effect, you will need to re-index the files you’ve imported into your database, and clear the cache.
First, rebuild the search index:
php symfony search:populate
Then, clear your cache to remove any out-of-date data from the application:
$ php symfony cc
See Clear cache for more detailed instructions.
Set site base URL¶
One final step is to set your site’s base URL. This URL is used in XML exports to formulate absolute URLs referring to resources.
To set the site base URL:
Start using the software!¶
Congratulations! If you are reading this, it means that you have upgraded your data successfully. Now please check that everything is working fine.
Before you put your site in production again, please take a look at your data and check that everything looks good and the data has imported correctly. We will continue to refine this documentation over time to make the upgrade process as smooth as possible, but we still think it is always important to double-check your work. Let us know if you encounter any problems!