eZ Publish / Releases / eZ Publish Community Project 2012 / ez-publish-community-project-2012-04

ez-publish-community-project-2012-04

eZ Publish Community Project 2012.04

Requirements

Version : Release date : Requirements :
Community Project 2012.4 May. 2nd, 2012

PHP >= 5.2.14, 5.3 recommended (5.3.7 known to be bugged)
MySQL >= 5.0.51a
PostgreSQL >= 8

If using eZ Find : Java <= 1.6 or >= 1.7.1

Release Notes - ez-publish-community-project-2012-04

Kernel

The highlight:

Stats

See the changelog for details

Upgrade Notes

Upgrading from eZ Publish Community Project 2012.3 to 2012.4

This section describes how to upgrade your existing eZ Publish Community Project 2012.3 installation to build 2012.4. Make sure that you have a working backup of the site before you do the actual upgrade, and make sure the installation you are performing the upgrade on is offline.

Important upgrade notes:

The procedure for upgrading from eZ Publish Community Project build 2012.3 to build 2012.4 consists of the following steps:

  • Backing up the website
  • Putting the website offline (optional)
  • Upgrading the database
  • Upgrading the distribution files to 2012.4
  • Upgrading custom extensions
  • Regenerate the autoload array for extensions
  • Clearing the caches
  • Putting the website online (optional)

 

Check for requirements

It is recommended to always verify the requirements for the new version of eZ Publish before attempting an upgrade. eZ Publish Community Project 2012.3 is compatible with PHP version 5.3 and above. So is eZ Publish Community Project 2012.4. For more information regarding system requirements check out http://doc.ez.no/eZ-Publish/Technical-manual/4.6/Installation/Requirements-4.6

 

Step 1: Backing up the website

  • Filesystem set: the extension and settings folders, plus any other folder where you have put your custom developments in (e.g. design/mydesign)
  • 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; for ezdfs cluster mode both a dump of the storage database and a backup of the shared var folder on nfs)
  • Optional: the complete installation directory of eZ Publish, except for the var directory and for the eZFind index directory. This is mandatory if you have customized the .htaccess or config.php files

Tip: if you have many user sessions, and the session data is stored in the database, it might be a good idea to remove all data from the session table before backing it up
Tip: in ezdb and ezdfs cluster modes, 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

 

Step 2: Putting the website offline (optional)

This step is recommended but not mandatory

  • 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 upgrade process
  • Disable execution of eZ Publish cronjobs

 

Step 3: Upgrading the database

MySQL

Run the following against your MySQL database :

 <span>SET</span> storage_engine<span>=</span>InnoDB; <span>UPDATE</span> ezsite_data <span>SET</span> value<span>=</span><span>'4.7.0rc1'</span> <span>WHERE</span> name<span>=</span><span>'ezpublish-version'</span>; <span>UPDATE</span> ezsite_data <span>SET</span> value<span>=</span><span>'1'</span> <span>WHERE</span> name<span>=</span><span>'ezpublish-release'</span>;   <span>UPDATE</span> eztrigger <span>SET</span> name <span>=</span> <span>'pre_updatemainassignment'</span>, function_name <span>=</span> <span>'updatemainassignment'</span>   <span>WHERE</span> name <span>=</span> <span>'pre_UpdateMainAssignment'</span> <span>AND</span> function_name <span>=</span> <span>'UpdateMainAssignment'</span>; <span>ALTER</span> <span>TABLE</span> <span>`ezdfsfile`</span> <span>CHANGE</span> <span>`datatype`</span> <span>`datatype`</span> VARCHAR<span>(</span><span>255</span><span>)</span>; <span>ALTER</span> <span>TABLE</span> <span>`ezdbfile`</span> <span>CHANGE</span> <span>`datatype`</span> <span>`datatype`</span> VARCHAR<span>(</span><span>255</span><span>)</span>;

Postgresql

