eZ Publish / Releases / eZ Publish Community Project 2013 / ez-publish-community-project-2013-09
ez-publish-community-project-2013-09
eZ Publish Community Project 2013.09
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.09 (9th "eZ Publish 5 build") | October. 10th, 2013 |
PHP >= 5.3.3 (5.3.7 known to be bugged) If using eZ Find : Java <= 1.6 or >= 1.7.1 |
Packages
ezpublish5_community_project-2013.09-gpl-full.tar.bz2 72.41 MB
ezpublish5_community_project-2013.09-gpl-full.tar.gz 83.13 MB
Upstream Download: share.ez.no/downloads/downloads/ez-publish-community-project-2013.09
Release Notes - ez-publish-community-project-2013-09
Important Information Before You Start Installing
- This is the 9th "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.09 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.
Don't miss all resources of eZ Unconference #2 (slides & source code):https://github.com/ezunconference
Check Jérôme's recent blog post about legacy_mode: legacy_mode clarified
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.05. 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:
- eZ Publish 5 issue tracker (use your share.ez.no username to sign-in to JIRA),
- eZ Publish 5 github repository,
- eZ Publish 5 PHP API github repository (the actual business logic of the kernel is here, if you are a PHP developer, you must have a look),
- eZ Publish 5 forum,
- Get Involved section
- eZ Publish IRC channel
Stats
- 31 bug-fixes for registered issues
- 55 pull-requests merged
- 8 enhancements
See the changelog for details
Read The Fine Manual (and please give feedback)
You can find it here: https://confluence.ez.no/display/EZP/eZ+Publish+Documentation, notably the Cookbook for developers. Feedback appreciated on this too!
Upgrade Notes
Upgrading from eZ Publish Community Project 2013.07 to 2013.09
Important Information Before You Start
- This is the 9th "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 2013.07 to 2013.09
This section describes how to upgrade your existing eZ Publish Community Project 2013.07 installation to build 2013.09. 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.07 to build 2013.09 consists of the following steps:
- Backing up the website
- Putting the website offline (optional)
- Upgrading the database
- Upgrading the distribution files to 2013.09
- 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.07 is compatible with PHP version 5.3.3 and above. So is eZ Publish Community Project 2013.09. 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
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 4: Upgrading the database
MySQL
Run the following against your MySQL database :
<span>ALTER</span> <span>TABLE</span> ezcontent_language <span>MODIFY</span> id BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>; <span>ALTER</span> <span>TABLE</span> ezcontentclass <span>MODIFY</span> initial_language_id BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>, <span>MODIFY</span> language_mask BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>; <span>ALTER</span> <span>TABLE</span> ezcontentclass_name <span>MODIFY</span> language_id BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>; <span>ALTER</span> <span>TABLE</span> ezcontentobject <span>MODIFY</span> initial_language_id BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>, <span>MODIFY</span> language_mask BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>; <span>ALTER</span> <span>TABLE</span> ezcontentobject_name <span>MODIFY</span> language_id BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>; <span>ALTER</span> <span>TABLE</span> ezcontentobject_attribute <span>MODIFY</span> language_id BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>; <span>ALTER</span> <span>TABLE</span> ezcontentobject_version <span>MODIFY</span> initial_language_id BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>, <span>MODIFY</span> language_mask BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>; <span>ALTER</span> <span>TABLE</span> ezcobj_state <span>MODIFY</span> default_language_id BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>, <span>MODIFY</span> language_mask BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>; <span>ALTER</span> <span>TABLE</span> ezcobj_state_group <span>MODIFY</span> default_language_id BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>, <span>MODIFY</span> language_mask BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>; <span>ALTER</span> <span>TABLE</span> ezcobj_state_group_language <span>MODIFY</span> language_id BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>, <span>MODIFY</span> real_language_id BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>; <span>ALTER</span> <span>TABLE</span> ezcobj_state_language <span>MODIFY</span> language_id BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>; <span>ALTER</span> <span>TABLE</span> ezurlalias_ml <span>MODIFY</span> lang_mask BIGINT <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>; <span>-- Start ezp-21465 : Cleanup extra lines in the ezurl_object_link table</span><span>DROP</span> <span>TEMPORARY</span> <span>TABLE</span> <span>IF</span> <span>EXISTS</span> ezurl_object_link_temp ; <span>-- create a temporary table containing stale links</span><span>CREATE</span> <span>TEMPORARY</span> <span>TABLE</span> ezurl_object_link_temp<span>SELECT</span> <span>DISTINCT</span> contentobject_attribute_id, contentobject_attribute_version, url_id<span>FROM</span> ezurl_object_link <span>AS</span> T1 <span>JOIN</span> ezcontentobject_attribute <span>ON</span> T1.contentobject_attribute_id <span>=</span> ezcontentobject_attribute.id<span>WHERE</span> ezcontentobject_attribute.data_type_string <span>=</span> <span>"ezurl"</span><span>AND</span> T1.url_id <span><</span> ANY <span>(</span><span>SELECT</span> <span>DISTINCT</span> T2.url_id <span>FROM</span> ezurl_object_link T2 <span>WHERE</span> T1.url_id <span><</span> T2.url_id <span>AND</span> T1.contentobject_attribute_id <span>=</span> T2.contentobject_attribute_id <span>AND</span> T1.contentobject_attribute_version <span>=</span> T2.contentobject_attribute_version<span>)</span>; <span>SET</span> @OLD_SQL_SAFE_UPDATES<span>=</span>@@SQL_SAFE_UPDATES;<span>SET</span> SQL_SAFE_UPDATES<span>=</span><span>0</span>; <span>DELETE</span> ezurl_object_link.*<span>FROM</span> ezurl_object_link <span>JOIN</span> ezurl_object_link_temp <span>ON</span> ezurl_object_link.url_id <span>=</span> ezurl_object_link_temp.url_id<span>AND</span> ezurl_object_link.contentobject_attribute_id <span>=</span> ezurl_object_link_temp.contentobject_attribute_id<span>AND</span> ezurl_object_link.contentobject_attribute_version <span>=</span> ezurl_object_link_temp.contentobject_attribute_version; <span>SET</span> SQL_SAFE_UPDATES<span>=</span>@OLD_SQL_SAFE_UPDATES;<span>-- End ezp-21465</span> <span>-- Start EZP-21469</span><span>-- While using the public API, ezcontentobject.language_mask was not updated correctly,</span><span>-- the UPDATE statement below fixes that based on the language_mask of the current version.</span><span>UPDATE</span> ezcontentobject <span>AS</span> o<span>INNER</span> <span>JOIN</span> ezcontentobject_version <span>AS</span> v <span>ON</span> o.id <span>=</span> v.contentobject_id <span>AND</span> o.current_version <span>=</span> v.version<span>SET</span> o.language_mask <span>=</span> <span>(</span>o.language_mask & <span>1</span><span>)</span> <span>|</span> <span>(</span>v.language_mask & ~<span>1</span><span>)</span>;<span>-- End EZP-21469</span> <span>-- Start EZP-21648:</span><span>-- Adding 'priority' and 'is_hidden' columns to the 'eznode_assignment' table</span><span>ALTER</span> <span>TABLE</span> eznode_assignment <span>ADD</span> <span>COLUMN</span> priority int<span>(</span><span>11</span><span>)</span> <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>;<span>ALTER</span> <span>TABLE</span> eznode_assignment <span>ADD</span> <span>COLUMN</span> is_hidden int<span>(</span><span>11</span><span>)</span> <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>;<span>-- End EZP-21648</span>
If you are running on DFS Cluster and MySQL, you will need to run the following in addition:
<span>CREATE</span> <span>TABLE</span> ezdfsfile_cache <span>(</span> <span>`name`</span> text <span>NOT</span> <span>NULL</span>, name_trunk text <span>NOT</span> <span>NULL</span>, name_hash varchar<span>(</span><span>34</span><span>)</span> <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>''</span>, datatype varchar<span>(</span><span>255</span><span>)</span> <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'application/octet-stream'</span>, scope varchar<span>(</span><span>25</span><span>)</span> <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>''</span>, size bigint<span>(</span><span>20</span><span>)</span> <span>UNSIGNED</span> <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>, mtime int<span>(</span><span>11</span><span>)</span> <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>, expired tinyint<span>(</span><span>1</span><span>)</span> <span>NOT</span> <span>NULL</span> <span>DEFAULT</span> <span>'0'</span>, <span>PRIMARY</span> <span>KEY</span> <span>(</span>name_hash<span>)</span>, <span>KEY</span> ezdfsfile_name <span>(</span><span>`name`</span><span>(</span><span>250</span><span>)</span><span>)</span>, <span>KEY</span> ezdfsfile_name_trunk <span>(</span>name_trunk<span>(</span><span>250</span><span>)</span><span>)</span>, <span>KEY</span> ezdfsfile_mtime <span>(</span>mtime<span>)</span>, <span>KEY</span> ezdfsfile_expired_name <span>(</span>expired,<span>`name`</span><span>(</span><span>250</span><span>)</span><span>)</span><span>)</span> ENGINE<span>=</span>InnoDB;
Postgresql
Run the following against your Postgresql database :
<span>ALTER</span> <span>TABLE</span> ezcontent_language <span>ALTER</span> <span>COLUMN</span> id TYPE BIGINT; <span>ALTER</span> <span>TABLE</span> ezcontentclass <span>ALTER</span> <span>COLUMN</span> initial_language_id TYPE BIGINT, <span>ALTER</span> <span>COLUMN</span> language_mask TYPE BIGINT; <span>ALTER</span> <span>TABLE</span> ezcontentclass_name <span>ALTER</span> <span>COLUMN</span> language_id TYPE BIGINT; <span>ALTER</span> <span>TABLE</span> ezcontentobject <span>ALTER</span> <span>COLUMN</span> initial_language_id TYPE BIGINT, <span>ALTER</span> <span>COLUMN</span> language_mask TYPE BIGINT; <span>ALTER</span> <span>TABLE</span> ezcontentobject_name <span>ALTER</span> <span>COLUMN</span> language_id TYPE BIGINT; <span>ALTER</span> <span>TABLE</span> ezcontentobject_attribute <span>ALTER</span> <span>COLUMN</span> language_id TYPE BIGINT; <span>ALTER</span> <span>TABLE</span> ezcontentobject_version <span>ALTER</span> <span>COLUMN</span> initial_language_id TYPE BIGINT, <span>ALTER</span> <span>COLUMN</span> language_mask TYPE BIGINT; <span>ALTER</span> <span>TABLE</span> ezcobj_state <span>ALTER</span> <span>COLUMN</span> default_language_id TYPE BIGINT, <span>ALTER</span> <span>COLUMN</span> language_mask TYPE BIGINT; <span>ALTER</span> <span>TABLE</span> ezcobj_state_group <span>ALTER</span> <span>COLUMN</span> default_language_id TYPE BIGINT, <span>ALTER</span> <span>COLUMN</span> language_mask TYPE BIGINT; <span>ALTER</span> <span>TABLE</span> ezcobj_state_group_language <span>ALTER</span> <span>COLUMN</span> language_id TYPE BIGINT, <span>ALTER</span> <span>COLUMN</span> real_language_id TYPE BIGINT; <span>ALTER</span> <span>TABLE</span> ezcobj_state_language <span>ALTER</span> <span>COLUMN</span> language_id TYPE BIGINT; <span>ALTER</span> <span>TABLE</span> ezurlalias_ml <span>ALTER</span> <span>COLUMN</span> lang_mask TYPE BIGINT; <span>-- Start ezp-21465 : Cleanup extra lines in the ezurl_object_link table</span><span>DELETE</span><span>FROM</span> ezurl_object_link <span>AS</span> T1<span>WHERE</span> T1.url_id <span><</span> ANY <span>(</span> <span>SELECT</span> <span>DISTINCT</span> url_id <span>FROM</span> ezurl_object_link T2 <span>JOIN</span> ezcontentobject_attribute <span>ON</span> T2.contentobject_attribute_id <span>=</span> ezcontentobject_attribute.id <span>WHERE</span> T1.url_id <span><</span> T2.url_id <span>AND</span> T1.contentobject_attribute_id <span>=</span> T2.contentobject_attribute_id <span>AND</span> T1.contentobject_attribute_version <span>=</span> T2.contentobject_attribute_version <span>AND</span> ezcontentobject_attribute.data_type_string <span>=</span> <span>'ezurl'</span><span>)</span>;<span>-- End ezp-21465</span> <span>-- Start EZP-21469</span><span>-- While using the public API, ezcontentobject.language_mask was not updated correctly,</span><span>-- the UPDATE statement below fixes that based on the language_mask of the current version.</span><span>UPDATE</span> ezcontentobject <span>AS</span> o<span>SET</span> language_mask <span>=</span> <span>(</span>o.language_mask & <span>1</span><span>)</span> <span>|</span> <span>(</span>v.language_mask & ~<span>1</span><span>)</span><span>FROM</span> ezcontentobject_version <span>AS</span> v<span>WHERE</span> o.id <span>=</span> v.contentobject_id <span>AND</span> o.current_version <span>=</span> v.version;<span>-- End EZP-21469</span> <span>-- Start EZP-21648:</span><span>-- Adding 'priority' and 'is_hidden' columns to the 'eznode_assignment' table</span><span>ALTER</span> <span>TABLE</span> eznode_assignment <span>ADD</span> priority integer <span>DEFAULT</span> <span>0</span> <span>NOT</span> <span>NULL</span>;<span>ALTER</span> <span>TABLE</span> eznode_assignment <span>ADD</span> is_hidden integer <span>DEFAULT</span> <span>0</span> <span>NOT</span> <span>NULL</span>;<span>-- End EZP-21648</span>
Step 3: Upgrading the distribution files
The easiest way to upgrade the distribution files is to unpack eZ Publish 2013.09 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>cd ezpublish_legacychmod -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>cd ezpublish_legacychmod -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 2013.09 tarball, which are currently:
Bundled and enabled
- ezautosave-5.2.0-rc1
- ezcomments-5.2.0-rc1 (ezpublish-5.2.0-rc1)
- ezformtoken-5.2.0-rc1
- ezie-5.2.0-rc1
- ezjscore-5.2.0-rc1
- ezmultiupload-5.2.0-rc1
- ezodf-5.2.0-rc1 (ezpublish-5.2.0-rc1)
- ezoe-5.2.0-rc1
- ezprestapiprovider-5.2.0-rc1
- eztags-1.3.0-dev
Bundled but not enabled
- ezfind-5.2.0-rc1
- ezscriptmonitor-5.2.0-rc1 (ezpublish-5.2.0-rc1)
Optional installation (depending on the package chosen during the installation wizard)
- ezdemo-5.2.0-rc1 (ezpublish-5.2.0-rc1)
- ezdemodesign-5.2.0-rc1 (ezpublish-5.2.0-rc1)
- ezflow-5.2.0-rc1 (ezpublish-5.2.0-rc1)
- ezgmaplocation-5.2.0-rc1 (ezpublish-5.2.0-rc1)
- ezstarrating-5.2.0-rc1 (ezpublish-5.2.0-rc1)
- ezwebin-5.2.0-rc1 (ezpublish-5.2.0-rc1)
- ezwt-5.2.0-rc1 (ezpublish-5.2.0-rc1)
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:
cd </path/to/your/eZ/Publish/directory>cd ezpublish_legacyphp bin/php/ezpgenerateautoloads.php --extension
Step 6: 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:
cd </path/to/your/eZ/Publish/directory>cd ezpublish_legacyphp 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 7: 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:
cd </path/to/your/eZ/Publish/directory>cd ezpublish_legacyphp 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.07
- Upgrading custom extensions
- Regenerate the autoload array for extensions
- Clearing the caches
- Putting the website online (optional)
Changelog
Changelog from Community Project 2013.07 to Community Project 2013.09
Bugfixes
eZ Publish Legacy Stack (LS)
- EZP-19122: Faulty embed-inline handling
- EZP-19392: clear cache doesn't remove translation list cache
- EZP-20949: Make sure parent is an object This patch insures the parent was an object to avoid fatal errors if the database is slighly corrupted.
- EZP-20957: Removed misplaced semicolon which breaks the flow
- EZP-21037: content staging error synchronizing a subtree
- EZP-21046: View cache is not expiring in one node
- EZP-21049: Display issue with HTML characters in treemenu This is a regression introduced by EZP-20202 and EZP-20037 combined.
- EZP-21050: Treemenu broken on IE8
- EZP-21150: Sql parameter not implemented in runcronjobs
- EZP-21155: DebugByUser is not working correctly in preview
- EZP-21190: installer fails at package validation using PHP 5.5
- EZP-21220: Parsing error in REST with "Content-type: application/json; charset=utf-8"
- EZP-21237: Debug by user feature blocks the login process
- EZP-21325: View parameters parsing transforms multiple slashes into one /
- EZP-21336: In IE8, every publish adds another empty paragraph at the end
- EZP-21343: ContentStructureMenu cookie causes http request problems and breaks RFC 2965
- EZP-21346: eZOE: merged table cells are not saved in IE8
- EZP-21348: width of tables is not saved with IE8
- EZP-21358: ezjscAjaxContent: Image's exif fields MakerNote and UserComment must be base64 encoded
- EZP-21121: runcrojobs.php -s always prints warnings
eZ Publish 5
- EZP-20890: Headers overriden by LegacyKernelController
- EZP-20955: Issues with create permission with Section limitation
- EZP-21048: Change anchor handling to append to url
- EZP-21052: Subrequests with legacy modules don't work
- EZP-21054: Anchor tag is not transformed by xsl
- EZP-21057: Unable to delete a content with an empty file attribute (cherry picked from commit dafe993265680b840042fd75df9c045466bde17e)
- EZP-21064: Added module_result in a LegacyResponse call The module_result can be used after the legacy controller.
- EZP-21088: Publishing content with API doesn't trigger indexing correctly
- EZP-21094: POST /user/sessions misses the location header
- EZP-21133: POST /content/views has a wrong media-type
- EZP-21176: Prevent REST hrefs without prefixes in payloads
- EZP-21188: "Notice: Undefined variable: response" triggered when viewing a content with ezobjectrelationlist
- EZP-21190: installer fails at package validation using PHP 5.5
- EZP-21206: Disable key normalization for children of 'system' configuration
- EZP-21219: versionread policy not checked in ContentService::loadContent
- EZP-21227: copy content type generates wrong identifier
- EZP-21280: tree_root setting ignored in link output from XMLText rendering
- EZP-21281: Warning: Could not generate user hash ! Fallback to anonymous hash
- EZP-21284: No url/href support in API XmlText input
- EZP-21289: object_remote_id not handled in XmlText
- EZP-21293: REST 404 errors should be valid
- EZP-21300: rest 404 catch all description
- EZP-21302: Circular reference detected for service "ezpublish.urlalias_generator"
- EZP-21321: Extend ezpublish/console cache:clear
- EZP-21349: Impossible to register one slot for multiple signals
- EZP-21351: Core compiler passes don't allow one service to use same tag with varying attributes
- EZP-21354: Siteaccess part missing in generated symfony routes
- EZP-21379: : Output filters (CSRF) result is lost when a custom layout is set for rendering legacy module views.
Enhancements
eZ Publish Legacy Stack (LS)
- EZP-21240: unpublish cronjob does not need to activate extensions on his own
eZ Publish 5
- EZP-21168: Remove API InMemory (Stub) implementation and test suite
Pull requests
eZ Publish Kernel & APIs
- 34: from ezsystems/merge_from_sf_standard
- 64: from patrickallaert/EZP-21027
- 65: from lolautruche/userHashAware
- 66: from ezsystems/symfony2.3
- 67: from tharkun/ezp-21295-gitignore
- 68: from tharkun/ezp-21296-gitignore
eZ Publish Legacy Stack (LS)
- 559: from guillaumelecerf/contentlanguage_cache
- 646: from jeromegamez/phpdoc_ezcontentobject
- 647: from jeromegamez/phpdoc_ezcontenttrashnode
- 658: from Tharkun/ezp-20262-include-issue
- 660: from jeromegamez/EZP-20992_contentviewgenerateerror_scope
- 664: from jeromegamez/deprecated_ezsearch_removeobject
- 666: from Heliopsis-HQ/Add-injected-settings-in-ezpkerneltreemenu.php
- 677: from ezsystems/EZP-20949_additional_fix
- 680: from patrickallaert/EZP-21220
- 683: from tharkun/ezp-21226-translatorcomment
- 686: from gggeek/EZP-21240
- 687: from ezsystems/ezp_21237
- 688: from ezsystems/ezp_20949
- 694: from xc/custom-view-logic
- 695: from jeromegamez/gitignore_composer
- 697: from fdob/patch-1
- 706: from patrickallaert/EZP-21037
- 707: from ezsystems/ezp-21358-exif_base64
- 708: from patrickallaert/EZP-21343
eZ Publish 5
- 368: from lolautruche/userHashAware
- 396: from ezsystems/fix-EZP-20979-content-integration-tests
- 397: from ezsystems/spi_logger_improve_memory_use
- 399: from ezsystems/fix-EZP-20530-incomplete-tests-4
- 403: from ezsystems/fix-EZP-20936-fieldtype-integration-tests
- 404: from ezsystems/fix-EZP-21030-location-handler-return
- 405: from ezsystems/fix-EZP-20971-rest-update-role
- 409: from ezsystems/EZP-20955
- 412: from ezsystems/configurator_service
- 417: from ezsystems/EZP-21057
- 418: from ezsystems/fix-EZP-20867-validator-configuration
- 420: from ezsystems/ezp_21088_legacy_slots
- 421: from ezsystems/fix-21094-rest_create_session_location
- 422: from ezsystems/fix-EZP-21035-add-ezuser-field
- 423: from patrickallaert/FixSearchHandlerTestOrder
- 425: from ezsystems/impl-EZP-21099-rest_field_type_processor_service_tags
- 426: from ezsystems/ezp_20438
- 429: from ezsystems/fix-EZP-21036-fieldtype-fallback-value
- 432: from ezsystems/fix-EZP-21115-ezimage-remove-ioservice
- 433: from ezsystems/fix-EZP-21053-rest-json-fielddefinitions
- 438: from ezsystems/secret_fix
- 439: from ezsystems/EZP-21048_additional_fix
- 440: from ezsystems/signalSlotExposed
- 441: from ezsystems/coverageCoreBundle
- 444: from ezsystems/ezp_21188
- 445: from ezsystems/symfony2.3
- 447: from patrickallaert/EZP-21168
- 451: from ezsystems/userHashGeneration
- 456: from lolautruche/easierCustomTags
- 457: from ezsystems/EZP-21289
- 458: from ezsystems/EZP-21284
- 460: from lolautruche/easierPreConverters
- 474: from ezsystems/siteAccessSymfonyRoutes
- 477: from joaoinacio/EZP-21284
- 481: from patrickallaert/EZP-21069
- 482: from paradoxe/fix-legacy-filtered-content
- 484: from MLoureiro/ezp21069_integration_test
Miscellaneous
eZ Publish Legacy Stack (LS)
- EZP-21325: Added unit tests
- EZP-21337: Send HTTP status 401 (Authorization required) when user lacks access to content
- EZP-21226: CS
- EZP-21150: Clarified --sql option usage in runcronjobs.php
- EZP-21143: Allow not executing pagelayout.tpl when using an eZ5 layout
- EZP-20262: no need to trigger autoload on second class_exists
- EZP-21128: Add injected-settings in ezpkerneltreemenu.php as in ezpkernelweb.php, for having back-office left treemenu.
- EZP-20262: fix include issue
eZ Publish 5
- EZP-21036: Fallback default value of some of the FieldTypes can not be used to create Content
- EZP-21334: Wrong XSLT rendering for some ezxml elements
- EZP-21244: Let custom eZXML pre-converters register to base ezpublish.fieldType.ezxmltext.converter.html5
- EZP-21245: Make it easier to register eZXML custom tags in main XSL stylesheet
- EZP-20948: Missing support for binary files URI
- EZP-21019: Upgrade to Symfony 2.3
- EZP-21129: Change the REST Request to use the Symfony request object
- EZP-21134: Increase code coverage in EzPublishCoreBundle
- EZP-20071: HttpCache should Vary on the user hash
- EZP-20069: Expose SignalSlot repository properly
- EZP-21018: Replace RMF Url management with Symfony's
- EZP-20829: Make the REST APILoader\Factory dynamic