eZ Publish / Releases / eZ Publish Community Project 2011 / ez-publish-community-project-2011-09

ez-publish-community-project-2011-09

eZ Publish Community Project 2011.09

Requirements

Version : Release date : Requirements :
Community Project 2011.9
OE 5.4.0-dev
Sept 28th, 2011

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

Release Notes - ez-publish-community-project-2011-09

Kernel

Stats

  • 11 bug-fixes for registered issues (and some for bugs without an issue number)
  • 1 enhancements
  • 14 pull-requests merged

See the changelog for details

Bundled extensions

eZ JSCore

  • the javascript libraries were updated: YUI 3 to version 3.4.0, JQuery to 1.6.4

eZ Online editor

  • TinyMCE was updated to version 3.4.5

eZ Form Token

a new extension, dedicated to securing eZ Publish by blocking CSRF attacks

Upgrade Notes

Upgrading from eZ Publish Community Project 2011.8 to 2011.9

This section describes how to upgrade your existing eZ Publish Community Project 2011.8 installation to build 2011.9. 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 directly from eZ Publish Community Project build 2011.8 to build 2011.9 consists of the following steps:

  • Backing up the website
  • Putting the website offline (optional)
  • Upgrading the distribution files to 2011.9
  • Upgrading custom extensions
  • Updating the database
  • Regenerate the autoload array for extensions
  • Running system update scripts
  • 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 2011.8  is compatible with PHP version 5.3 and above. So is eZ Publish Community Project 2011.9. For more information regarding system requirements check out http://doc.ez.no/eZ-Publish/Technical-manual/4.5/Installation/Requirements-4.5

 

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 distribution files

The easiest way to upgrade the distribution files is to unpack eZ Publish 2011.9 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 4: 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 2011.9 tarball, which are currently:

  • ezcomments 1.3.0-dev
  • ezfind 2.5.0-dev
  • ezformtoken 1.0.0-dev
  • ezie 1.3.0-dev
  • ezjescore 1.4.0-dev
  • ezmultiupload 1.5.0-dev
  • ezodf 2.6.0
  • ezoe 5.4.0-dev
  • ezprestapiprovider 1.0.0
  • ezscriptmonitor 1.3.0-dev

 

Step 5: Updating the database

Run the following against your database (valid for MySQL, Postgresql and Oracle):

UPDATE ezworkflow_event SET data_text5 = data_text3, data_text3 = '' WHERE workflow_type_string = 'event_ezmultiplexer';

 

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: Running system update scripts

Run the following commands from the root directory of your eZ Publish installation:

php update/common/scripts/4.6/removetrashedimages.php -s <SITE_ACCESS>php update/common/scripts/4.6/updateordernumber.php -s <SITE_ACCESS>

eZ Find now embeds Solr 3.1 (the version of eZ Find is now 2.5), this requires a full re-indexing of the content if upgrading form an older version of Solr.

 

Step 8: 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 9: 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 2011.8 to Community Project 2011.9

Bugfixes

  • 15717: impossible to purge image aliases
  • 18467: User register : sometimes it is impossible to activate account and 2 mails
  • 18508: Need cleanup of abandoned/broken cluster data
  • 18514: Multiplexer - Classes to run workflow is limited by database
  • 18555: Debug by ip not usable if being a proxy
  • 18582: WebDav doesn't work!! - Credits go to Jakub Derdziak :)
  • 18611: Clearing the design base cache causes timeouts
  • 18625: Upgrading from 4.5 to 4.6alpha1 database (mysql) consistency check fails
  • 18638: append() tpl operator generates a warning when adding a scalar value in an array
  • 18652: eZXML removes spaces around adjacent inline tags
  • 18653: Fatal error when searching for some special characters

Enhancements

  • 17226: Disable subtreeexpirycleanup.php cronjob by default, as DelayedCacheBlockCleanup is disabled

Pull requests

  • 95: from tzilliox/master
  • 104: from alafon/debug-by-ip-018555
  • 105: from crevillo/issue-17226
  • 109: from peterkeung/master
  • 110: from xmak/patch-1
  • 111: from xmak/patch-3
  • 112: from jeromegamez/18423_hostname_fallback
  • 113: from tzilliox/eztemplatedebug
  • 114: from dpobel/admin2_css
  • 115: from jeromegamez/phpdoc_ezsys
  • 116: from eeggenberger/master
  • 117: from emodric/cro_flag
  • 119: from pkamps/StaticCache
  • 121: from nottavi/multilinguishBugs

