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

ez-publish-community-project-2013-01

eZ Publish Community Project 2013.01

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.1 (4th "eZ Publish 5 build") Feb. 18th, 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-01

Installation of eZ Publish 5

  • This is the 4th "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 :),
  • 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.

If you are not sure what this means, have a look at the announcement from The Community Project Board.

 

Resources, documentation & rendez-vous to discuss 

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

Read Damien's story of the upgrade of planet-ezpublish.fr to eZ Publish 5. Also, take a look at this tutorial by Granite Horizon, to take a safe start in creating controllers for eZ Publish 2013.11. 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?

 

Stats

  • 27 bug-fixes for registered issues
  • 51 pull-requests merged
  • 4 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.

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:

 

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 2012.12 to 2013.1

Important information:

  • This is the 4th "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.

 

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

  • Backing up the website
  • Putting the website offline (optional)
  • Upgrading the database
  • Upgrading the distribution files to 2013.1
  • 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.12 is compatible with PHP version 5.3 and above. So is eZ Publish Community Project 2013.1. 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 3: Upgrading the database

MySQL

Run the following against your MySQL database :

<span>ALTER</span> <span>TABLE</span> ezcontentclass <span>ADD</span> <span>INDEX</span> ezcontentclass_identifier <span>(</span>identifier, version<span>)</span>;<span>ALTER</span> <span>TABLE</span> ezcontentobject_tree <span>ADD</span> <span>INDEX</span> ezcontentobject_tree_remote_id <span>(</span>remote_id<span>)</span>;<span>ALTER</span> <span>TABLE</span> ezcontentobject_version <span>ADD</span> <span>INDEX</span> ezcontobj_version_obj_status <span>(</span>contentobject_id, <span>STATUS</span><span>)</span>;<span>ALTER</span> <span>TABLE</span> ezpolicy <span>ADD</span> <span>INDEX</span> ezpolicy_role_id <span>(</span>role_id<span>)</span>;<span>ALTER</span> <span>TABLE</span> ezpolicy_limitation_value <span>ADD</span> <span>INDEX</span> ezpolicy_limit_value_limit_id <span>(</span>limitation_id<span>)</span>;<span>ALTER</span> <span>TABLE</span> ezcontentobject_attribute    <span>DROP</span> <span>INDEX</span> ezcontentobject_attribute_contentobject_id,    <span>DROP</span> <span>INDEX</span> ezcontentobject_attr_id;<span>ALTER</span> <span>TABLE</span> ezcontentobject_name <span>DROP</span> <span>INDEX</span> ezcontentobject_name_co_id;<span>ALTER</span> <span>TABLE</span> ezenumobjectvalue <span>DROP</span> <span>INDEX</span> ezenumobjectvalue_co_attr_id_co_attr_ver;<span>ALTER</span> <span>TABLE</span> ezkeyword <span>DROP</span> <span>INDEX</span> ezkeyword_keyword_id;<span>ALTER</span> <span>TABLE</span> ezkeyword_attribute_link <span>DROP</span> <span>INDEX</span> ezkeyword_attr_link_keyword_id;<span>ALTER</span> <span>TABLE</span> eznode_assignment <span>DROP</span> <span>INDEX</span> eznode_assignment_co_id;<span>ALTER</span> <span>TABLE</span> ezprest_clients <span>DROP</span> <span>INDEX</span> client_id; <span>ALTER</span> <span>TABLE</span> ezurlalias_ml    <span>DROP</span> <span>INDEX</span> ezurlalias_ml_actt,<span>-- Combining "ezurlalias_ml_par_txt" and "ezurlalias_ml_par_lnk_txt" by moving "link" after "text(32)" in the latter:</span>    <span>DROP</span> <span>INDEX</span> ezurlalias_ml_par_txt,    <span>DROP</span> <span>INDEX</span> ezurlalias_ml_par_lnk_txt,    <span>ADD</span> <span>INDEX</span> ezurlalias_ml_par_lnk_txt <span>(</span>parent, text<span>(</span><span>32</span><span>)</span>, link<span>)</span>, <span>-- Combining "ezurlalias_ml_action" and "ezurlalias_ml_par_act_id_lnk" by moving "parent" after "link" in the latter:</span>    <span>DROP</span> <span>INDEX</span> ezurlalias_ml_action,    <span>DROP</span> <span>INDEX</span> ezurlalias_ml_par_act_id_lnk,    <span>ADD</span> <span>INDEX</span> ezurlalias_ml_par_act_id_lnk <span>(</span>action<span>(</span><span>32</span><span>)</span>, id, link, parent<span>)</span>; <span>-- See https://jira.ez.no/browse/EZP-20239</span><span>DELETE</span> <span>FROM</span> ezcontentobject_link <span>WHERE</span> op_code <span><></span> <span>0</span>;<span>DELETE</span> <span>FROM</span> ezcontentobject_link <span>WHERE</span> relation_type <span>=</span> <span>0</span>;<span>ALTER</span> <span>TABLE</span> ezcontentobject_link <span>DROP</span> <span>COLUMN</span> op_code;

