18 months ago, we engaged on quite a journey. We started the development eZ Platform version two. Version two had to be a strong foundation, well designed, and one that would be stable, safe and long-lasting. To accomplish that, we made some decision by, listening and consulting with our developer and user base, such as building v2 closer to the Symfony framework compared to version 1; building it simpler, and embracing common components beyond Symfony such as React and Bootstrap when needed.
eZ Platform version 2 also had to offer several features. Because we care for our user base, we wanted it to offer a very comparable functional breath as eZ Publish, our previous generation software (and the one having worked with eZ Publish know that there are a lot in there!) Some called this “feature parity”. Part of this was also “bridging” eZ Publish, we wanted to make it easy for eZ Publish projects to move on, hence including the legacy bridge.
Finally, eZ Platform version two had to be significantly better than eZ Publish and eZ Platform v1 at many things. We wanted the editorial experience to be much better, we wanted the developer experience to be far better too. While reaching “feature parity” on the feature that worked great, we also decided to make some important changes to old features which were not so great, such as finally bringing a real editorial workflow system, a strong Page Builder, a totally revised way to manage forms and offering strong remote APIs that fit with our time based on GraphQL.
Eight months later, 5 fast track releases, many pull requests, bug fixes, and lines of code after, we are ecstatic to arrive at our destination and release eZ Platform v2.5 Long Term Support, the final version two of eZ Platform. We are confident that we have reached “feature parity” and we, are happy about the tremendous value brought by features such as the Page Builder, the Graphql engine, the Form Builder as well as the many little details that make a difference on a daily basis. We will support this release for the long run for sure, and help our partners and customers build with it strong digital experiences. Our product and engineering teams will also start a new cycle of innovation with eZ Platform version 3 with many other great objectives ahead of us. But that is another story, and for now, let me share with you a bit of the new features and capabilities that are coming today with eZ Platform version 2.5.
Improvements to the editorial user experience
Quickly navigating to content with the Content Tree
The first feature we are excited to introduce and that has been long requested by our users is the Content Tree. The Content Tree allows editors to quickly locate and access content while still having a full view of their content structure. This is extremely helpful when they want to easily locate a piece of content while still being able to visualize the entire tree at the same time. Developers can easily define different parameters (ex. number of sub-items under the container, maximum number of items that can load, the depth of the tree) in order to better optimize and configure the content tree for better performance depending on each project specific content structure. To learn more about this feature we recommend you read "[Sneak Peek] The Content Tree Strikes Back” blog post.
Here is a short video illustrating how the workflow feature works:
Content Tree capabilities
Hiding and revealing content
Until now, editors were restricted to hiding locations rather than hiding content items. This caused some confusion as the “hide action” was only applied at the location level. This meant that if the content item was used in multiple locations on the website, the editor needed to hide each one individually. This made the task quite tedious and difficult to manage. To resolve this issue, editors can now easily hide and reveal Content items at the “content level". Content items that are hidden will be unavailable on all the places they are placed. However, when an editor will reveal back a content item previously hidden, the system will recall the visibility set at each and will revive the content accordingly.
Let’s take a quick look at how editors can hide or reveal a content item through the back office:
Hide / Reveal content item
Online editor enhancements
In the upcoming release, we have put a lot of effort into enhancing the Online Editor with new features that will provide a better editorial experience. Developers will be happy to hear that they can now easily create custom tags that don’t break the line, and they can insert the “custom tag” within a line of rich text. With this feature, editors have the ability to embed the different type of content (ex. icons, abbreviations, YouTube videos or whatever your project might require) in a paragraph without breaking the flow of the sentence.
Here is a short video of an example of an inline custom tag, an abbreviation tag that allows an editor to highlight an abbreviated word and define what it stands for:
In v2.5, the online editor also includes an anchor link. Moving forward, editors can place an internal anchor in the online editor that lets a user go directly from a link to the anchor. This can dramatically improve the user experience for an end-user who wants to jump to a certain section of the page seamlessly.
Here is a quick look of how to create an anchor link:
Creating an anchor link
Supporting eZ Matrix field
v2.5 now fully supports the eZ Matrix field type. eZ Matrix is an old eZ Publish field type that was not introduced in eZ Platform initially. It is typically used to store “matrix of information” such as a table of options with different values, a list of variation of product specs and prices in an e-Commerce project. It has been requested by many, seeing it as a blocker for them to migrate from eZ Publish to eZ Platform. Well, it has arrived!
Creating eZ Matrix Field definition
Creating and defining icons for content types
Users will be pleased to learn that v2.5 re-introduces icons for content types. Developers can now easily create custom icons for their content type. The icons will be displayed next to the content type name in most places in eZ Platform user interface. To learn about how to configure icons, read about it in the eZ Developer documentation.
Content type icon list
There are few additional small improvements to the administrative interface. Editors now have the ability to customize the sub-items menu. The feature currently is not extensible, but does provide few field options that can help in filtering sub-items menu. Another small, but useful, enhancement for editors is the ability to collapse sections in the content view. We brought a few changes to the Details tab. In the previous versions, the section table only displayed the sections details. In v2.5, editors can directly assign a content item and its sub-items to a certain section. We decided also to simplify the object state table to include fewer fields and make it easier to read. Language management has also been improved. Admin users will be able to better manage language. Administrators can now define a new main language for the system and then be able to delete unnecessary languages under the translation tab.
Deleting a language
Important improvements and changes for developers:
Migrating to Webpack Encore
We have a new way to manage and use web assets (css,js.icons…), adopting Webpack Encore. Previously, web assets were managed by a system called Assetic, part of the Symfony framework. While Assetic is still available in v2.5, in order to seriously support v2.5, we needed to allow the switch to Webpack Encore which is the way to go for the future. It is important for developers to be aware that in version 3, we will no longer support Assetic. As Webpack Encore supports more CSS & JS framework, it can be valuable to both core developers and integrators immediately and we recommend moving to it as soon as possible. In addition to maintaining your project or bundle assets, Webpack Encore makes it easy to replace existing assets with your own. It is commonly done to override the native behavior of the back office.
Configuring Webpack encore
Supporting PostgreSQL and ready to add more database options
We are pleased to announce that eZ Platform v2.5 is now supporting PostgreSQL as part of the v2.5 release. This has been done in a way that will make it easier in the future to add other databases as options, fully embracing Doctrine Schema.
Managing databases with PostgreSQL
Bringing GraphQL from experimental to a stable stage and bringing more to it
As you may recall in v2.4, we introduced an experimental package for GraphQL support. Graph QL is a better way to communicate with eZ Platform from a remote application, typically what you use in a Headless content management scenario or when trying to embed content on different channels and applications. In v2.5, that package is no longer experimental and is now stable and fully supported. We also introduced a few notable improvements:
- Pagination support using Relay
- Creating, updating and deleting content using Content mutations
Selecting content query
Using content mutation
A few more worthy mentions
There are few other features that are worth mentioning which could be beneficial for editors, developers and admin users. First, we have added on the top of the dashboard a label that indicates the eZ version that is being used. The version label also provides information on what type of license the customer has when it will stop being supported by eZ. Then all users will be happy to hear that they can now define their preferred date/time format in the user preferences (no more confusion whether Month or Days come first, just use your native formatting). The system now supports various international formats which the admin user can choose from according to organizations preferences. The format list can be further extended by developers.
Additionally, users can now define the language to be used for administration interface (instead of simply relying on the language of their browser).
eZ Platform v2.5 is available on ezplatform.com and via composer update. eZ Platform Enterprise Edition v2.5 is available for customers in their support portal. eZ platform Enterprise Edition v2.5 is available as a trial for partners in the partner portal. It is of course also available on eZ Platform Cloud. To see the full list of our new features, check out our release notes, as well as, the link to the list of changes on Github for open source and the enterprise edition.
To see a demo of all the new features available on v2.5, check out Discover eZ Platform v2.5 webinar: