With the 5.0 release eZ Publish is making an important leap forwards in terms of technology.
Table of Contents
In summary eZ Publish 5.0 introduces a new technology stack referred to as "Platform" (earlier sometimes referred to as "new stack", "6.x stack" or "Symfony stack") next to the existing eZ Publish 4.x technology, herby referred to as Legacy. Platform Stack will throughout the 5.x series mature for each release until it becomes ready to be next evolution of eZ Publish. This approach allows for very high degree of forward and backwards compatibility.
This document will explain why we are renewing our technology platform, and to some degree explain what this evolution in architecture means to eZ Publish developers and users, and last but not least how eZ Systems is affected by these changes.
Why this change in technology
The background for the changes is to meet the challenges ahead:
Customer and User Experience Management requirements: beyond simple web content management, enable the building of any digital user experience
Performance and scalability: deliver on the ever increasing need for performance and scalability
The big data situation: embrace big data situation as an opportunity to build new digital services and not view it as a hurdle
Fulfill the multichannel vision: enable content to live in any screen, any app, any device
An extended and sustainable Public API. This will speed up developments on the platform and improve their quality and maintainability both for eZ core developers and extension developers, which in turn will lead to more efficient implementation projects
An improved REST API with read and write functionality and support all the core content management functionality. This way, eZ Publish will better integrate with any programming framework, for instance into mobile applications or any other web application. Better meaning faster and simpler. in order to fulfill the multichannel vision and execute on the User Experience demands and needs of customers and users of the eZ Publish platform
Introducing Symfony as the Web Framework (PHP framework ) under the platform to make developers lives easier and to make developments on eZ Publish accessible for more developers to further support innovation in eZ Publish
Introducing Twig as the template engine to simplify working with templates in eZ Publish. And as a standard template engine this will also make eZ Publish templating accessible to more developers
Introducing a new storage system for scalability, performance and maintainability reasons
With Symfony as the web framework eZ Publish will be more accessible. Thanks to the framework, it will be used for instance to extend eZ Publish applications with new features, potentially not based at all on the content repository (for example, business specific application logic) using a standard PHP framework and a very clean application design with minimum interlocking with eZ Publish itself.
Any developer knowing Symfony will then be able to easily develop eZ Publish Bundles the equivalent of eZ Publish legacy extensions.
This will cater for :
a better quality of the code
a lower entry point to do developments in eZ Publish
more innovation faster since more developers will use a standard PHP framework
Symfony has an open-source community that will help developers
Symfony is commercially backed up, so they are in it for the long run and Sensio Lab (maker of Symfony) will naturally extend the eZ offering to the framework level if need be.
The following diagram shows a simplistic view of this new architecture, and a more detailed view for developers.
|Simplified view||Detailed view|