Postgresql

Run the following against your Postgresql database :

<span>CREATE</span> <span>INDEX</span> ezcontentclass_identifier <span>ON</span> ezcontentclass <span>USING</span> btree <span>(</span>identifier, version<span>)</span>;<span>CREATE</span> <span>INDEX</span> ezcontentobject_tree_remote_id <span>ON</span> ezcontentobject_tree <span>USING</span> btree <span>(</span>remote_id<span>)</span>;<span>CREATE</span> <span>INDEX</span> ezcontobj_version_obj_status <span>ON</span> ezcontentobject_version <span>USING</span> btree <span>(</span>contentobject_id, <span>STATUS</span><span>)</span>;<span>CREATE</span> <span>INDEX</span> ezpolicy_role_id <span>ON</span> ezpolicy <span>USING</span> btree <span>(</span>role_id<span>)</span>;<span>CREATE</span> <span>INDEX</span> ezpolicy_limit_value_limit_id <span>ON</span> ezpolicy_limitation_value <span>USING</span> btree <span>(</span>limitation_id<span>)</span>;<span>DROP</span> <span>INDEX</span> ezcontentobject_attribute_contentobject_id;<span>DROP</span> <span>INDEX</span> ezcontentobject_attr_id;<span>DROP</span> <span>INDEX</span> ezcontentobject_name_co_id;<span>DROP</span> <span>INDEX</span> ezenumobjectvalue_co_attr_id_co_attr_ver;<span>DROP</span> <span>INDEX</span> ezkeyword_keyword_id;<span>DROP</span> <span>INDEX</span> ezkeyword_attr_link_keyword_id;<span>DROP</span> <span>INDEX</span> eznode_assignment_co_id;<span>DROP</span> <span>INDEX</span> client_id; <span>DROP</span> <span>INDEX</span> ezurlalias_ml_actt;<span>-- Combining "ezurlalias_ml_par_txt" and "ezurlalias_ml_par_lnk_txt" by moving "link" after "text(32)" in the latter:</span><span>DROP</span> <span>INDEX</span> ezurlalias_ml_par_txt;<span>DROP</span> <span>INDEX</span> ezurlalias_ml_par_lnk_txt;<span>CREATE</span> <span>INDEX</span> ezurlalias_ml_par_lnk_txt <span>ON</span> ezurlalias_ml <span>USING</span> btree <span>(</span>parent, text, link<span>)</span>; <span>-- Combining "ezurlalias_ml_action" and "ezurlalias_ml_par_act_id_lnk" by moving "parent" after "link" in the latter:</span><span>DROP</span> <span>INDEX</span> ezurlalias_ml_action;<span>DROP</span> <span>INDEX</span> ezurlalias_ml_par_act_id_lnk;<span>CREATE</span> <span>INDEX</span> ezurlalias_ml_par_act_id_lnk <span>ON</span> ezurlalias_ml <span>USING</span> btree <span>(</span><span>"action"</span>, id, link, parent<span>)</span>; <span>-- See https://jira.ez.no/browse/EZP-20239</span><span>DELETE</span> <span>FROM</span> ezcontentobject_link <span>WHERE</span> op_code <span><></span> <span>0</span>;<span>DELETE</span> <span>FROM</span> ezcontentobject_link <span>WHERE</span> relation_type <span>=</span> <span>0</span>;<span>ALTER</span> <span>TABLE</span> ezcontentobject_link <span>DROP</span> <span>COLUMN</span> op_code;<span><</span>/custom<span>></span>   <span><</span>header level<span>=</span><span>"2"</span><span>></span>Step <span>4</span>: Upgrading the distribution files<span><</span>/header<span>></span>The easiest way <span>TO</span> upgrade the distribution files <span>IS</span> <span>TO</span> unpack eZ Publish <span>2013.1</span> <span>TO</span> a separate directory <span>AND</span> then copy <span>INTO</span> it the directories that contain site-specific files <span>FROM</span> the existing installation. Make sure that you copy the following directories: <span><</span>ul<span>></span>  <span><</span>li<span>></span>design/&lt;mydesign&gt;<span><</span>/li<span>></span>  <span><</span>li<span>></span>design/&lt;mydesign_admin&gt;<span><</span>/li<span>></span>  <span><</span>li<span>></span>var<span><</span>/li<span>></span>  <span><</span>li<span>></span>settings/siteaccess<span><</span>/li<span>></span>  <span><</span>li<span>></span>settings/override<span><</span>/li<span>></span><span><</span>/ul<span>></span> <span>REPLACE</span> &quot;mydesign&quot; <span>AND</span> &quot;mydesign_admin&quot; <span>WITH</span> the actual names of your designs. <span><</span>strong<span>></span>Important note: <span><</span>/strong<span>></span>Because the new directory has replaced the original directory, the directory permissions need <span>TO</span> be fixed. <span>USE</span> the following commands <span>TO</span> do this. <span>(</span>You have the choice <span>BETWEEN</span> Shell commands <span>OR</span> Alternative shell commands<span>)</span>: <span><</span>ul<span>></span>  <span><</span>li<span>><</span>strong<span>></span>Shell commands<span><</span>/strong<span>><</span>/li<span>></span><span><</span>/ul<span>></span> These shell commands will give proper permission <span>TO</span> the web server: <span><</span>literal<span>></span>cd <span><</span>/path/<span>TO</span>/your/eZ/Publish/directory<span>></span>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.1 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.1
  • Upgrading custom extensions
  • Regenerate the autoload array for extensions
  • Clearing the caches
  • Putting the website online (optional)

