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, its accomplished thanks to a Legacy Bundle acting as a "bridge" between the two, passing on platform/symfony requests to legacy whenever needed and injecting sessions, configuration, user and integrating cache across the two systems.
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.
|Simplified view||Detailed view|
The new architecture is layered and uses clearly defined API’s between the layers.
The chapter above is only explaining the new architecture but, as mentioned, version 5 also offers a way to run the legacy eZ Publish stack, in order to simplify upgrade and switch to version 5. This result in the end in a more sophisticated architecture that is illustrated in the diagram below.
The main difference is, the cohabitation between the new architecture explained in the previous chapter (on the right) and the previous architecture (on the left).
Summary on the ways to use eZ Publish 5
Using eZ Publish 5 in
This way is the less disruptive coming from 4.x. In this way, eZ Publish 5.0 totally behave as if it was an eZ Publish 4.7, or we should say 4.8. This is ideal for users who have large existing applications with large amount of data and who are not willing to invest in learning and migrating them immediately.
In this way, even the siteaccess and vhost configuration bypass the your vhost is setup to go directly to legacy stack, and developers will see almost no differences.
Using ez publish 5.0 through the legacy stack but relying on the new controller and new template system as well as the new kernel.
In this setup you can not use any of the new Symfony or Platform features, and legacy "bridge" will not be used used for integrating the two system together.
If you choose this because of performance concerns, see our recommendations in Legacy code and features on how to alternatively handle those.
Anchor Usingezpublish5.0throughthelegacystackbutrelyingonthenewcontrollerandnewtemplatesystemaswellasthenewkernel. Usingezpublish5.0throughthelegacystackbutrelyingonthenewcontrollerandnewtemplatesystemaswellasthenewkernel.
Using eZ Publish 5 with both legacy & platform stack to start to take advantage
This way offers a transition and allows to combine old template and new templates in the same application. In this case, the users will rely on the administration interface of eZ Publish as well as on the ez tool bar for front-end editing, through the legacy templates, but the front end will be either based on legacy or new twig based templates.
In this model, the two kernels can be used and the system can this way benefit from the Public API and the new REST API built on top.
This setup can be configured in "legacy mode" per siteaccess, if enabled legacy handles dynamic url alias lookups and page layout handling, it's what is used out of the box where admin is configured in this mode and demo frontend is not.
See Legacy code and features for how to take advantage of this for gradual transition your siteaccesses.
Using the brand new "Platform"architecture only
This case is the one that will deliver very strong improvements in scalability and performance, in this case the whole new architecture is used and there is no way to reuse components from the legacy architecture.
This means that:
the The administration interface is not available in 5.0
existing Existing templates and site won't run without having been migrated
the old (Optional) The legacy storage system is not used any more
Note: because of these restrictions, a new storage engine has not been made yet. Similar setup can use the "Legacy storage engine" for the time being to be ready to migrate data and not have to change code when a new engine is added in the future.
While this might sound restricting for the time being, it is clearly the foundation of the future of eZ Publish: eZ Platform.
In the context of eZ Publish 5, it can be useful for new projects relying only on the concept of "content as a service" the platform is a high performance and scalability content repository with very advanced services but provide no editorial user interface. for traditional content management.
Learn more with this video :