Friday 04 March 2011 7:13:40 am
By : Gaetano Giunta
This is a checklist of actions for an update of an eZ Publish website. Comments/contributions are welcome.
Definition of “update”: not an eZP version bump; new functionality added to the site (new extensions, changed templates, settings, etc...)
filesystem set: the extension and settings folders
content set: the var/storage, var/<vardir>/storage folders, and a dump of the database (nb: for ezdb cluster mode, a dump of the storage database is needed instead of the storage folders)
optional: the complete installation directory of eZPublish, except for the var subdirectory and for the eZFind index directory. This is a good idea if in your update you changed eg. the .htaccess or config.php files
tip: if you have many users sessions, and the session data is stored in the database, it might be a good idea to drop data from the session table before backing it up
tip: in ezdb cluster mode, it is a good idea to clear all caches before dumping the storage database, as it is not easy to only backup storage and not caches
[optional] put the public website offline and set up a courtesy page to prevent end users from accessing the website while you upgrade. This involves generally modifying the webserver configuration. Make sure you have a different vhost available to access the public website using a private IP address or hostname during the update process
disable execution of eZ Publish cronjobs
copy new files over the current installation
clear all caches
php bin/php/ezcache.php –clear-all --purge
if you have added new extensions or new php files in your extensions, regenerate the autoload configuration
php bin/php/ezpgenerateautoloads.php
compile templates to warm up caches
php bin/php/eztc.php [–-wwwdir=...] [–-index-file=...]
workflows
sections
object states definitions
url aliases
content class definition (can also be imported via packages)
new content objects (can also be imported via packages)
If you use configuration files to store the id of some particular nodes/objects, and you created such objects at point g), remember to update those configuration files
tip: well-behaved extensions do declare their tables in the proper format, and if you use the “upgrade check / database” page in the administration interface, you will get a list of all missing tables
[optional] reindex content if you have installed eZ Find and have changed the indexing configuration
php extension\ezfind\bin\php\updatesearchindexsolr.php
re-enable cronjobs
[optional] run a cache-warmup script: use a tool such as curl or wget that will navigate the website to force eZPublish to generate the view cache
[edit: mmm, looks like the online editor mangled up my nice formatted list... if only there was access to xml source ;-) ]