Changelog

Changelog from Community Project 2012.12 to Community Project 2013.1

Bugfixes

eZ Publish 5
  • EZP-19982: Rename Github Repository's to reflect eZ Publish 5 structure
  • EZP-20334: - Error in runCallback example in GETTING_STARTED file.

eZ Publish Legacy Stack (LS)
  • EZP-18506: Undefined txtHour[0] warning when using Date Picker
  • EZP-18662: switchlanguage doesn't respect RemoveSiteAccessIfDefaultAccess (patch proposed)
  • EZP-19161: Remove redundant indexes/keys
  • EZP-19576: SSLSubtree changes not taken into account
  • EZP-19649: eZ DFS sql error storing image files when path contains apostrophe (urlalias_iri)
  • EZP-19982: Rename Github Repository's to reflect eZ Publish 5 structure
  • EZP-20199: ezlupdate generates invalid xml for template files
  • EZP-20226: Transaction Error: duplicate entry in ezsearch_search_phrase
  • EZP-20289: Symfony CSRF protection not integrated with legacy
  • EZP-20300: In cases when left panel is hidden: - Hiding left panels separator. - Wrapping main content into "maincontent" and "maincontent-design" divs. - Preventing unwanted CSS changes in the head. - Removing "maincontent-desing" left margin in the head.

eZ Publish Kernel & APIs
  • EZP-19161: Remove redundant indexes/keys
  • EZP-19982: Rename Github Repository's to reflect eZ Publish 5 structure
  • EZP-20084: ezwebin : front end siteaccesses don't share same session
  • EZP-20163: Remove loadRolesByGroupId from SPI and Implementation and Tests
  • EZP-20221: - Socket information for Database Connection is not propagated to legacy
  • EZP-20287: - eZP 5.0 Kernel errors falls back to eZ Demo
  • EZP-20289: Symfony CSRF protection not integrated with legacy
  • EZP-20298: - Confusing phpdoc documentation in UrlAlias Criterion
  • EZP-20299: - Small typo in phpdoc for ContentTypeId Criterion
  • EZP-20314: - Wrong phpdoc in handle methods of many criterionHandlers
  • EZP-20361: Try to fix travis failures by using authenticated github user
  • EZP-20385: added ez_render_fielddefinition_settings() Twig function
  • EZP-20413: "LanguageCode" criterion is not working for $repository->searchService.
  • EZP-20420: - Small CS issue in Repository/Values/Content/Location class
  • EZP-20428: - Canot define new ImageMagick filters in ezpublish.yml

