These instructions take advantage of the Composer powered update systems in 5.3 for maintenance updates, so make sure:
For Upgrading from versions prior to 5.3 look at the Installation and Upgrade Guides.
Follow all* instructions below that applies to the version you're updating from: when updating from 5.3.0 everything applies.
* The version you update to will always be the latests, hence the importance of following all steps.
Newer versions of Composer sometimes updates it's API's and as such we need to make sure our composer plugins up-to-date, so to :
# First install Composer v1.0 that works with old version of ezpublish-legacy-installer php -r "copy('https://getcomposer.org/download/1.0.3/composer.phar', 'composer.phar');" # As authentication is built in to composer now, we can remove the following plugin php -d memory_limit=-1 composer.phar remove --no-update --no-plugins bitexpert/composer-authstore-plugin # Then install newer version of ezpublish-legacy-installer that works on Composer 1.1 (will warn about the outdated versions you have from before) php -d memory_limit=-1 composer.phar update --no-dev --prefer-dist --no-scripts ezsystems/ezpublish-legacy-installer # Then make sure composer is updated to latests php -d memory_limit=-1 composer.phar selfupdate
Issues with Zeta Components and Composer have been fixed (new releases of Zeta Components have been made to fix this) so you should edit
composer.json and remove any "
zetacomponents" package like shown below:
php -d memory_limit=-1 composer.phar remove --no-update zetacomponents/archive zetacomponents/authentication zetacomponents/authentication-database-tiein zetacomponents/base zetacomponents/cache zetacomponents/configuration zetacomponents/console-tools zetacomponents/database zetacomponents/debug zetacomponents/event-log zetacomponents/feed zetacomponents/image-conversion zetacomponents/mail zetacomponents/mvc-tools zetacomponents/mvc-authentication-tiein zetacomponents/persistent-object zetacomponents/php-generator zetacomponents/signal-slot zetacomponents/system-information
After doing this, verify that content of
composer.json does not contain any entries for
zetacomponents/ unless you have your own dependencies on them.
ezpublish-legacy now always requires the specific versions of the Zeta Components we use internally.
If you're using Nginx as your webserver instead of Apache, then make sure to update Nginx vhost configuration, changes since 5.3.0: 5.3.1, 5.3.3
For issue composer.json should be edited to take full advantage of the improvement, see the following commit for patch.
Perform the following command to make sure you you are not affected by conflicts caused by this package:
php -d memory_limit=-1 composer.phar remove --no-update --dev behat/mink-selenium-driver
php -d memory_limit=-1 composer.phar require --no-plugins --no-update "sensio/distribution-bundle ~2.3|~3.0"
For issue EZP-26748, see the following commit for patch.
Due to EZP-27026 updating to 5.3.12 using composer with PHP 5.3.3 is currently not possible.
# First delete the Symfony container cache to avoid error, on Windows use something like: DEL /F /Q /S ezpublish/cache/*/*ProjectContainer.php rm ezpublish/cache/*/*ProjectContainer.php # Now update all packages (will warn about outdated bitexpert/composer-authstore-plugin package first time you do this before that plugn is removed) php -d memory_limit=-1 composer.phar update --no-dev --prefer-dist
Legacy extensions autoload must be regenerated when new classes are added. To make sure to avoid any issues always run this command after composer update:
Follow all instructions below that applies to the version you've updated from, i.e. if you are updating from 5.3.0 everything applies.
Import to your database the changes provided in:
And if you use Cluster (DFS) the following:
An eZ Find user needs to update their solr schema.xml.
For each solr core (located in ezfind/java/solr), you need to edit <my-core-name>/conf/schema.xml
Around line 566, right after:
<field name="meta_priority_si" type="sint" indexed="true" stored="true" multiValued="true"/>
Add the following lines:
<!-- denormalised fields for hidden and visible path elements --> <field name="meta_visible_path_si" type="sint" indexed="true" stored="true" multiValued="true"/> <!-- Visible Location path IDs --> <field name="meta_visible_path_string_ms" type="mstring" indexed="true" stored="true" multiValued="true"/> <!-- Visible Location path string --> <field name="meta_hidden_path_si" type="sint" indexed="true" stored="true" multiValued="true"/> <!-- Hidden Location path IDs --> <field name="meta_hidden_path_string_ms" type="mstring" indexed="true" stored="true" multiValued="true"/> <!-- Hidden Location path string -->
Now restart Solr, and re-index your content to be able to take advantage of this improvement.