Run the following against your Postgresql database :

 <span>UPDATE</span> ezsite_data <span>SET</span> value<span>=</span><span>'4.7.0rc1'</span> <span>WHERE</span> name<span>=</span><span>'ezpublish-version'</span>; <span>UPDATE</span> ezsite_data <span>SET</span> value<span>=</span><span>'1'</span> <span>WHERE</span> name<span>=</span><span>'ezpublish-release'</span>;   <span>ALTER</span> <span>TABLE</span> ONLY ezpending_actions     <span>ADD</span> CONSTRAINT ezpending_actions_pkey <span>PRIMARY</span> <span>KEY</span> <span>(</span>id<span>)</span>;   <span>UPDATE</span> eztrigger <span>SET</span> name <span>=</span> <span>'pre_updatemainassignment'</span>, function_name <span>=</span> <span>'updatemainassignment'</span>   <span>WHERE</span> name <span>=</span> <span>'pre_UpdateMainAssignment'</span> <span>AND</span> function_name <span>=</span> <span>'UpdateMainAssignment'</span>;

 

Step 4: Upgrading the distribution files

The easiest way to upgrade the distribution files is to unpack eZ Publish 2012.4 to a separate directory and then copy into it the directories that contain site-specific files from the existing installation. Make sure that you copy the following directories:

  • design/<mydesign>
  • design/<mydesign_admin>
  • var
  • settings/siteaccess
  • settings/override

Replace "mydesign" and "mydesign_admin" with the actual names of your designs.

Important note: Because the new directory has replaced the original directory, the directory permissions need to be fixed. Use the following commands to do this.

(You have the choice between Shell commands or Alternative shell commands):

  • Shell commands

These shell commands will give proper permission to the web server:

cd </path/to/your/eZ/Publish/directory>chmod -R a+rwx design extension settings var 
  • Alternative shell commands

 These commands will setup the permission more correctly, but require knowledge about the user account used for running the web server process.cd </path/to/your/eZ/Publish/directory>

cd </path/to/your/eZ/Publish/directory>chmod -R og+rwx design extension settings varchown -R <webuser>:<webusergroup> design extension settings var 

 

Step 5: Custom extensions

If you are using custom extensions, the sub-directories inside the "extension" directory will also have to be copied. However, make sure that you do not overwrite any extensions that are included in the eZ Publish 2012.4 tarball, which are currently:

Bundled and enabled

  • ezautosave-1.0.0-rc1
  • ezgmaplocation-1.5.0-rc1
  • ezie-1.4.0-rc1
  • ezjscore-1.5.0-rc1
  • ezmultiupload-1.6.0-rc1
  • ezodf-2.8.0-rc1
  • ezoe-5.5.0-rc1
  • ezprestapiprovider-1.2.0-rc1
  • ezstarrating-1.5.0-rc1
  • eztags-1.3.0-dev

Bundled but not enabled

  • ezcomments-1.4.0-rc1
  • ezfind-2.7.0-rc1
  • ezformtoken-1.1.0-rc1
  • ezscriptmonitor-1.4.0-rc1

Optional installation (depending on the package chosen during the installation wizard)

  • ezflow-2.5.0-rc1
  • ezwebin-1.10.0-rc1
  • ezwt-1.6.0-rc1

 

Step 6: Regenerate the autoload array for extensions

To regenerate the autoload array, execute the following script from the root of your eZ Publish installation:

php bin/php/ezpgenerateautoloads.php --extension

 

Step 7: Clearing the caches

Whenever an eZ Publish website is upgraded, all caches must be cleared in a proper way. This should be done from the root directory of your eZ Publish installation:

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

Tip : Purging ensures that the caches are physically removed. When the "--purge" parameter is not specified, the caches will be expired but not removed.

Sometimes the script is unable to clear all cache files because of restrictive file/directory permission settings. Make sure that all cache files have been cleared by inspecting the contents of the various cache sub-directories within the "var" directory (typically the "var/cache/" and "var/<name_of_siteaccess>/cache/" directories). If there are any cache files left, you need to remove them manually.

 

Step 8: Putting the website back online

This step is optional, and is only needed if you put the website offline at step 2

  • warm up the template cache by pre-compiling template files. This should be done from the root directory of your eZ Publish installation:
php bin/php/eztc.php --wwwdir=<value> --index-file=<value> 
  • re-enable the cronjobs
  • warm up the content cache: use a tool such as curl or wget that will navigate the website to force eZPublish to generate the view cache for all content
  • change the webserver / firewall configuration to allow public access to your website again