Enhancements

eZ Publish 5
  • EZP-20389: - Implement old .tpl engine as a real Symfony template engine

eZ Publish Legacy Stack (LS)

eZ Publish Kernel & APIs
  • EZP-20317: - Add content type identifier criterion
  • EZP-20389: - Implement old .tpl engine as a real Symfony template engine

Pull requests

eZ Publish 5
  • 29: from crevillo/EZP-20334
  • 32: from patrickallaert/EZP-19982
  • 33: from lolautruche/eztemplate_symfony_engine
  • 36: from sanaghadevman/patch-1
  • 37: from ezrobot/patch-1
  • 38: from tothimre/master
  • 39: from SylvainGuittard/master

eZ Publish Legacy Stack (LS)
  • 506: from darylounet/patch-1
  • 525: from patrickallaert/EZP-20194
  • 527: from patrickallaert/EZP-19649
  • 529: from pspanja/EZP-20239
  • 532: from patrickallaert/EZP-20226
  • 533: from patrickallaert/EZP-18662
  • 535: from Tharkun/EZP-20164_oe-ligature-url-aliases
  • 538: from patrickallaert/EZP-20199
  • 539: from patrickallaert/EZP-19161
  • 543: from darylounet/patch-cs
  • 544: from ezsystems/EZP-20300
  • 547: from patrickallaert/EZP-19982
  • 552: from ezsystems/sf_csrf_align
  • 555: from Heliopsis-HQ/section_identifier_override_rebased
  • 557: from ezsystems/fix-EZP-19576

eZ Publish Kernel & APIs
  • 170: from ezsystems/EZP-19884
  • 191: from patrickallaert/performanceMerged
  • 195: from patrickallaert/EZP-19161
  • 199: from crevillo/EZP-20298
  • 200: from crevillo/EZP-20299
  • 201: from ezsystems/EZP-20097-RefactorRelations
  • 202: from crevillo/EZP-20314-2
  • 203: from crevillo/ContentTypeIdentifier-criterion
  • 204: from crevillo/EZP-20314-2
  • 205: from ezsystems/PersistenceFieldType
  • 206: from ezsystems/globalTwigHelper
  • 207: from ezsystems/EZP-20106-PathIdentificationString
  • 208: from patrickallaert/EZP-20361
  • 209: from patrickallaert/EZP-19982
  • 211: from ezsystems/legacy_csrf_inject
  • 212: from patrickallaert/EZP-20084
  • 213: from lolautruche/eztemplate_symfony_engine
  • 214: from ezsystems/error_fallback
  • 216: from crevillo/EZP-20420
  • 217: from patrickallaert/solr-test
  • 218: from ezsystems/EZP-20400-RemoveContentInfo-ContentType
  • 219: from ezsystems/EZP-20419-FixTestsWithPHP533
  • 223: from ezsystems/compound_siteaccess_matcher
  • 224: from crevillo/EZP-20437
  • 226: from ezsystems/package-rename
  • 227: from ezsystems/EZP-20336-RedirectAfterLocationMove
  • 228: from joaoinacio/EZP-20413
  • 230: from patrickallaert/solr-part1
  • 231: from pedroresende/EZP-19923_Missing_Config
  • 232: from ezsystems/EZP-19884-fixIsMainLanguage

Miscellaneous

eZ Publish 5
  • Update INSTALL.md
  • Updated ezpublish-kernel deps
  • Update composer.lock file to reflect latests changes
  • Update composer.json deps on ezpublish-kernel
  • Upgrade to Symfony 2.2.0-RC2
  • EZP-20238 - Upgrade to Symfony 2.2
  • Updated dependencies.
  • Changed: welcome 2013

