THIS IS WORK IN PROGRESS
This page represent a comparison between Legacy Stack (aka "4.x" stack) vs New Stack (aka "5.x"- or "6.x"-stack) and will be attempted to be kept up to date as new stack matures. Note: Features mentioned on the black list are still available in 5.x, but via legacy kernel so you will need to use "pure legacy" or a mixed setup using "legacy fallbacks".
Known existing integration (white list):
5.x Feature | 4.x Feature | Note/Limitation |
---|---|---|
Content Model | 5.x aimed at not adding any features in the content/data model that would lead to backwards compatibility breaks, new features will instead be introduced when we reach 6.x and beyond. | |
Content | (Content) Object |
|
Content Relations | Object Relations | |
Field | (Content) Attribute | Missing FieldTypes will cause eZ Publish to return exception, this can be avoided by implementing<TODO:Add link when 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 |
Locations | Node |
|
Section |
| |
ContentType | (Content) Class | |
FieldDefinition | (Content) Class Attribute | |
FieldGroups | (Content) Class Attribute Grouping | |
ObjectState | ObjectState | |
UrlAlias | ||
UrlWildcard | ||
Language | ||
User | ||
UserGroup | Can by design (and intention) only have one location in 5.x when using Public API UserService | |
Policy | ||
Policy Limitation | ||
Role | ||
Role Limitation | ||
Role Assignment | Currently not possible to delete specific assignment by id, can be deleted by Role and User. | |
Core | ||
Public API | n/a | Legacy/4.x does not have a official public API, almost all internal functions are exposes publicly |
REST | 5.1 and higher includes a working read/write REST v2 API | |
Development environment | Development mode | In 5.x this is provided by Symfony, and web debugger is extended by eZ Publish, additional debugging planned and in progress as "pull request". |
Web stack | 5.x web stack is Symfony with several eZ features on top | |
Controllers | Modules | |
Bundles | Extensions | |
(Twig) Template system | (eZ) Template system | |
View Provider | Override system | Restricted to viewLocation in 5.0, viewContent added in 5.1, for changing presentation logic. |
Controller override | n/a | 5.2 added feature for being able to also use override system of View Provider to also be able to override content controller under your own conditions to be able to modify behavior. |
Theme system | Design system | Planned to use LiipThemeBundle, potentially in version 5.3. |
HTTP Cache | View- / Static- Cache | For anonymous users with content aware caching since 5.0, also for logged in users with context aware caching since 5.2 |
SiteAccess | ||
Site(Access)Grouping | n/a | New in 5.x |
CSRF | eZ FormToken | Provided by Symfony |
Data | ||
Persistence cache | Cluster- / Class- / ClassAttribute- / var- / "Global"- cache | Introduced in 5.1, multi repository (aka multi-db) setups support added in 5.2. |
IO | Cluster (-ing of files) | Currently uses 4.x cluster system, new and simpler file clustering is planned for 6.x. |
Multi Repository | Multi-db | Since 5.0, Persistence cache does not support this in 5.1. |
Known missing in Symfony stack (black/grey 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. For instance: a website with a shop system could be done in twig and rely on legacy only for the fallback for shop parts.
Feature | Note/Limitation |
---|---|
Core | |
Rating | User Rating not currently supported by API (the service to deal with ratings, rating field type already exists), 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, see Known issues. This is planned for "6.x" or a release shortly thereafter. |
eZComment | ezcomments is not supported by API, and is not planned to be supported either. Instead of having it part of the API, it was replaced in 5.2 with a CommentsBundle that will provide an agnostic system to integrate 3rd party comment services. Out of the box supporting Disqus and Facebook integration but can via custom integration can also work with other 3rd party systems (example: service, content model based comments or even ezcomments) |
Content Editing | Content editing module is not implemented yet, but custom needs can for instance be solved with Public API+Symfony controllers or use of javascript REST client + REST API. |
Module Permissions | Controller / Bundle Permissions is not integrated with eZ Publish permission system yet, currently standard Symfony firewall rules need to be used. Public API however has full support for permissions and limitations, and is as of 5.2 known to support legacy most edge cases. |
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, see Shop. Simple workflows already possible by using Symfony evens and Public API "Signals". |
Information Collector | Planned as a Form builder UI basically using Symfony Forms + swiftmailer for mail transport, might reuse content types similarly to how Information Collector did it. |
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, preferred format: XML using XML reader/writer. |
Menu management | Not currently planned, might come back in the form of page layout designer (using similar concepts as ezflow). |
PDF Export | Not currently planned, could be re-implemented outside of Core |
RSS feeds | Currently no API for managing RSS feeds, REST view can be used as basis of feeds. |
Frontend Editing | 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. |
Preview | Planned for 5.3, versions before that uses legacy for preview. |
Search | Search API exists, but front end is currently using legacy fallback (ezfind & ezsearch) and 5.x Search SPI Solr implementation is currently work in progress but rapidly maturing as of 5.2. |
User module | User login, login handlers, change-password, forgot-password, register, profile and editing currently uses legacy fallback, planned for 5.3 |
oAuth 2.0 | oAuth 1.0 supported in REST v1 in legacy, planned for new stack and REST v2 for future 5.x version. |
Extensions | (aka Bundles) |
eZ Tags | Planned for future 5.x version, still community supported in legacy stack on 5.x. |
eZ SI | eZ SI is purely legacy, not required in Symfony as it support ESI natively. ez SI is still supported in legacy stack on 5.x. |
eZ Content staging | No equivalent yet on the new stack, still supported in legacy stack on 5.x. |
eZ Style editor | No equivalent on the new stack, still supported in legacy stack on 5.x up until 5.1. |
eZ Survey | No equivalent yet on the new stack, still supported in legacy stack on 5.x. |
For additional on supported legacy features see: http://doc.ez.no/List-of-eZ-Publish-extensions-and-their-support-options