THIS IS WORK IN PROGRESS
This page represent a comparison between Legacy Stack vs 5.x New Stack (aka Symfony Stack, aka 6.x Stack).
This means that features mentioned on the black list are still available in 5.x, but only via legacy kernel so you will need to use only legacy or a mix of both.
Known existing integration (white list):
|Content Model||5.x aimed at not adding any features in the content/data model to make sure no breaks happened in 4.x, new features will instead be introduced as we approach 6.x with new storage engines that can support them|
|Content Relations||Object Relations|
|Field||(Content) Attribute||Missing FieldTypes will cause eZ Publish to return exception, this can be avoided by implementing<TODO:Link to article on this> the FieldType or configuring it as "NullType"|
|FieldType||DataType||See FieldTypes for list of supported types, known unsupported FieldTypes are mentioned in Known issues|
|FieldDefinition||(Content) Class Attribute|
|FieldGroups||(Content) Class Attribute Grouping|
|UserGroup||Can by design (and intention) only have one location in 5.x|
|Role Assignment||Currently not possible to delete specific assignment by id|
|REST||5.1 and higher includes a working read/write REST v2 API|
|Development environment||Development mode|
|Web stack||5.x web stack is Symfony with several 4.x features on top|
|(Twig) Template system||(eZ) Template system|
|View Provider||Override system||Restricted to viewLocation in 5.0 and additionally viewContent in 5.1|
|Theme system||Design system||Initially planned for 5.2 using LiipThemeBundle, but not in yet and postponned to 5.3.|
|HTTP Cache||View- / Static- Cache||For anonymous users in 5.0/5.1, for all users using "userHash" in 5.2|
|Site(Access)Grouping||n/a||New in 5.x|
|CSRF||eZ FormToken||Provided by Symfony|
|Persistence cache||Cluster- / Class- / ClassAttribute- / var- / "Global"- cache||Introduced in 5.1, currently missing support for multi repository setups|
|IO||Cluster (-ing of files)||Currently uses 4.x cluster system in the backend, new and simpler file clustering is possible when new storage engine is created in the future|
|Multi Repository||Multi-db||Some features, notably Persistence cache got support for this in 5.2|
Known missing integration (black list):
note: missing integration doesn't mean the system can not use the feature in a new installation relying on the new stack, but if it needs, it shall rely on a fallback to the legacy stack and the legacy kernel. For instance: a website with a shop system could be done in twig and rely on legacy only for the fallback.
|Rating||User Rating not currently supported by API, planned to be implemented later when some convention for FieldType provided API's are established|
|Shop||No shop or field(/data) types related to shop currently supported by API|
|Comment||ezcomments is not supported by API, and is not planned to be supported either. Instead of having it part of the API, we are replacing it in 5.2 with a bundle that will provide an agnostic system to integrate 3rd party comment services. It will out of the box show Disqus and Facebook integration but can also integrate other 3rd party as well as home made or even, why not, a port of the legacy eZ Comment system (which is not the way we will pursue for the product).|
|Module Permissions||Controller / Bundle Permissions is not integrated with eZ Publish permission system yet, currently standard Symfony firewall rules need to be used|
|UrlAlias Routing||UrlAlias has the same model as before and hence does not support routing directly to a bundle:controller:action|
|Workflow||Planned for future version|
|Information Collector||Planned to return as a new Form feature in future versions|
|Package system||Planned to return as a import/export system which uses either API or SPI directly to replicate some or full amount of content from one repository to another|
|Menu management||Could be re introduced in the future as a multi site safe Site configuration feature|
|PDF Export||Not currently planned, should be re-implemented outside of Core|
|RSS feeds||Currently no API for managing RSS feeds|
See "Content Editing".
Be aware that eZ Flow timeline feature is not available in the legacy admin (only in front end editing), hence not usable on the new stack.
|Search||Search API exists, but front end is currently using legacy fallback and 5.x Solr implementation is currently not finished yet|
|User module||User login, login handlers, change-password, forgot-password, register, profile and editing currently uses legacy fallback|
|eZ Tags||We are working on either integrating more deeply eZ tags or rebuilding a solution as part of the API. (note: eZ Tags is not clearly supported in 4.x)|
|eZ SI||eZ SI is purely legacy, not required in Symfony as it support ESI natively. We lost a differentiation for the Enterprise version here|
|eZ Content staging||No equivalent yet on the new stack|
|eZ Style editor||No equivalent on the new stack. Because Mamut-like project it is not anymore our core focus, we will not reimplement as is but might build solutions on top of the theming support. It wont be similar.|
|eZ Survey||No equivalent yet on the new stack|
Note: All missing features are still available in legacy stack bundled with eZ Publish 5.x, this fact sheet is purely about 5.x vs 4.x (legacy).