Learning: Upgrading

About 'Upgrading eZ publish'

eZ publish is a toolkit which is regularly being improved and updated.

Upgrading eZ publish requires the replacement of the eZ publish base directory files with replacements files.

If you add or modify files in eZ publish your upgrade will be much harder on yourself to maintain functionality while still actually upgrading the eZ publish base files and settings.

Issues surrounding avoiding changes to eZ publish base directory not contained in an extension.


  • 'extension/' - Most people store their custom modifications to files in the 'extension/' directory within a subdirectory for the purpose or extension. simply avoid storing modified files outside this directory. It is possible and saves limitless hassle during upgrades.
  • 'settings/' - Most people must customize the 'settings/override/' directory and 'settings/siteaccess/'. While many of these setting may be placed within an extension a few custom modifications often must made or put into place in this directory.
  • 'design/' - Most people place their design modifications here instead of instead of inside an extension directory. You can and should store your design as a 'design extension'.
  • 'bin/' - Many customize the 'bin/' directory, they should store their customizations in an extension directory for 'example extension/example/bin/'.
  • 'kernel/' - Many people customize the 'kernel/' and or 'lib/' directory, they should store their customizations in an extension directory for 'example extension/example/patch/3.8/kernel/'. This is a simple way to patch the kernel again simply.
  • 'share/' - Many people may find the need to customize files in this directory which is discouraged. Instead make your modifications within your extension, 'extension/example/share/' or 'extension/example/patch/3.8/share/'.
  • 'cronjobs/' - A few people add or modify files in this directory. While you should instead manage your custom modifications from within your extension, 'extension/example/cronjobs/' or 'extension/example/patch/3.8/cronjobs/'.
  • 'var/' - Everyone stores their files in the var directory. The var directory storage contains files placed in eZ publish content structure. Many users hosting eZ publish on a unix-like-operating-system will store this directory outside of eZ publish, or within an extension, 'extension/example/var/' and use a symbolic, hard link or mount point to link 'var/' to 'extension/example/var/'


Run the Upgrade Check

Run the 'Upgrade Check' before and after each upgrade. Doing this can protect you from database export / backup / restoration problems and alert you when they occure, perhapse before it is too late.

Upgrade a copy

To avoid a downtime, you can temporarily make your site read-only and use a copy of it to do the actual upgrade on. When you're done you can use the upgraded copy as the new production site.

External references

Upgrade guides