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.
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 and Platform features as the legacy bundle ("bridge") is not used for integrating the two system together. So this is more of a first step toward eZ Platform, getting your legacy code to work with eZ Publish 5.x.
If you choose this because of performance concerns setting up a combined setup, recommendation is to move to PHP 7.x when moving to Platform setup which will result in a overall faster setup then a pure legacy setup on PHP 5.x.
Using eZ Publish 5.0 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.