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

ez-publish-community-project-2013-04

eZ Publish Community Project 2013.04

You are using the innovative and cutting-edge version of eZ Publish, built by eZ Systems and the eZ Community.

Requirements

Version : Release date : Requirements :
Community Project 2013.4 (5th "eZ Publish 5 build") Apr. 19th, 2013

PHP >= 5.3.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-2013-04

Important Information Before You Start Installing

  • There was no build of eZ Publish Community Project since 2013.1,
  • This is the 5th "eZ Publish 5" build, that comprises an eZ Publish 4.x build, under the 'ezpublish_legacy' folder, at the root of your eZ Publish 5 installation. We highly recommend, however, to get acquainted with the brand new eZ Publish 5 stack :)

 

Installation

Requirements

Make sure to check the eZ Publish 2013.4 system requirements before proceeding.

Proceeding: One Major Tip

When installing on a linux/UNIX system or Windows-based system, make sure to create a Virtual Host, before starting the installation wizard (this step is highly recommended).

 

Resources

The main entry point of knowledge for you is the eZ Publish 5 Cookbook. 

Have a look at Nicolas' slides presented at the first stage of the eZ+SensioLabs roadshow in Cologne, presenting eZ Publish 5.

Do not miss Joe Kepley's blog containing loads of great tutorials on eZ Publish 5. Also, read Damien's story of the upgrade of planet-ezpublish.fr to eZ Publish 5. Also, take a look at thistutorial by Granite Horizon, to take a safe start in creating controllers for eZ Publish 2013.4. You may want tell what you would like to see in an eZ Publish 5 tutorial here:  What's Needed in an eZ 5 Tutorial?

 

Feedback/reports are key, more than ever

Our community is at a turning point, where feedback is more important than ever. Should you encounter issues installing eZ Publish 5, using it, stumbling upon missing functionality, or be willing to take an active part in eZ Publish 5 development, like some already did, use the following resources:

 

Stats

  • 60 bug-fixes for registered issues
  • 62 pull-requests merged
  • 2 enhancements

See the changelog for details

 

Still up-to-date

Our core-team has blogged on the fly when developing eZ Publish 5, here is a short overview:

We discussed the topic extensively at the first eZ Community UnConference, and got our first hands-on experience on Symfony 2.

We have also been speaking at:

Last, but not least: the eZ Publish 5 documentation still is under construction, but improvements were made since 2012.11. You can find it here: https://confluence.ez.no/display/EZP/eZ+Publish+Documentation, notably the Cookbook for developers. Feedback appreciated on this too.

 

Known issues

  • When trying to sign-in, through the 5.x stack, you will encounter an issue if you are running PHP 5.4 or above.
  • The final screen of the installation wizard still requires you to enter information to be able to finalize the installation. We will make this an opt-in step, as discussed here.

Upgrade Notes

Upgrading from eZ Publish Community Project 2013.1 to 2013.4

Important Information Before You Start

  • There was no build of eZ Publish Community Project since 2013.1, therefore the upgrade procedure ranges from 2013.1 to 2013.4,
  • This is the 5th "eZ Publish 5" build, that comprises an eZ Publish 4.x build, under the 'ezpublish_legacy' folder, at the root of your eZ Publish 5 installation,
  • The upgrade procedure below must be applied to the latter, then the normal installation procedure for the eZ Publish 5 stack must be followed, 
  • Make sure to follow the Virtual Host based installation procedure in the latter to initiate the setup wizard.

 

Upgrading from 2012.12 to 2013.4

 

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

  • Backing up the website
  • Putting the website offline (optional)
  • Upgrading the database
  • Upgrading the distribution files to 2013.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 2013.1 is compatible with PHP version 5.3.3 and above. So is eZ Publish Community Project 2013.4. For more information regarding system requirements check out "Requirements for doing a normal installation".

 

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
</a>UPDATE ezcobj_state_group_language SET real_language_id = language_id & ~1;

Postgresql

Run the following against your Postgresql database :

<span>-- See https://jira.ez.no/browse/EZP-20527</span><span><</span>a href<span>=</span><span>"https://jira.ez.no/browse/EZP-20527"</span><span>><</span>/a<span>></span>UPDATE ezcobj_state_group_language <span>SET</span> real_language_id <span>=</span> language_id & ~<span>1</span>

 

Step 4: Upgrading the distribution files

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

Bundled and enabled

  • ezautosave-5.1.0-alpha1
  • ezcomments-5.1.0-alpha1
  • ezformtoken-5.1.0-alpha1
  • ezie-5.1.0-alpha1
  • ezjscore-5.1.0-alpha1
  • ezmultiupload-5.1.0-alpha1
  • ezodf-5.1.0-alpha1
  • ezoe-5.1.0-alpha1
  • ezprestapiprovider-5.1.0-alpha1
  • eztags-1.3.0-dev

