These instructions take advantage of the Composer powered update systems in 5.4 for maintenance updates, so make sure:
- Familiarize yourself with the Using Composer page.
- Update Composer, as found on Composer self-update documentation
For Upgrading from versions prior to 5.3 look at the Installation and Upgrade Guides.
You will also find, at the end of this document, a list of new, optional packages that were made available during the maintenance phase of this version.
Before Updating
Follow all* instructions below that applies to the version you're updating from: when updating from 5.4.0 everything applies.
* The version you update to will always be the latests, hence the importance of following all steps.
From 5.4.6 and lower
Update ezpublish-legacy-installer to v2.0.3 for Composer 1.1
Newer versions of Composer sometimes updates it's API's and as such we need to make sure our composer plugin ezpublish-legacy-installer is up-to-date before we do anything else, so if you don't already have ezsystems/ezpublish-legacy-installer
v2.0.3 and Composer 1.1, do the following:
From 5.4.1 and lower
Remove unneeded dependency causing conflicts
Perform the following command to make sure you you are not affected by conflicts caused by this package:
Recommended: Enable php-openssl extension
From 5.4.2 and lower
Upgrade Symfony requirement
Fix possible usage of the XmlText CustomTags pre-converters
The XmlText fix for EZP-23513 (see https://github.com/ezsystems/ezpublish-kernel/pull/1087) deprecates/removes the CustomTags pre-converter in favor of a new Expanding converter. While they're not part of the public API, if you rely on this file in any way, you might want to check and update your code.
Update the rewrite rules configuration
The legacy, v1 REST API, is now integrated to the Symfony Kernel. This allows interaction between this channel and new stack caches (persistence and HTTP). It mainly affects the Content Staging legacy extension. Remove the following line from your rewrite rules and restart your web server:
apache
nginx
From 5.4.4 or lower
Enable the LegacySearchEngineBundle in the kernel
Edit ezpublish/EzPublishKernel.php
, and instantiate eZ\Bundle
\
EzPublishLegacySearchEngineBundle
\
EzPublishLegacySearchEngineBundle
in the list of enabled bundles in the $bundles
array in the registerBundles()
method, right before EzPublishLegacyBundle
.
From 5.4.5 or lower
Check symfony requirement
Make sure you are using Symfony 2.7, as Symfony 2.8 is currently not supported (both are LTS releases, but 2.8 introduced a few breaks that causes problems). So check version using command below, and if 2.8 follow instuctions above to correct it:
Updating packages with composer
With this command you'll update all packages that have received updates:
Tip: Legacy extension autoload
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:
php ezpublish/console ezpublish:legacy:script bin/php/ezpgenerateautoloads.php --extension
After Updating
Follow all instructions below that applies to the version you've updated from, i.e. if you are updating from 5.4.0 everything applies.
Updating from 5.4.1 and lower
Update Solr configuration and reindex content
An eZ Find user needs to update their solr schema.xml
file.
For each solr core (located in ezfind/java/solr
), you need to edit <my-core-name>/conf/schema.xml
Around line 566, right after:
Add the following lines:
Now restart Solr, and re-index your content to be able to take advantage of this improvement.
New packages
New features are sometimes backported from the development version as external packages. They can be installed on top of your existing installation.
Solr search engine (5.4.5)
You may also install the ezsystems/ezplatform-solr-search-engine
package, compatible with eZ Publish Platform kernel 5.4.5 and higher. You can read more about that on the 5.4.5 release notes.
Follow install instructions on the dedicated Solr Search Engine Bundle page.