Path

ez.no / developer / news / ez publish 4.1.0 released


eZ Publish 4.1.0 released

As announced earlier, we are proud to release eZ Publish 4.1.0 which incorporates many new features in its kernel or associated extensions, along a slew of bug fixes and important performance enhancements for both small and large (clustered) sites.

New in eZ Publish 4.1

Kernel related improvements

Object states

Typical workflow-like processes basically boil down to transitions in states for objects driven by human or other external interaction. The introduction of freely definable object states, possibly grouped in object state collections and coupled to the role/policy system of eZ Publish, enables a wide range of workflow type solutions. Use cases range from multi-stage editorial approvements, check-in / check-out, a personal trashcan and more.
Read the online tutorial about Object States.

(Open)Solaris 10 support

Since eZ Publish 4.1, (Open)Solaris on x86 is an officially supported platform. Especially with the Sun provided AMP stack ( Sun GlassFish Web Stack), (Open)Solaris may be an attractive alternative for Linux or Windows.

Improved cache mechanism & performance enhancements

Important enhancements include changes to the cache system for high traffic sites and related optimizations. The basic idea implemented is that caches are not deleted and then regenerated, but new versions are made by the first request needing them, while other request are receiving the expired cache elements until the refresh is complete. This basically avoids mutexes and DB deadlocks for high traffic sites. Learn more...

Further performance gains are obtained with various optimisations in code, schema optimizations and algorithms (other cache handling, ini system, ...)

More..

  • Introduction of low level eZ Components (Archive handler, System information, WebDAV, ConsoleTools),
  • A new language switcher
  • Improved WebDAV handler (read the related article)
  • Provisions for more handler methods for eZ Find and other search plugins, ....
  • New operations and triggers have been added
  • Template override, object and node fetch by remote id
  • New settings for improved flexibility and debug tracing in LDAP (ref: #12114)
  • Improved session security by regenerating session id on log in/log out and configurable validation of session (ref: #14264)
  • Added settings for tweaking view cache efficiency (ref: #14344)
  • Missing connection to database, will now throw an exception, and stop the loading of the page

Associated extensions

eZ OE 5.0 (bundled)

eZ Online Editor 5.0 is the replacement for Online Editor 4.x and is based on tinyMCE, witch makes it work on IE7 Vista, support full screen editing, re-sizable edit area and a lot more out of the box.

eZ Flow 1.1 (setup option)

eZ Flow has become more modular, has more features for editors, supports alternative client platformslike the iPhone, and provides richer multi-media support

eZ Webin 1.4 (setup option)

eZ Webin also underwent several enhancements and bug fixes like support for sorting of container types, split of the pagelayout for easier customisation, accessibility features, and more

Multi-file upload 1.0

The eZ Multiupload extension enables users to upload multiple files such as images, documents, binary files via the front-end of an eZ Publish website. When used together with the eZODF extension, users can import multiple OpenDocument Text or Word Documents as article objects at once.

Project page: http://projects.ez.no/ezmultiupload

eZ Oracle 2.0

The eZ Publish Extension for Oracle® Database (also known as "ezoracle" extension) makes it possible to use Oracle as a database server for eZ Publish.

Project page: http://projects.ez.no/ezoracle

eZ MB Password expiry extension 1.0

The ezmbpaex extension allows you to define a lifetime for how long passwords should be valid. Once a password has expired it the extension will ask the user to create a new password.This functionality is typically used on intranets and extranets

Project page: http://projects.ez.no/mbpaex

Known issues

  • PostgreSQL support is partly broken, and will be addressed in the next maintenance release
  • Cache issues that will be fixed in the next maintenance release (see http://issues.ez.no/14622 and http://issues.ez.no/14627 )
  • Oracle support does not include clustering yet
  • PEAR version of eZ Components is used even if you download the bundled version (so if you have PEAR version, make sure its version 2008.2 or higher)

Upgrading from 4.0.x

Please use a copy before attempting to upgrade!

The update information is not completed yet, so a minimal set of instructions is included here. Detailed instructions will be provided with the next interim releases

0) Check the eZ Components 2008.2 requirements (added 2009-03-22)

With eZ Publish 4.1.0, eZ Components 2008.2 is the minimum version required. If you installed a previous version with PEAR, please upgrade to version 2008.2. For more information see also http://ezcomponents.org/docs/install

1) Updating the distribution files

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

  • design/example
  • design/example_admin
  • var
  • settings/siteaccess
  • settings/override

Replace "example" and "example_admin" with the actual names of your siteaccesses.

2) Custom extensions

If you are using custom extensions, the subdirectories inside the "extension" directory will also have to be copied. However, make sure that you do not overwrite any extensions that come with eZ Publish (currently "ezoe", "ezodf"). Note that upgrading the distribution files will overwrite the autoload arrays for extensions. You will need to re-generate the autoload arrays for active extensions late.

See below for dedicated upgrade instructions for ez flow and ez webin.

Note that ezdhtml is now replaced by ezoe, so you should not copy it over.

For eZ OE 5.0, you will need to have the following rewrite rule if using Virtual Hosts:

RewriteRule ^/var/[^/]+/cache/public/.* - [L]

For more detailed instructions, see the dedicated doc page: http://ez.no/doc/extensions/online_editor/5_x/installation

3) Upgrading the database