eZ Publish Legacy Stack (LS)
  • Removed: dead ezcontentobject_link.op_code usage
  • Added: issue number to removed feature description
  • Removed: ezcontentobject_link.op_code column
  • Added: ezcontentobject_link cleanup queries for MySQL
  • dbupdate: added queries to cleanup ezcontentboject_link table
  • Described removed feature
  • Fixed: version no 1 not recognized as draft
  • Removed: op_code handling for relations
  • Added doc/features file for the sslzones cache ID
  • Update .travis.yml to test PHP 5.3.3
  • Added missing doc/features/5.0/event.txt
  • Changed: welcome 2013
  • Check section type in eZContentObject::sectionIdentifier
  • fixing eZContentObject::sectionIdentifier method
  • Revert "fixing an obvious but oddly unnoticed error"
  • delete temp file
  • fixing an obvious but oddly unnoticed error
  • load section as object
  • adding section_identifier key to node_view_gui template function
  • Corrected code style from previous pull request http://git.io/yI8l4A thx @crevillo
  • EZP-20284 - Added a BC note about change of behaviour for extended attribute filters, after fix for EZP-19158
  • Added final bytes support (eg "bytes=-500") see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
  • Fixed #20164 : oe ligature is transformed wrong in url aliases
  • Corrected codestyle
  • Added stricter checking like suggested in https://github.com/ezsystems/ezpublish/pull/506#issuecomment-10550894
  • Merge remote-tracking branch 'upstream/master' into patch-1
  • Debug empty $endOffset for http range