Changelog

Changelog from Community Project 2012.3 to Community Project 2012.4

Pull requests

  • Merge pull request 324 from crevillo/issue-019315
  • Merge pull request 334 from trolek/localization
  • Merge pull request 333 from netbliss/master
  • Merge pull request 331 from taenadil/master
  • Merge pull request 306 from crevillo/issue-019242
  • Merge pull request 328 from ptheo/localization
  • Merge pull request 323 from patrickallaert/optimize-eZTemplateSectionIterator-attributes-handling
  • Merge pull request 320 from ljo/master
  • Merge pull request 319 from trolek/localization
  • Merge pull request 321 from SylvainGuittard/master

Bugfixes

  • 19158 : limitation on Group in createPermissionCheckingSQL is very slow in sites with populated groups
  • 19198 : Style conflict between Calendar and eZ Flow layout block
  • 19243 : Sso login mechanism should break inmediately after found a valid ssouser
  • 19246 : Preview not working correctly with Html5 Videos
  • 19297 : clustering doesn't respect StoreFilePermissions
  • 19299 : Uploading an image to an article in IE8 raises an error
  • 19305 : 500 response received when using REST without auth and with non GET verb
  • 19307 : Fix and restore eZFS2 unit test
  • 19315 : Mysterious variable in site.ini file
  • 19323 : Fail to upload docx files with DFS
  • 19337 : Database Check Failed after upgrading from Ez Publish 4.6 > 4.7 rc1 with Postgres (step 1) (cherry picked from commit bb1e7d59930b2de932986377551a74d010f16c71)
  • 19354: ezcontentstaging : changing main node assignment is not synced on postgres
  • 19366 : Uploading images to a dfs mysql cluster not working
  • 19382 : ezformtoken not present in dfs cluster mysql
  • Fixed: array to string conversion in eZXMLTextTest
  • Fixed: not using variable where reference is expected in eZRoleTest
  • Fixed: not using variable where reference is expected in eZPolicyTest
  • Fixed: array to string conversion in eZDFSFileHandler
  • Fixed: array to string conversion in eZDFSFileHandlerMySQLBackend
  • Fixed: array to string conversion in eZDFSFileHandlerMySQLiBackend
  • Fixed: array to string conversion in eZDBFileHandler
  • Fixed: array to string conversion in eZDBFileHandlerMysqliBackend
  • Fixed: array to string conversion in eZDBFileHandlerMysqlBackend
  • Fixed: Using deprecated/removed assertType() calls
  • Fixed test to make it work with PHP 5.2
  • Fixed: change max size of a mimetype to 255 in eZ DFS
  • Fixed the initialization of unit tests related to file handlers and cluster systems

Enhancements

  • 19242 : Avoid file_exists calls in sso mechanism

Localization

  • localization: updated pol-PL translation.ts
  • Italian translation for 4.7
  • localization: updated ell-GR translation.ts
  • localization: updated ell-GR translation.ts
  • localization: updated ell-GR translation.ts
  • Translating new strings in Swedish, swe-SE, for ezpublish.
  • localization: updated pol-PL translation.ts

Miscellaneous

  • Removed: getName() method that prevents PHPUnit 3.6 to work correctly
  • Removed: uneeded empty constructor
  • Reconfigure branch for rc1 (cherry picked from commit d4bc6a46b9a8fdb5da01de8b26842d239956986a)
  • Reconfigured branch (cherry picked from commit 6c879fd2f3dde2f6eaeec17190c9c56ac5ecd04f)
  • Removed wrong phpunit.xml
  • Skipped DFS/PostgreSQL tests when the extension isn't installed
  • Renamed cluster update SQL file
  • Ref #19323 : Update base schema SQL files forMySQL cluster (DB & DFS)
  • Update site registration text to avoid to long text on small display
  • Disable site registration form on submit
  • Updated site registration with privacy text
  • Updated site registration text in setup wizard
  • Added setting to avoid potential access to blacklisted attributes containing sensitive data
  • Optimized: eZTemplateSectionIterator attributes handling
  • Changed: enable eZFS2 unit tests
  • Syntax fix (information collection)
  • Removed: unused variables
  • Reverted unwanted version change

Tags

eZ Publish 2012