Miscellanous

  • Fixed: make sure to use the global YUI3 config when loading YUI components
  • Fixed: Syntax error regression in eZSys on PHP 5.2
  • PHPDoc & CS: On eZContentFunctions::createAndPublishObject()
  • Fixed: use of .attr() to make sure it is valid for jQuery 1.6
  • WS: Fixed some whitespace issues in index_image_*.php files
  • Remove trailing empty line
  • Re-introduce $_SERVER lazy initialization
  • Fixed a PHP warning eZDFSFileHandler::getFileList()
  • Revert "Refactor deprecated isPHPVersionSufficient"
  • objectname_filter is not working if object is translated
  • new interface added to autoload
  • Fix for Croatian flag not displaying in admin interface
  • Implemented support for PUT and DELETE + fallback to support those over POST with _method param
  • Added: ezorder_nr_incr for postgresql upgrade
  • Changed: set vertical align of icon title to middle
  • Fixed style of table headers to be consistent across browsers
  • Changed: set vertical align to middle in tables
  • Made buttons a bit bigger especially in Chrome/Safari
  • Replace more Doxygen comments with PHPDoc
  • Make the code a little less dense and thus more readable
  • Add some more PHPDocs
  • Refactor deprecated isPHPVersionSufficient
  • Avoid problems with weird PHP versions
  • Update some more PHPDocs
  • Make sure the server port is just one type
  • Make use of the already implemented type hinting
  • Moved class variables from the bottom to the top of the file, changed file and class comments from oxygen to phpdoc
  • Added a default value to Name input and added a smart default value handling
  • Allow you to use eZTemplate::setIsDebugEnabled() to desactivate the template debug in specific views. For example, if you generate XML or JSON views
  • Added missing documentation on configuration object of eZAjaxUploader
  • Improved: focus the first text input
  • Fixed a typo in location.tpl template for AJAX Uploader
  • Fixed: make sure all strings related to AJAX Uploader can be translated
  • CS & DOC: Add missing trim() and phpdoc in pull request #112
  • Implement: Use new eZSys::clientIp() api introduced in pull #104 for all ip use
  • CS: Two minor fixes for merge 51aaf022c74
  • Added http:// so that parse_url() works
  • Replaced additional variable in site.ini with parse_url of SiteURL, as suggested by @andrerom
  • Added Variable "DefaultHostName" in site.ini and retrieval of it in eZSys::hostname()
  • Fixed a JavaScript error with Image Editor when Packing is enabled
  • Added static fallback in case that the ServerVariable 'SERVER_PORT' is not set (e.g. during Shell execution)
  • Added fallback from SiteURL (site.ini) in case that the ServerVariable 'HTTP_HOST' is not set (e.g. during Shell execution)
  • Improved error message when JSON response can not be parsed
  • Fixed documentation of eZAjaxUploader and eZModalWindow
  • Added animation when opening and closing an eZModalWindow
  • Added a defaut configuration to eZAjaxUploader and eZModalWindow
  • Fixed a JavaScript when ezformtoken is enabled
  • Added: allow to specify language of objects created with eZContentUpload::handleLocalFile()
  • Improved preview in AJAX Uploader
  • Added DO NOT EDIT FILE comment in new templates
  • Fixed: error messages have no specific style
  • Added the AJAX uploader for ezobjectrelation attributes
  • Readded the grey gradient in the title of the modal window IE
  • Changed the modal window tags to be specific to where we need a modal window
  • Added the default (empty) ezobjectrelationlist_ajaxuploader.tpl to avoid a template engine warning
  • Added: grey gradient in the title of the modal window for IE
  • Implemented: upload from object relation list attributes
  • Added a default gif ajax loader to admin2 design
  • Added eZModalWindow JavaScript component
  • Fixed ezajaxrelations_jquery.js to work the new html code
  • Improved usability of ezobjectrelation content edit
  • Improved usability of ezobjectrelationlist content edit
  • Improved usability of  ezobjectrelationlist class attribute edit
  • Check mail address validity following RFC 5322 and RFC 5321
  • The text part of the URL datatype ("_ezurl_text_") shouldn't be required since only URL part is esential in this datatype
  • Allow ezuser fromString to be used for updates
  • Reconfigured branch
  • Added more inline doc and a note in BC doc
  • Script commented out instead of removed, as suggested by andrerom
  • Inline doc added
  • implements the interface
  • interface for staticcache
  • StaticCache Handler instead of hardcoded StaticCache
  • Allow you to use depth uri in the "HostUriMatchMapItems" of your settings. So you can has different siteaccess following uris like that : "paris/fr", "paris/en", "londres/fr", "londres/en"

Tags

eZ Publish 2011