Forums / General / best practice for eZ Publish upgrade when using SVN

best practice for eZ Publish upgrade when using SVN

Author Message

Greg McAvoy-Jensen

Friday 12 September 2008 8:54:23 pm

If one is using Subversion to deploy to the testing/staging server and production server (as well as development machines), what is the best step-by-step process for upgrading eZ Publish? Assume we're using the directory structure of the "myproject" example in Jérôme Renard's article (http://ez.no/developer/articles/using_subversion_with_ez_publish/common_problems_and_solutions) (but without having the database under version control).

My initial thought would be:

1. Backup.
2. Create a fresh installation of the new eZ Publish version in a directory called ezpublish-x.y.z.
3. Copy site-specific to new installation.
4. svn import ezpublish-x.y.z svn://example.com/path-to-repository/trunk/ezpublish-x.y.z.
5. Each developer can then svn checkout the new version, point it at their database, run the database upgrade script, and point Apache to new the new directory.
6. svn copy svn://example.com/path-to-repository/trunk/ezpublish-x.y.z svn://example.com/path-to-repository/branches/testing/ezpublish-x.y.z.
7. On the testing server, svn checkout the new version, point it at the testing database, lock down the database, copy over the old var directory (and needed ini files), run the database upgrade script, point Apache to the new directory, and unlock the database.
8. On the production server, svn checkout the new version, point it at the testing database, lock down the database, copy over the old var directory (and needed ini files), run the database upgrade script, point Apache to the new directory, and unlock the database.

Is this the most efficient way to handle it? What improvements could be made? On a live server where one does not have root access and relies on the host system administrators to point Apache to the new directory, is it best to have a sym link (link www to ezpublish-x.y.z) so we can re-point it ourselves (assuming following sym links is allowed)?

Thank you for your input.

Granite Horizon, Certified Developer of eZ Publish Web Solutions
Provider of the SaaS Solution Granite Horizon In The Cloud | http://granitehorizon.com/cloud
http://granitehorizon.com | +1 916 647 6350 | California USA | @granitegreg
Blog: http://granitehorizon.com/blog

eZ debug

Timing: Jan 19 2025 01:02:41
Script start
Timing: Jan 19 2025 01:02:41
Module start 'content'
Timing: Jan 19 2025 01:02:42
Module end 'content'
Timing: Jan 19 2025 01:02:42
Script end

Main resources:

Total runtime0.9360 sec
Peak memory usage4,096.0000 KB
Database Queries183

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0106 590.2266180.8203
Module start 'content' 0.01060.8015 771.0469481.0234
Module end 'content' 0.81200.1239 1,252.0703333.0625
Script end 0.9359  1,585.1328 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00390.4204210.0002
Check MTime0.00150.1599210.0001
Mysql Total
Database connection0.00100.104110.0010
Mysqli_queries0.867992.72901830.0047
Looping result0.00170.18071810.0000
Template Total0.900396.220.4502
Template load0.00190.207720.0010
Template processing0.898495.985120.4492
Template load and register function0.00010.013910.0001
states
state_id_array0.00200.214110.0020
state_identifier_array0.00140.151720.0007
Override
Cache load0.00160.1693160.0001
Sytem overhead
Fetch class attribute can translate value0.00110.114720.0005
Fetch class attribute name0.00060.065620.0003
XML
Image XML parsing0.00090.098320.0005
class_abstraction
Instantiating content class attribute0.00000.000320.0000
General
dbfile0.00710.7580290.0002
String conversion0.00000.000830.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.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
1content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
1content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
2content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
1content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 7
 Number of unique templates used: 6

Time used to render debug report: 0.0002 secs