Blogs / Gaetano Giunta / The completely unofficial eZ Publish deployment checklist

The completely unofficial eZ Publish deployment checklist

Friday 04 March 2011 7:13:40 am

  • Currently 5 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

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...)

  1. backup the current installation
    1.  

      filesystem set: the extension and settings folders

       

    2.  

      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)

       

    3.  

      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

  1. [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

     

  2. disable execution of eZ Publish cronjobs

     

  3. copy new files over the current installation

     

  4. clear all caches

     

php bin/php/ezcache.php –clear-all --purge

  1. if you have added new extensions or new php files in your extensions, regenerate the autoload configuration

     

php bin/php/ezpgenerateautoloads.php

  1. compile templates to warm up caches

     

php bin/php/eztc.php [–-wwwdir=...] [–-index-file=...]

  1. if you have modified any of the following items in the development/staging servers, you will need to reproduce the same changes in the production server via the administration interface:
    1. roles & policies
    2.  

      workflows

       

    3.  

      sections

       

    4.  

      object states definitions

       

    5.  

      url aliases

       

    6.  

      content class definition (can also be imported via packages)

       

    7.  

      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

  1. if you have activated new extensions that need some tables in the database, create those tables (eg. via phpmyadmin or the mysql command line, for mysql databases)

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

  1. [optional] reindex content if you have installed eZ Find and have changed the indexing configuration

     

php extension\ezfind\bin\php\updatesearchindexsolr.php

  1. re-enable cronjobs

     

  2. [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

     

  3. [optional] put the public website back online if you had switched it off at point 2

[edit: mmm, looks like the online editor mangled up my nice formatted list... if only there was access to xml source ;-) ]

eZ debug

Timing: Jan 18 2025 02:15:48
Script start
Timing: Jan 18 2025 02:15:48
Module start 'content'
Timing: Jan 18 2025 02:15:48
Module end 'content'
Timing: Jan 18 2025 02:15:48
Script end

Main resources:

Total runtime0.2070 sec
Peak memory usage6,144.0000 KB
Database Queries182

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0066 589.0859180.8047
Module start 'content' 0.00660.0874 769.8906417.6016
Module end 'content' 0.09400.1129 1,187.4922407.3125
Script end 0.2069  1,594.8047 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00422.0104210.0002
Check MTime0.00150.7201210.0001
Mysql Total
Database connection0.00090.441610.0009
Mysqli_queries0.119557.74461820.0007
Looping result0.00170.81111790.0000
Template Total0.180487.120.0902
Template load0.00221.059520.0011
Template processing0.178286.082520.0891
Template load and register function0.00010.049810.0001
states
state_id_array0.00090.435310.0009
state_identifier_array0.00090.442620.0005
Override
Cache load0.00190.9125970.0000
Sytem overhead
Fetch class attribute name0.00160.760520.0008
Fetch class attribute can translate value0.00070.347910.0007
class_abstraction
Instantiating content class attribute0.00000.004820.0000
XML
Image XML parsing0.00020.119810.0002
General
dbfile0.00341.6254220.0002
String conversion0.00000.004430.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplblog_entry/full.tplextension/community_design/design/suncana/override/templates/blog_entry/full.tplEdit templateOverride template
2content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
1content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
22content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
23content/datatype/view/ezxmltags/li.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/li.tplEdit templateOverride template
11content/datatype/view/ezxmltags/ol.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/ol.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 61
 Number of unique templates used: 7

Time used to render debug report: 0.0001 secs