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

ez-publish-community-project-2012-08

eZ Publish Community Project 2012.08

Requirements

Version : Release date : Requirements :
Community Project 2012.8 Sept. 3rd, 2012

PHP >= 5.3 (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-08

Important information: There is no 2012.7 version of eZ Publish Community Project, there release notes cover the period ranging from 2012.6 to 2012.8

Highlights

An important refactoring of index.php and the front-end controlling mechanisms has been undertaken and finalized to support full compatibility with eZ Publish 5. Also, an important amount of bug-fixes was added, and few enhancements (mainly due to the full focus on eZ Publish 5). 

 

Stats
  • 29 bug-fixes for registered issues
  • 30 pull-requests merged (Scooore! Keep-on rocking guys!)
  • 2 enhancements

See the changelog for details

Upgrade Notes

Upgrading from eZ Publish Community Project 2012.6 to 2012.8

Important information: There is no 2012.7 version of eZ Publish Community Project, hence these upgrade instructions between 2012.6 and 2012.8

 

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

  • Backing up the website
  • Putting the website offline (optional)
  • Upgrading the distribution files to 2012.8
  • 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.6 is compatible with PHP version 5.3 and above. So is eZ Publish Community Project 2012.8. For more information regarding system requirements check out http://doc.ez.no/eZ-Publish/Technical-manual/4.7/Installation/Requirements

 

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 2012.6 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 2012.6 tarball, which are currently:

Bundled and enabled

  • ezautosave-5.0.0-alpha1
  • ezcomments-5.0.0-alpha1
  • ezgmaplocation-5.0.0-alpha1
  • ezie-5.0.0-alpha1
  • ezjscore-5.0.0-alpha1
  • ezmultiupload-5.0.0-alpha1
  • ezodf-5.0.0-alpha1
  • ezoe-5.0.0-alpha1
  • ezprestapiprovider-5.0.0-alpha1
  • ezstarrating-5.0.0-alpha1
  • eztags-1.3.0-dev

 

Bundled but not enabled

  • ezfind-5.0.0-alpha1
  • ezformtoken-5.0.0-alpha1
  • ezscriptmonitor-5.0.0-alpha1

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

  • ezdemo-5.0.0-alpha1
  • ezdemodesign-5.0.0-alpha1
  • ezflow-5.0.0-alpha1
  • ezwebin-5.0.0-alpha1
  • ezwt-5.0.0-alpha1

 

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

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

php update<span>/</span>common<span>/</span>scripts<span>/</span><span>5.0</span><span>/</span>restorexmlrelations<span>.</span>php <span>-</span>s <span><</span>SITE_ACCESS<span>></span>

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.6 to Community Project 2012.8

Important information: There is no 2012.7 version of eZ Publish Community Project, hence this changelog spanning from 2012.6 to 2012.8

Bugfixes
  • 13472: SSL Zones - invalid redirection from SSL/HTTPS to plain HTTP
  • 13666: clearCronjobMode() doesn't disabled the CronjobMode
  • 15628: 5th argument () of eZOperationHandler::execute is not handled
  • 17571: Multiplexer workflow event (and maybe others) doesn't work with the updatesection and read triggers
  • 18596: BackEnd generates a bunch of errors on specific case
  • 18614: Edit menu hidden when the page browser window/backend site ends
  • 19002: rest api: session always created even for anon users
  • 19045: endless recursion in eZSys::clientIP()
  • 19169: duplicated object state groups after changing default language
  • 19174: previous versions XMLText embeds may not be added as relations
  • 19204: Table options don't remember user selection in backend
  • 19280: Wrong redirect when publishing a new draft from preview
  • 19312: updateviewcount script only adds one hit per node in each execution
  • 19319: search under the current location not available in admin2
  • 19397: General digest settings table is not updated when changing email
  • 19457: Trashpurge problems with related objects
  • 19471: Hidden objects not found in admin interface (needs also eZ Find patch)
  • 19495: eZP 4.6 Runcronjobs.php ignoring -q flag
  • 19500: dfscleanup on win32 lists/deletes files which are valid
  • 19501: Incorrect behavior of collaboration/view/summary with multiple validators
  • 19503: Broken settings in site.ini: CookieSecure and CookieHttpolny
  • 19521: Content - action view defines some not necessary vars as they're not used at all in the code
  • 19522: Already defined var warning in children_detailed template in admin site
  • 19544: Showing/hiding a large number of objects generates fatal error.
  • 19547: Redirect after login always redirecting to home page
  • 19556: Class and Attribute identifier duplications
  • 19565: fatal error in orderStatistics (sql error when there is no product for selected date)
  • 19571: assigning title to id (on image)
  • 19572: GET parameters lost in SSLZone based redirection

Enhancements
  • 19126: Insert metadata based on keywords
  • 19575: Auto select attributes in the *wait until date* workflow

Pull requests
  • 294: from peterkeung/master
  • 322: from crevillo/issue-19312
  • 359: from pbras/master
  • 361: from patrickallaert/issue-18596
  • 367: from crevillo/issue-19521
  • 368: from crevillo/issue-019522
  • 371: from ezsystems/fix-issue-19174
  • 372: from ezsystems/fix-issue-18614
  • 374: from patrickallaert/issue-19457
  • 376: from patrickallaert/issue-19002
  • 378: from patrickallaert/issue-19544
  • 379: from ezsystems/issue-19471
  • 380: from jjCavalleri/19547-1
  • 385: from ezsystems/fix-19500
  • 386: from pkamps/empty_local_view_cache
  • 387: from ezsystems/fix-15628
  • 389: from ezsystems/fix-19204
  • 390: from taenadil/eZOrder
  • 391: from ezsystems/19397_general_digest_update_email
  • 392: from jjCavalleri/19495
  • 393: from jjCavalleri/19556
  • 397: from pedroresende/master
  • 398: from ezsystems/017571_multiplexer_node_id_support
  • 399: from ezsystems/19501_collaboration_view_summary_multiple_validators
  • 402: from patrickallaert/issue-19126
  • 403: from jjCavalleri/19572
  • 405: from pedroresende/master
  • 406: from patrickallaert/issue-19575
  • 407: from iosolinf/19571
  • 414: from ezsystems/treemenuRefactor

Miscellaneous
  • This list is unusually long, as there has been a lot of refactoring activity to on frontend controllers
  • (index.php, index_treemenu.php) to be ready for eZ Publish version 5 later on
  • Fixed regression avoiding debug to work
  • Added proper session management in ezpKernelTreeMenu. Can now use the Symfony session handler if going through eZ Publish 5
  • Exception usage can now be configured via the $settings param in ezpKernelTreeMenu constructor
  • Added default settings values in ezpKernelWeb
  • Refactored ezpKernelResult to be able to store arbitrary attributes in it.
  • Fixed missing isset() in eZDebug::updateSettings()
  • Fix regression from #019544: Showing/hiding a large number of objects generates fatal error
  • Ensure to deactivate debug output in content/treemenu, in case going through index.php instead of index_tree_menu.php
  • Force not to use pagelayout using treemenu
  • Refactored index_treemenu.php to use ezpKernel with a dedicated ezpKernelHandler instance.
  • content/treemenu now using (at last) json_encode() instead of custom arrayToJSON() function
  • Moved ob_start() and HTTP headers override to ezpKernelWeb::run()
  • Added Estonian, North and South Koren flags into /share/icons/flags folder to address the issue #019573: Additional country flags
  • Update the Copyright date
  • Implement: Fallback to port 443 for https in eZHTTPTool::sendHTTPRequest()
  • Revert "Merge pull request #391 from ezsystems/19397_general_digest_update_email"
  • Revert "Revert "Merge pull request #391 from ezsystems/19397_general_digest_update_email""
  • Revert "Merge pull request #391 from ezsystems/19397_general_digest_update_email"
  • handling edge case of empty view cache file
  • Improved fix for #19500
  • Fixed: PHP message: "Strict standards: Only variables should be assigned by reference"
  • Added a Symfony session handler to let Symfony manage the session
  • Changed legacy session system to work with Symfony2 session
  • Fixed: redirection to edit mode after changing section
  • Added possibility to inject a siteaccess to the kernel web handler
  • Added possibility to inject parameters to the kernel web handler
  • Added eZSiteAccess::TYPE_CUSTOM
  • Added reInitialize() method to ezpKernelHandler interface
  • Added eZScript::setIsInitialized()
  • Changed ezpKernelHandler::runCallback() signature. We now can avoid per-request reinitialization (default stays re-init every time)
  • Refactored ezpKernel to be able to inject a "kernel handler", depending on the context (i.e. web or cli)
  • Updated helloworld.tpl to add content object support
  • Added possibility to bypass ezcomponents autoloader
  • Fixed EZPNEXT-648: Shutdown handlers should act on every sub requests and not if no request has been made
  • Removed: exception support for content moved
  • Added TODOs in ezpKernel
  • Removed: shutdown() function from index.php that is automatically handled
  • Added: possibility to get exceptions for general kernel errors
  • CS: preferring 'self' instead of classname in eZModule
  • Fixed: some include relying on being included from ezp4 root dir
  • Fixed: issue regarding accesing $site variable
  • Changed: refactored shutdown process of legacy kernel
  • Fixed: wrong rootDir computing in eZIni
  • Added a test template
  • Changed: refactored ezpKernel to add runCallback()
  • Fixed: path problems when called from ezp-next-mvc
  • Changed: placed shutdown() method at correct place
  • Removed: isBooted property leftover
  • Changed: refactoring boot() method as a constructor
  • Fixed: db objects are not instances of eZDB
  • Changed: ezpKernel::run() to return a result
  • Changed: decoupling things a bit in ezpKernel
  • Changed: splitted index.php for reusability in new MVC stack
  • Show proper edit conflict object information

Tags

eZ Publish 2012