The update script for the database is located in <root of ez publish installation>/update/database/<mysql|postgresql>/4.1/dbupdate-4.0.0-to-4.1.0.sql

You can run this with the appropriate command line tool or application

4) Regenerate the autoload array for extensions (added 2009-03-22)

The autoload system has also some changes, for example the autoload array for extensions is now placed in var/autoload of your eZ Publish installation (along teh class changes in extensions itself).

To regenerate the autoload array, execute the following script from

php bin/php/ezpgenerateautoloads.php --extension

5) Running the system upgrade scripts

The update scripts are located in <root of ez publish installation>/update/common/scripts/4.1

  • addlockstategroup.php (used for creating locked states, part of the object states functionality)
  • fixclassremoteid.php (fixing remote ids of classes)
  • fixezurlobjectlinks.php (to fix older occurrences of link items not being present in the ezurl_object_table for all versions/translations)
  • fixobjectremoteid.php (to fix non-unique usage of content object remote ID's)
  • initurlaliasmlid.php (Initialize the ezurlalias_ml_incr table, part of the fixed issue #14077: eZURLAliasML database table lock and unlock code causes implicit commit of database transaction)
  • updateimagesystem.php (optional: update all attributes with datatype ezimage to use the new image system introduced in eZ Publish 3.3 as older items may still exist)

Upgrading eZ Flow and/or eZ Webin seperately

1) Backup

Before you will start the Website Interface or eZ Flow upgrading process make sure that you have backup of existing website state including database, extensions, INI settings, etc. During upgrade process existing ezflow and ezwebin extensions will be removed and replaced with new version. Website Interface and eZ Flow default content classes will be replaced as well. Upgrade script will also change some of the existing INI settings and add new ones which are required by latest version.

2) eZ Flow upgrade

eZ Publish 4.1 comes with eZ Flow upgrade script which allows upgrade from previous version to the latest 1.1-0 version. To run upgrade process in automatic mode simply execute following command from eZ Publish root folder.

php bin/php/ezflowupgrade.php --to-version=1.1-0 --url=http://packages.ez.no/ezpublish/4.1/4.1.0 
 

It is very important that user which will execute the upgrade script had correct permissions to modify content user extension, settings and var folders.

In order to get more information about available upgrade options, execute ezflowupgrade.php script with –help param.

php bin/php/ezflowupgrade.php --help

3) Re-write rules

Users running their eZ Flow sites in VH mode should update their extension related re-write rules to the following:
Rewriterule ^/extension/[^/]+/design/[^/]+/(stylesheets|images|javascript|flash|lib?)/.* - [L]

4) Website Interface upgrade

Upgrading Website Interface is very similar to eZ Flow upgrade process. In order to upgrade existing installation to latest 1.4-0 version simply execute following command from eZ Publish root folder:

php bin/php/ezwebinupgrade.php --to-version=1.4-0 --url=http://packages.ez.no/ezpublish/4.1/4.1.0 
 

Again, it is very important that user which will execute the upgrade script had correct permissions to modify content user extension, settings and var folders.
In order to get more information about available upgrade options, execute ezwebinupgrade.php script with –help param.

php bin/php/ezwebinupgrade.php --help

5) Regenerate the autoload array for extensions (added 2009-03-22)

The autoload system has also some changes, for example the autoload array for extensions is now placed in var/autoload of your eZ Publish installation (along teh class changes in extensions itself).

To regenerate the autoload array, execute the following script from

php bin/php/ezpgenerateautoloads.php --extension

6) Cache

Once the upgrade script is done, you need to clear the cache by executing following command from eZ Publish root folder:

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

Downloads

The changelog is available here

Packages without eZ Components 2008.2

Packages bundled with eZ Components 2008.2

Comments

Make sure you read the instructions for 4.1.1 before upgrading to 4.1

Instructions being shattered around all over news items currently... Make sur eyou read the instructions for 4.1.1 before upgrading to 4.1, they contain some corrections to the ones above.

http://ez.no/developer/news/ez_publish_4_1_1_and_4_0_4_released

RE: Script Error Message

If you get this message error:
"An unexpected error has occurred. Please contact the webmaster."

Check your database settings in your settings/site.ini files. It could be the reason of this issue...

RE: Access denied in front end & Re: No Toolbar?