Bundled but not enabled

  • ezfind-5.1.0-alpha1
    ezscriptmonitor-5.1.0-alpha1

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

  • ezdemo-5.1.0-alpha1
  • ezdemodesign-5.1.0-alpha1
  • ezflow-5.1.0-alpha1
  • ezgmaplocation-5.1.0-alpha1
  • ezstarrating-5.1.0-alpha1
  • ezwebin-5.1.0-alpha1
  • ezwt-5.1.0-alpha1

 

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
  • Backing up the website
  • Putting the website offline (optional)
  • Upgrading the database
  • Upgrading the distribution files to 2013.4
  • Upgrading custom extensions
  • Regenerate the autoload array for extensions
  • Clearing the caches
  • Putting the website online (optional)

Changelog

Changelog from Community Project 2013.1 to Community Project 2013.4

Bugfixes

eZ Publish Kernel & APIs
  • EZP-20109: eZDemo: Video block controls do not display correctly.
  • EZP-20518: Default layout for legacy content fallback configurable by SA
  • EZP-20680: Missing zetacomponents/authentication-database-tiein dependency

eZ Publish Legacy Stack (LS)
  • EZP-14361: Image / File is lost if draft saving fails
  • EZP-18195: $result.object is not correctly created
  • EZP-18398: empty set-block screws up compiled template
  • EZP-19650: move to trash and trashpurge.php can hit the memory limit
  • EZP-19685: Impossible to change the alignment of several paragraphs
  • EZP-19688: Problem with viewcache expiry
  • EZP-20316: long attribute desc overflow in Internet Explorer
  • EZP-20324: Add cache events to be able to clear cache on changes
  • EZP-20355: Insert table row in ezoe with embed elements
  • EZP-20371: Layout.ini - missing documentation
  • EZP-20390: eZ OE text becomes smaller if backspaced pressed
  • EZP-20412: Can not restore from trash an item to 2 locations
  • EZP-20443: Purge cache problem with a lot of site accesses
  • EZP-20491: eZScriptMonitor - memory limit overflow.
  • EZP-20492: eznode_assignment does not always reflect of removal secondary locations
  • EZP-20494: niceurls create wrong path on multiple siteaccess configuration
  • EZP-20508: Module redirection in legacy sometimes lead to have double siteaccess in URI
  • EZP-20512: Fatal error when uploading file to object relations with certain permissions
  • EZP-20527: Missing value update in db_data.dba
  • EZP-20556: Creating a new class shows error in redirect
  • EZP-20558: Workflow Event/Approve not working correctly
  • EZP-20572: Image editor stopped working after jQuery update to 1.9.1
  • EZP-20578: Incorrect multi-option 2 interface on admin 2
  • EZP-20602: Order appear reversed in the admin interface
  • EZP-20636: Restoring a removed object to the original location is always unavailable
  • EZP-20640: Subtree limitation for the state/assign policy does not work.
  • EZP-20650: ezinfo/about still mention ezpublish 4
  • EZP-20658: Wrongly redirected to mobile SA when booting the legacy kernel

eZ Publish 5
  • EZP-19923: Missing config for Null type ezsubtreesubscription causes exceptions
  • EZP-20010: Missing locale and translation support in Twig & Public API, locale mapping needed
  • EZP-20193: Change RoleAssignment->role to ->roleId for cache efficiency
  • EZP-20303: ContentTypeService::copyContentType permissions aren't taken into account
  • EZP-20322: Specify csrf use in REST for use with session based auth
  • EZP-20324: Clear spi Persistence cache on legacy events
  • EZP-20414: Creating/deleting location w/API does not show immediately in Admin
  • EZP-20425: Page field type must have a siteaccess level configuration
  • EZP-20434: Do not try to delete binary files with empty path
  • EZP-20490: contentobject_link.op_code was not completely removed from Legacy
  • EZP-20499: Public API - Creating an content with non-required ezimage fields will display error: eZImageManager::createImageAlias
  • EZP-20509: cache issues when creating content
  • EZP-20518: Default layout for legacy content fallback configurable by SA
  • EZP-20521: ezpublish:configure does not import/removes imagemagick filters
  • EZP-20533: xmltext_to_html5 doesn't handle internal node_id or object_id attributes on <link> tags (eznode:// or ezobject://urls)
  • EZP-20554: xmltext_to_html5 doesn't properly pass along template variables for embeds
  • EZP-20580: Adding a new language in admin interface generates php errors
  • EZP-20590: Error on Admin2 clean installation Error: PHP: E_RECOVERABLE_ERROR
  • EZP-20595: Creating an object raises a twig exception
  • EZP-20604: Unable to run setup wizard : SQLSTATE[42000] [1044] Access denied for user ''@'localhost' to database 'none'
  • EZP-20618: Multiupload freezes on the end of the first file
  • EZP-20652: Database error when creating content with the API in PostgreSQL
  • EZP-20657: EmbedToHtml5 Converter doesn't define alignment parameters
  • EZP-20665: Prioritized languages are not used by ez_render_field Twig helper
  • EZP-20680: Missing zetacomponents/authentication-database-tiein dependency
  • EZP-20686: Siteaccess in generated URLs for links
  • EZP-20694: MySQL integration tests fail with DOMDocument errors
  • EZP-20695: Errors when running Unit Tests with DATABASE=mysql://...
  • EZP-20698: When including a legacy template in a twig template, fetch functions don't work

Enhancements

