This section describes how to upgrade your existing eZ publish 3.5.x installation to version 3.5.y, for example from 3.5.0 to 3.5.11. If you are upgrading from a version prior to eZ publish 3.5.0, you should first upgrade to 3.5.0 as described here.
Please make sure that you have a working backup of the site before you do the actual upgrade. The upgrade procedure consists of the following steps:
The easiest way to upgrade the distribution files is to unpack eZ publish 3.5.11 to a directory and then copy the directories that contain site-specific files from the existing installation. Make sure that you copy the following directories:
Replace "example" and "example_admin" with actual names used by your siteaccesses.
If you are using custom extensions then the subdirectories inside the "extension" directory will also have to be copied. However, make sure that you do not overwrite any extensions that come with eZ publish (for example the "PayPal" extension).
To upgrade 3.5.0 database to 3.5.11, you should navigate into the eZ publish 3.5.11 directory and run the following database upgrade scripts one after another:
The database upgrade scripts are located in the "update/database/mysql/3.5/" directory of your eZ publish installation. Each of these scripts can be launched using the following shell command:
mysql -u <username> -p<password> <database> < update/database/mysql/3.5/dbupdate-3.5.x-to-3.5.y.sql
The database upgrade scripts are located in the "update/database/postgresql/3.5/" directory of your eZ publish installation. Each of these scripts can be launched using the following shell command:
psql -d <database> -U <dbowner> < update/database/postgresql/3.5/dbupdate-3.5.x-to-3.5.y.sql
In eZ publish 3.5.1, a new top level node/object called "Design" has been added. You need to run the "updatetoplevel.php" script for your admin siteaccess in order to make sure that all your top level nodes are properly configured (replace "example_admin" with the actual name of your admin siteaccess):
./update/common/scripts/updatetoplevel.php -s example_admin
The script will check the top level nodes and match them with the values defined in the "menu.ini" configuration file or its override. If "menu.ini" or its override contains incorrect information about the top level nodes, it will be automatically updated. If some of the top level nodes are missing, these will be created. (Please note that this script has been improved in eZ publish 3.5.2. If you are upgrading to a version prior to 3.5.2, it is recommended to copy the script from 3.5.2.)
In eZ publish 3.5.3, the "Time" datatype has been modified in order to make it possible to interpret the value of hours and minutes properly and independently from DST and GMT transformations (see the feature doc for more information). You need to run the "updateeztimetype.php" script in order to convert the attributes of the "eztime" datatype from GMT to the server local time (replace "example" with the name of the siteaccess):
./update/common/scripts/updateeztimetype.php -s example
Please note that it is recommended to create a database backup before using this script. The script must be run for each siteaccess.
Since some PHP functions (like crc32 and ip2long) work in different ways on 64bit and 32bit servers, changes have been made in eZ publish 3.5.8 in order to avoid problems when migrating from 32bit to 64bit architecture. You need to run the "updatecrc32.php" script when upgrading even if you don't have a 64bit machine:
./update/common/scripts/updatecrc32.php
The script will update old signed to unsigned values in the database. It is also recommended to specify "64bitCompatibilityMode=enabled" in your "site.ini.append.php" configuration file.
You are not required to do any configuration changes when upgrading from 3.5.x to 3.5.y. However, it is recommended to specify "64bitCompatibilityMode=enabled" in your "site.ini.append.php" configuration file after running the "updatecrc32.php" script.
Whenever an eZ publish solution is upgraded, all caches must be cleared in a proper way. This should be done from within a system shell:
bin/shell/clearcache.sh --clear-all
Please make sure that all caches are cleared. Sometimes the script is unable to clear caches because of restrictive file/directory permission settings. Make sure that all caches have been cleared by inspecting the contents of the various cache subdirectories within the "var" directory.
Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2013 eZ Systems AS (except where otherwise noted). All rights reserved.