eZ Platform v3.0¶
Version number: v3.0
Release date: April 2, 2020
Release type: Fast Track
The version 3.0 moves eZ Platform to Symfony 5.0 from the previously used Symfony 3.4.
This entails several changes to the way projects are organized. For details, see Symfony 4.0 and Symfony 5.0 upgrade documentation
Using Events instead of SignalSlots¶
The application now uses Symfony Events instead of SignalSlots. The application triggers two Events per operation: one before and one after the relevant thing happens (see for example BookmarkService).
To use Symfony Events, create Event Listeners in your code.
The list of bundles in v3.0 has been extended by the following ones:
For details, see Bundles.
The new Site management User Interface is now integrated with Admin UI. It enables you to easily create and manage multiple sites from the Back Office without editing the configuration files.
For more information about:
- enabling and configuring, see Enable Site Factory
- using the Site Factory, see User Guide
You can now easily view and perform scheduling actions using the Calendar widget available in the Back Office. By default, the widget displays Content items scheduled for future publication, but custom events can be configured as well. You can also filter displayed events and toggle through a day, week, and month view.
Manage planned publications with Dashboard¶
You can now reschedule or cancel planned future publications right from the Dashboard.
Schedule hiding a Content item¶
You can now schedule hiding Content items. Using Calendar widget available in the Back Office you can also reschedule or cancel hiding a Content item.
Defining buttons in Online Editor¶
You can now reorder and disable buttons in Online Editor using YAML configuration.
You can now configure your workflows to automatically publish content.
You can also create custom workflow actions.
When sending content through a workflow, the user can now select reviewers. You can require the user to select reviewers when sending content through the workflow.
In the configuration, you can also set the workflow to automatically notify the selected reviewers.
A built-in Quick Review offers a quick workflow configuration for your basic needs.
Custom transition color¶
You can configure a custom color for each of the transitions defined in the Workflow.
You can now compare two versions of the same Content item and preview changes in their Fields:
Universal Discovery Widget¶
The Universal Discovery Widget (UDW) has been re-designed and re-written. New functionalities and changes include:
- new configuration
- filtered search
- resizable column with custom sort order
- editing content from UDW (Enterprise only)
For full list of changes, see Backwards compatibility doc and Configuration.
Content query Field Type¶
The new Content query Field Type enables you to configure a Content query that will use parameters from a Field definition.
Field Type creation¶
You can now use Generic Field Type as a template for your custom Field Types.
Keyword Field Type¶
keyword Field Type can now recognize versions of a Content item.
Login and password options¶
Login by User name or email¶
You can now give your users the ability to log in with User name or with email.
You can now set password expiration rules for user passwords.
Duplicate a role¶
You can now duplicate a role with a single click in the Back Office.
REST API reference¶
The REST reference has been moved from Kernel to a new page, eZ Platform REST API.
The following new Search Criteria have been added:
|Search Criterion||Search based on|
|IsUserBased||Whether content represents a User account|
|IsUserEnabled||Whether a User account is enabled|
|ObjectStateIdentifier||Object State Identifier|
|SectionId||ID of the Section content is assigned to|
|SectionIdentifier||Identifier of the Section content is assigned to|
|UserEmail||Email address of a User account|
|Sibling||Locations that are children of the same parent|
The list of common Sort Clauses has been extended by the Random sorting option.
Contextual Twig variables¶
You can now create custom Twig variables for use in templates. They can be defined per SiteAccess, or per content view.
Built-in Query Types¶
Five built-in ready-to-use Query Types have been added:
You can now use the
ez_render_location_query Twig functions
to make use of Query Types that do not use the current content or Location.
Grouping blocks in Page Builder¶
You can now assign Page Builder blocks to groups using the
Bulk actions in Sub-items list¶
You can now use the Sub-items list to quickly hide, reveal, to add Locations to multiple Content items.
You can now add custom tooltips to provide more information for the users when they hover over, focus on, or tap an element.
The new thumbnails API allows you to easily choose an image for each content. For more information, see Extending thumbnails.
Type hints for Public API¶
Strict types have been added to Public API methods. For a complete list, see backwards compatibility breaks.
In GraphQL, you can now query Locations and their children.
Improved translating of notifications¶
TranslationService is not injected into the
You can now use
TranslatableNotificationHandlerInterface for translated notifications.
Multilingual content route¶
New multilingual content route for internal translations has been added.
Renamed templates and parameters¶
Templates and parameters used by the Back Office have been renamed for consistency. For A full list of changes, see Backwards compatibility doc.
HTTP cache bundle now uses FOS Cache Bundle v2. For a full list of changes this entails, see Backwards compatibility doc.
New helper method
window.eZ.helpers.contentType.getContentTypeName replaces deprecated
User Field Type¶
User data is now treated as an external storage.
The Repository now uses the SiteAccess-aware layer by default. This means that Repository objects will now be loaded in the translation corresponding to the SiteAccess.
Revealing and hiding content can now be performed via REST API.
New methods have been introduced to the PHP API:
Deprecations and removals¶
For full list of deprecations and removals, see eZ Platform v3.0 deprecations and backwards compatibility breaks.
SignalSlots are removed from the application. Use Event Listeners in your code instead.
Deprecated Field Types¶
ezpage Field Types have been removed.
Nameable field type interface has been removed and replaced by
For a full list of changes on Field Types, see Backwards compatibility doc.
Elastic Search support has been dropped.
REST-related code has been moved from Kernel to a new
Following the change, the REST client has been removed from Kernel.
ezpublish-kernel has been replaced by
Online Editor front-end code and assets have been moved to the
For a full list of resulting changes, see Backwards compatibility doc.
In YAML configuration, the main configuration key is now
ezplatform instead of
ezplatform-content-forms package contains forms for content creation moved from
while Content Type editing has been moved to
The Symfony Service definitions, providing extension point to create custom installers, have been removed.
eZ Platform now requires using PHP 7.3. For full list of, see eZ Platform requirements.
Some OS-es, such as Ubuntu 10.x or CentoOS 8.x come with PHP 7.2. In such cases remember to manually update the PHP version.
For the upgrade details, see eZ Platform v3.0 project update instructions.
eZ Platform v3.0.2¶
Sort Trash items¶
Public PHP API
SortClause has been exposed for
(to be used by
It enables you to sort Trash items by date.