eZ Publish Kernel & APIs
  • Added: fixture for Solr test
  • Added: priority sort clause and solr index
  • Added: Passing testsuites to Solr integration tests
  • Fixed: sorting on a location property must be on the main one
  • Added: main location information in Solr
  • Added: support for some multi valued field in Solr
  • Fixed: correct some fixture data for Solr integration tests
  • Added: deleteContent() search backend operation
  • Changed: throw an Exception if Solr status != 200
  • Added: hardcoded high query limit
  • Added: implementing offset and limit in Solr queries
  • Changed: reducing usage of temporary variables
  • Changed: using integers for STATUS_* constants
  • Changed: reindex everything from db between tests
  • Changed: adapted tests to be system independent
  • Fixed: unescaped \ in strings
  • Changed: using colors for all tests
  • CS: imports cleanup
  • Fixed: typo
  • CS: space must be used after keyword
  • Fixed: wrong doc comment
  • Fixed mainLanguage detection in ContentService
  • Fix missing fieldtypes
  • test was using incorrect language code
  • Change .travis.yml to try to make sure composer is up-to-date
  • Merge branch 'master' into EZP-19884
  • Fixed: move PHP 5.3.3 workaround to the right place
  • Merge branch 'master' into EZP-19884
  • Attempt to fix occasional segmentation faults with PHP 5.3.3
  • Merge branch 'master' into EZP-20097-RefactorRelations
  • Merge branch 'master' into EZP-20106-PathIdentificationString
  • Update Symfony deps to 2.2.0-RC2
  • Fixed paths in configuration files to match repository rename
  • Update to Symfony 2.2.0-RC2
  • Merge branch 'master' into EZP-20336-RedirectAfterLocationMove
  • Enable UrlAliasRouter::matchRequest() to redirect history path to current path
  • Update composer.lock file
  • Update composer.json
  • Update composer package name
  • Removed Core ContentInfo, promoted API ContentInfo from abstract to concrete
  • Updated ContentExtension tests for ContentInfo->contentType removal
  • Merge branch 'master' into EZP-20400-RemoveContentInfo-ContentType
  • Fixed CS issues
  • Merge branch 'fielddefinition_settings'
  • Fixed field type identifier caching issue in the Content extension
  • Added integration tests for ez_render_field twig function
  • Added integration tests for ez_render_fielddefinition_settings twig function
  • EZP-20399 - Added PHPDoc
  • Fixed Typo
  • EZP-20437 - Php Warning while clearing caches from console
  • EZP-20399 - Implement compound siteaccess matcher
  • Attempt to fix segfaults with PHP 5.3.3 by reordering tests
  • Merge branch 'master' into EZP-20097-RefactorRelations
  • EZP-20399 - Implemented a siteaccess MatcherBuilder service instead of doing the job in the router, to make it reusable
  • Fixed: avoid searching for the same field twig blocks again and again
  • Updated phpdoc: since FieldType refactoring Persistence Handler is not provided in external Field storage
  • Fixed: sync phpdoc and interface with refactoring
  • Fixed: using in a closure doesn't work with all supported PHP versions
  • Changed: assertions to account for differently ordered resultset returned by PDO with PHP 5.3.3 and 5.4
  • Fixed: comparing ArrayObjects in PHP 5.3.3
  • Removed: suite() methods from tests, wrecking PHPUnit with PHP 5.3.3 in come cases
  • EZP-20399 - Added the possibility to use a siteaccess matcher as a service.
  • EZP-20399 - Injecting the logger into SiteAccess\Router
  • Changed: welcome 2013
  • Fixed: calling getFieldTypeIdentifier() should not crash the app
  • Added: some build exclusion for travis
  • Added: PHP 5.5 partially for travis
  • Added: configuration for integration tests with Solr
  • Fixed: removed deprecated properties
  • Remove ContentInfo->contentType: Repository
  • Remove ContentInfo->contentType: REST
  • Remove ContentInfo->contentType: MVC
  • Remove ContentInfo->contentType: API
  • Added: services to test in Solr integration tests
  • Fixed: Solr Search Handler refactored with changes made in the PAPI
  • Fixed: testLoadSubUserGroups() not testing correctly sub user groups
  • Fixed: the sortClauses of a Query must always be an array
  • Fixed: Unable to convert the value as a string
  • Changed: reordered results as per 8131dbb3ef140fb3a49c2352582f1f3702771400
  • Changed: removed duplicated directory separator
  • PHPDOC: Try to mark internal ValueObject methods as internal
  • Fix some @package doxygen issues
  • Fixed: typos
  • Merge branch 'master' into EZP-19884
  • Merge branch 'master' into EZP-20106-PathIdentificationString
  • Merge branch 'master' into EZP-20097-RefactorRelations
  • Moved: relation processing tests to FieldType integration tests
  • Removed: processing relations on location swap (separate issue)
  • CS: fixed spacing issues
  • CS: fixed double space
  • CS: if conditions over several lines
  • EZP-20238 - Replace deprecated render Twig tag by the corresponding function
  • Permission criteria: Support role limitations with no policies
  • CS: fixed some issues not reported yet by ezcs standard
  • Fixed: global config mapping
  • Merge branch 'master' into EZP-20097-RefactorRelations
  • Fixed: Legacy Storage composite entries not expanded, simplified if expression
  • Tested: RelationProcessor
  • Fixed: unexisting Relation type in code example
  • Merge branch 'symfony2.2'
  • EZP-20238 - Use normalizeKeys( false ) in config tree to avoid key normalization whenever needed
  • Permission critieria: Skip on empty limitation list
  • Add index information to Invalid Criterion Exception
  • Add some inline doc on permission criteria handling
  • Tested: slug converter
  • Update composer config
  • EZP-20238 - Comply to deprecation of using a filename with Yaml::parse()
  • EZP-20238 - Comply to new format for routes (forward compatibility)
  • EZP-20238 - Removed custom Twig chain loader
  • EZP-20238 - Ensure to match a siteaccess only for a master request
  • EZP-20238 - Replaced usage of Symfony\Component\HttpKernel\Log\LoggerInterface (deprecated) in favor of PSR-3
  • Add more information on Invalid Criterion Argument Exception
  • Fixed minor cs issue API\SectionService
  • Updated: refactor remove relations block for simplicity and clarity
  • Fixed: combined if blocks
  • Merge branch 'master' into EZP-20097-RefactorRelations
  • Merge branch 'master' into EZP-20106-PathIdentificationString
  • Updated tests to use slug converter
  • Integrated slug converter
  • Added: empty test class for slug converter
  • Implemented: slug converter
  • EZP-20238 - LocationAwareStore is now based on Symfony\Component\HttpKernel\HttpCache\Store
  • EZP-20238 - Updating Symfony dependency
  • EZP-19948 - Added tests
  • Cleanup: field type registry integration
  • Integrated field type registry with inmemory storage
  • Updated: injecting field type registry to inmemory handler, removed injecting field type config to storages
  • Integrated FieldTypeRegistry
  • Merge branch 'master' into EZP-19884
  • Tested: updating path identification string from updateMetadata()
  • Fixed: properly hint parameters
  • Fixed: default text for path identification string
  • Update path identification string of all content locations
  • Removed: Legacy Storage specific SPI call
  • Added: language id parameter to loadLocationEntries()
  • Updated: changed parameter name and convertToAlias() visibility
  • Added: new dependencies for ContentHandler
  • Updated: update path_identification_string from updateMetadata()
  • Fixed: transform only when commands are set
  • Fixed: correct path to transformation rules
  • EZP-19948 - Expose config resolver
  • EZP-19948 - Expose legacy meta information from content module, including css/js from ezjscore
  • EZP-19948 - Added base legacy helper
  • EZP-19948 - Simplified Twig global load, directly from an extension
  • Tested: Handler::getFieldTypeRegistry()
  • Updated: fixed failing and implemented missing tests
  • Fixed: create existing field in new version for untranslatable field in man language
  • Updated: inject Language Handler through constructor
  • Fixed phpdoc, changed property name
  • Fixed funny code flow
  • EZP-19948 - Registered "ezpublish" global variable in Twig
  • EZP-19948 - Fixed missing argument to ezpublish.twig.global_helper.core service
  • EZP-19948 - Added base GlobalHelper class and defined it as a service
  • Added new test suite to the configuration
  • Added: FieldTypeRegistry to buildLegacyEngine()
  • Fixed: returning object instance
  • Tested: FieldTypeRegistry
  • Updated: SPI FieldType integration tests use FieldTypeRegistry
  • Added: getFieldTypeRegistry() method
  • Added: register() method
  • Cs: Added new line at the end of files
  • Added: FieldType registry to settings.ini and Legacy Handler
  • Added: FieldType registry
  • Added: Persistence FieldType interface and implementation
  • Changed test name to follow nomenclature
  • Optimize away unneded use of getFieldDefinition() during content loading
  • Removed: deprecated method
  • Merge branch 'master' into EZP-19884
  • Updated: changed order of how creating, updating and copying is done, added copying to createExistingFieldsInNewVersion()
  • Implemented: StorageHandler::copyFieldData()
  • Implemented: default implementation of copyLegacyField()
  • Updated: prepared for FieldStorage::copyLegacyField() #2
  • Updated: prepared for FieldStorage::copyLegacyField()
  • Merge branch 'master' into EZP-19884
  • Removed: external storage config for Relation and RelationList from Core bundle
  • Merge branch 'master' into EZP-20097-RefactorRelations
  • Fix boostraping legacy in functional tests, check existence of EZCBASE_ENABLED
  • Fixed: handling empty array of links URLs
  • Added: integration tests for processing field relations
  • Implemented: process relations on swapping Locations
  • Implemented: process relations on Content create and update
  • Implemented: RelationProcessor
  • Added: second parameter to ContentHandler interface
  • Removed: external storage for Relation and RelationList field types
  • Added: new method FieldType::getRelations()
  • Added: second parameter to ContentGateway::deleteRelation()
  • Fix indentation on .travis.yml git depth param
  • Changed: applying index changes to other DB implementations
  • Changed: The way to generate unique table name alias
  • Use join for subtree criterion queries
  • Documented optimization hacks as such
  • Removed more overly complex getIdentifier calls
  • Removed wrong type hints
  • Docs
  • Docs and more unification
  • Fixed: integration tests not correctly written
  • Fixed: unit tests not correctly written
  • Extract method
  • Clear internal caches when retrieving repo
  • Implemented: Cache clearing
  • Fixed group annotation
  • Added: Additional indexes
  • Use eq() instead of like() for int comparisons
  • Re-enabled language cache
  • Fixed type hint
  • Use in memory cache for content types
  • Implemented: Custom identifier quoting
  • Merge branch 'master' into EZP-19884
  • Fixed: added phpdoc description
  • Added: default configuration for Legacy Handler
  • Updated: InMemory storage tests against refactored ContentHandler
  • Updated: refacored InMemory ContentHandler to create complete set of fields in the same way as Legacy storage
  • Updated: tests for refactored FieldHandler
  • Updated: remove need for loading Content in ContentHandler::create()
  • Updated: do not pass full set of fields for untranslatable field
  • Removed: setter method for FieldType configuration
  • Updated: inject FieldType configuration into ContentHandler
  • Updated: register FieldTypes in compiler pass for legacy storage engine factory
  • Updated: add FieldTypes to persistence handler configuration
  • Merged with master
  • Updated: load content after create
  • Updated: inject field type configuration into the Legacy handler
  • Updated: handle storing empty and untranslatable fields
  • Updated: do not pass empty value and untranslatable fields to storage

Tags

eZ Publish 2013