eZ Publish Legacy Stack (LS)
  • EZP-20288: As a support engineer I would like eZDB & eZFS2 Cluster removed in favor of eZDFS
  • EZP-20426: Legacy cronjobs and scripts should be launchable from Symfony CLI

Pull requests

eZ Publish Kernel & APIs
  • 40: from gggeek/improved_index
  • 41: from ezsystems/demobundle_removal
  • 42: from ezsystems/cache
  • 43: from hhamon/typo_fix

eZ Publish Legacy Stack (LS)
  • 481: from ezsystems/ezp-19650_trashpurge_memory_use
  • 541: from jxn/master
  • 553: from patrickallaert/EZP-14361
  • 558: from ezsystems/legacy_scripts
  • 561: from ezsystems/ezp-20355_ezoe_embed_new_table_row
  • 564: from ezsystems/cache_events
  • 566: from patrickallaert/EZP-20455
  • 569: from pborreli/typos
  • 570: from patrickallaert/EZP-20512
  • 572: from patrickallaert/EZP-20494
  • 573: from charlycoste/patch-1
  • 576: from blendinteractive/EZP-20576
  • 577: from patrickallaert/EZP-20443
  • 579: from patrickallaert/EZP-20373
  • 580: from pedroresende/EZP-20602
  • 583: from patrickallaert/EZP-20492
  • 584: from patrickallaert/EZP-19688
  • 585: from patrickallaert/remove-static-like-calls-on-instances
  • 586: from patrickallaert/EZP-18195
  • 587: from patrickallaert/EZP-18398
  • 591: from dougplant/bugfix-ezxmlinputparser
  • 592: from ezsystems/ezp_20508
  • 595: from ezsystems/ezp-20390-chrome-ezoe
  • 600: from ezsystems/ezp_20508-2

eZ Publish 5
  • 196: from bdunogier/REST-MediaType-Charset
  • 198: from ezsystems/spiPersistenceCache
  • 222: from fdob/ezp-20434
  • 225: from ezsystems/rest-csrf
  • 230: from patrickallaert/solr-part1
  • 235: from ezsystems/EZP-19884-FIX
  • 236: from bdunogier/fix-ezrecommendation
  • 238: from ezsystems/implement-EZP-20467-rest-csrf
  • 239: from ezsystems/EZP20434-empty-path
  • 241: from ezsystems/REST-spec-ContentById
  • 242: from ezsystems/REST-spec-ContentTypeGroupByIdentifier
  • 243: from ezsystems/REST-spec-field-hashes
  • 244: from patrickallaert/SetObjectState
  • 250: from ezsystems/gatewaybasedstorage_empty_array
  • 253: from ezsystems/implement-EZP-20321-Cluster
  • 256: from ezsystems/implement-EZP-20113-ezdate-eztime-2
  • 258: from ezsystems/ezpage_readonly2
  • 264: from joekepley/EZP-20576
  • 267: from ezsystems/locale_conversion
  • 269: from ajohnstone/master
  • 270: from joaoinacio/EZP-20521
  • 273: from ezsystems/fix-EZP-19687-ezkeyword-update
  • 276: from ezsystems/fix-EZP-20608-rest-eztext
  • 279: from ezsystems/fix-EZP-20540-move-subtree
  • 286: from ezsystems/ezp_20665
  • 288: from patrickallaert/remove-UselessOverridingMethod-warnings
  • 289: from ezsystems/root_location
  • 290: from ezsystems/sudo
  • 291: from ezsystems/fix-EZP-20606-ezfloat-searchable
  • 293: from ezsystems/fix-EZP-20681-REST-user-create-login
  • 295: from patrickallaert/EZP-20694
  • 296: from patrickallaert/EZP-20695
  • 297: from ezsystems/ezp_20698
  • 298: from ezsystems/fix-EZP-20677-REST-delete-user-cleanup

Miscellaneous

eZ Publish Kernel & APIs
  • Updated deps
  • Updated the INSTALL.md with the assetic dump command
  • Removed the need of node.js
  • Removed leftover tests :-P
  • Upgraded to Symfony 2.2.1
  • Updated Stash dependency
  • Updated Symfony CMF Routing Component to 1.0.0 stable
  • Removed routes import from demo bundle as there are none
  • Updated deps + Updated Stash in composer.json to use a fork, waiting for filesystem driver fix is pulled in tedivm/Stash.
  • Fixed wrong eZ Publish version in composer.json
  • EZP-20010 - Activated translator with english as fallback language
  • [doc] fixed Getting Started documentation.
  • Merge branch 'master' into cache
  • Update dependencies and set setup config to use BlackHole cache handler to boot
  • Updated deps (Symfony 2.2.0)
  • Added src/.gitkeep
  • Removed ezpublish-kernel vas repository in composer.json since it's registered in packagist + updated ezpublish-kernel deps
  • Removed DemoBundle from src/ as it now has its own repository
  • Update composer.lock for spiPersistenceCache update
  • Better whitespace and add one link to external docs
  • Update composer deps
  • Update dependencies
  • Add default settings for Stash to use APC
  • Add TedivmStashBundle and spi cache branch dep

Tags

eZ Publish 2013