This has been resolved in 4.1.1, you can fix it by downloading new version of "lib/ezutils/classes/ezsession.php" from here:
http://pubsvn.ez.no/nextgen/stable/4.1/lib/ezutils/classes/ezsession.php

Access denied in front end

on each new installation of ez 4.1, on ezwebin site , you couldn't acces to any restricted area in frontend (user/edit, comments, toolbar), even with admin profile.
This is resolved by doing
- php bin/php/ezcache.php --clear-all
- login in admin backend
- go back to frontend

...

Re: No Toolbar?

I tried cleaning all the caches from both the admin interface and the command line but still I'm not able to see the toolbar.
I then enabled the "ShowUsedTemplates" parameter and I had the following empty template:


<!-- Toolbar area: START -->
<!-- START: including template: extension/ezwebin/design/ezwebin/templates/page_toolbar.tpl (extension/ezwebin/design/ezwebin/templates/page_toolbar.tpl) -->
<div id="toolbar">

<!-- START: including template: extension/ezwebin/design/ezwebin/templates/parts/website_toolbar.tpl (extension/ezwebin/design/ezwebin/templates/parts/website_toolbar.tpl) -->
<!-- STOP: including template: extension/ezwebin/design/ezwebin/templates/parts/website_toolbar.tpl (extension/ezwebin/design/ezwebin/templates/parts/website_toolbar.tpl) -->
</div>


any idea?

roberto

Script error message

I try to update my ez 4.0.3 to 4.1.0 but if I try to run ez upgrade scripts for example addlockstategroup.php or fixclassremoteid.php, I get this message error:

"An unexpected error has occurred. Please contact the webmaster."

EZ Newsletter and EZ Publish 4.1 ?

Congratulations again for this new version.

Do you know if the EZ Newsletter extension is planned to be supported by EZ Publish 4.1 ?

If yes do you have an idea when ?

Thank you,
Hakim

ezwebinupgrade.php crash with fatal error

Tried to upgrade from 4.0.1 to 4.1:

Installing package 'ezwebin_classes'
PHP Fatal error: Call to a member function isClassAttributeRemovable() on a non-object in /Library/WebServer/Documents/ezpublish-4.1.0/kernel/classes/ezcontentclass.php on line 843

Note on regression in 4.1.0

Note that we have found some cache issues (with patches ready) in 4.1.0 and will release 4.1.1 quite soon because of this (probably next week). In the mean time you can visit the following urls for a description and patch:
http://issues.ez.no/14622 (High priority)
http://issues.ez.no/14627 (Medium priority)


or update from our subversion repository using the stable/4.1 branch.

Congratulation

Thanks for this update.

I hope it will solve the annoying bug with URL alias for multilanguages sites and the purge cache issue for sites with high traffic and do not introduce too much new bugs... ;)
Anyway sounds good. Just need to try the update now...

PS: Hope this time my comment won't be deleted.

Good job !

Good job everybody !!!
Can we have the explicit list of implemented handlers on this new version ?
So we can test everything ????
Cheers,

Max

:)

Congratulations eZ Crew!
I'm impressed and thankful. :)

re: SOLUTION: Fatal Error after upgrade from 4.0.3 to 4.1.0 (Class missing)

Hi,

Yeah, you are right - As i already aspected the autoload array makes some troubles. I've installed 4.1.0 again WITH eZComponents. Then did the Upgrade from 4.0.3 -> 4.1.0 (merge) and then recreated the autoload array. Now everything works fine.

Thanks for your help,
regards,
Mike

re: Fatal Error after upgrade from 4.0.3 to 4.1.0 (Class missing)

You need to re generate the autoload array, should be mentioned above here or at least in upgrade docs on ez.no/doc.

Fatal Error after upgrade from 4.0.3 to 4.1.0 (Class missing)

Hi there,

After updating from 4.0.3 to 4.1.0 (everything seems to work fine after i updates the DB Script), i get the following error when calling the frontend (and the backend after login):

Fatal error: Class 'eZPage' not found in /var/www/ez410/extension/ezflow/datatypes/ezpage/ezpagetype.php on line 382
Fatal error: eZ Publish did not finish its request

The class File is in /extension/ezflow/classes. But no idea, why eZ doesn't instantiate or find this class..!? Maybe a problem with the autoloads array?

Thanks in advance,
Bye,
Mike

Links to extension project pages

Are included in the article now

Regards
Paul

Multi-file upload

Where is Multi-file upload extension?

Re: No toolbar?

That might be a reproducible issue, could you try to clear user cache + template block cache in admin and see if that helps?

Edit: Confirmed! You need to clear user cache in admin (and template block cache if you have already browsed the fronted while being logged in).

No toolbar?

I might be missing something, but when I log into the frontend of the ezwebin interface, the toolbar no longer appears.

Congratulations!

Although you designed a new timezone (eZ Time) to get out on time, it´s there! And it´s a great achievement.

Well done eZ :-)

log in or create a user account to comment.