eZ Platform v3.0 deprecations and backwards compatibility breaks¶
This page lists backwards compatibility breaks and deprecations introduced in eZ Platform v3.0.
Upgrade to v3
For a guide on moving your project to v3, see eZ Platform v3.0 project update instructions.
Symfony 5¶
v3.0 now uses Symfony 5 instead of Symfony 3. Refer to Symfony changelog for 4.0, for 5.0, Symfony upgrade guides for 4.0, and for 5.0 to learn about all changes it entails.
See v3.0 project update for the steps you need to take to update your project to Symfony 5. See also full requirements for installing eZ Platform.
Template configuration¶
Following the upgrade to Symfony 5, the templating component integration is now deprecated. As a result, the way to indicate a template path has changed.
Example 1:
- Now:
"@@EzPlatformUser/user_settings/list.html.twig"
- Formerly:
"EzPlatformUserBundle:user_settings:list.html.twig"
Example 2:
- Now:
{% extends "@EzPublishCore/content_fields.html.twig" %}
- Formerly:
{% extends "EzPublishCoreBundle::content_fields.html.twig" %}
Clustering configuration¶
Following the upgrade to Symfony 5, the DFS IO handler must be configured in a different way.
For more information, see the Doctrine connection configuration example in the Clustering article.
Field types¶
The following tags used to register field type features in the service container have been renamed:
Former name | New name |
---|---|
ezpublish.fieldType |
ezplatform.field_type |
ezpublish.fieldType.indexable |
ezplatform.field_type.indexable |
ezpublish.storageEngine.legacy.converter |
ezplatform.field_type.legacy_storage.converter |
ezpublish.fieldType.parameterProvider |
ezplatform.field_type.parameter_provider |
ezpublish_rest.field_type_processor |
ibexa.rest.field_type.processor |
ez.fieldFormMapper.value |
ezplatform.field_type.form_mapper.value |
ez.fieldFormMapper.definition |
ezplatform.field_type.form_mapper.definition |
ezpublish.fieldType.externalStorageHandler |
ezplatform.field_type.external_storage_handler |
ezpublish.fieldType.externalStorageHandler.gateway |
ezplatform.field_type.external_storage_handler.gateway |
Deprecated method eZ\Publish\SPI\FieldType\FieldType::getName
is now supported with a new signature similar to eZ\Publish\SPI\FieldType\Nameable::getFieldName()
, which has been removed.
For more information, see eZ Platform v3.0 project update.
The deprecated eZ\Publish\Core\FieldType\RichText
namespace has been removed, as it was moved to a separate bundle in v2.4.
The following classes and namespaces have been deprecated and dropped:
eZ\Publish\SPI\FieldType\EventListener
eZ\Publish\SPI\FieldType\Event
eZ\Publish\SPI\FieldType\Events\**
Deprecated ezprice
and ezpage
field types have been removed.
Configuration through ezplatform
¶
In YAML configuration, ezplatform
is now used instead of ezpublish
as the main configuration key.
Assetic support¶
Assetic support has been dropped.
Installers¶
Custom Installers¶
The following Symfony Service definitions that provide extension point to create custom installers have been removed:
ezplatform.installer.clean_installer
ezplatform.installer.db_based_installer
Enterprise Edition installer¶
The ezstudio.installer.studio_installer
service has been renamed to the FQCN-named
service EzSystems\EzPlatformEnterpriseEditionInstallerBundle\Installer\Installer
.
Deprecated ezplatform.ee.installer.class
service container parameter has been removed.
See eZ Platform v3.0 project update instructions for upgrade details.
ezplatform-admin-ui¶
Functions renamed¶
Former name | New name |
---|---|
ez_is_field_empty |
ez_field_is_empty |
ezplatform_admin_ui_component_group |
ez_render_component_group |
ez_platform_tabs |
ez_render_tab_group |
ez_render_fielddefinition_edit |
ez_render_field_definition_edit |
ez_path_string_to_locations |
ez_path_to_locations |
ez_image_asset_content_field_identifier |
ez_content_field_identifier_image_asset |
encode_field |
ez_field_encode |
ez_http_tag_location |
ez_http_cache_tag_location |
ez_first_filled_image_field_identifier |
ez_content_field_identifier_first_filled_image |
ez_render_fielddefinition_settings |
ez_render_field_definition_settings |
encode_block_value |
ez_block_value_encode |
ezplatform_page_builder_cross_origin_helper |
ez_page_builder_cross_origin_helper |
Twig helper renamed¶
Selected Twig helpers names have been changed.
Additionally, the ez_trans_prop
Twig function has been removed.
Global variables renamed¶
Former name | New name |
---|---|
admin_ui_config |
ez_admin_ui_config |
ezpublish |
ezplatform |
Filters renamed¶
Former name | New name |
---|---|
richtext_to_html5 |
ez_richtext_to_html5 |
richtext_to_html5_edit |
ez_richtext_to_html5_edit |
JavaScript¶
Event names changed¶
Selected event names have been changed.
Former name | New name |
---|---|
invalidFileSize |
ez-invalid-file-size |
addressNotFound |
ez-address-not-found |
cancelErrors |
ez-cancel-errors |
ezsettings.default.content_type.about |
ezsettings.admin_group.content_type.about |
ezsettings.default.content_type.article |
ezsettings.admin_group.content_type.article |
ezsettings.default.content_type.blog |
ezsettings.admin_group.content_type.blog |
ezsettings.default.content_type.blog_post |
ezsettings.admin_group.content_type.blog_post |
ezsettings.default.content_type.folder |
ezsettings.admin_group.content_type.folder |
ezsettings.default.content_type.form |
ezsettings.admin_group.content_type.form |
ezsettings.default.content_type.place |
ezsettings.admin_group.content_type.place |
ezsettings.default.content_type.product |
ezsettings.admin_group.content_type.product |
ezsettings.default.content_type.field |
ezsettings.admin_group.content_type.field |
ezsettings.default.content_type.user |
ezsettings.admin_group.content_type.user |
ezsettings.default.content_type.user_group |
ezsettings.admin_group.content_type.user_group |
ezsettings.default.content_type.file |
ezsettings.admin_group.content_type.file |
ezsettings.default.content_type.gallery |
ezsettings.admin_group.content_type.gallery |
ezsettings.default.content_type.image |
ezsettings.admin_group.content_type.image |
ezsettings.default.content_type.video |
ezsettings.admin_group.content_type.video |
ezsettings.default.content_type.landing_page |
ezsettings.admin_group.content_type.landing_page |
ezsettings.default.content_type.default-config |
ezsettings.admin_group.content_type.default-config |
ezsettings.default.pagination.search_limit |
ezsettings.admin_group.pagination.search_limit |
ezsettings.default.pagination.trash_limit |
ezsettings.admin_group.pagination.trash_limit |
ezsettings.default.pagination.section_limit |
ezsettings.admin_group.pagination.section_limit |
ezsettings.default.pagination.language_limit |
ezsettings.admin_group.pagination.language_limit |
ezsettings.default.pagination.role_limit |
ezsettings.admin_group.pagination.role_limit |
ezsettings.default.pagination.content_type_group_limit |
ezsettings.admin_group.pagination.content_type_group_limit |
ezsettings.default.pagination.content_type_limit |
ezsettings.admin_group.pagination.content_type_limit |
ezsettings.default.pagination.role_assignment_limit |
ezsettings.admin_group.pagination.role_assignment_limit |
ezsettings.default.pagination.policy_limit |
ezsettings.admin_group.pagination.policy_limit |
ezsettings.default.pagination.version_draft_limit |
ezsettings.admin_group.pagination.version_draft_limit |
ezsettings.default.pagination.content_system_url_limit |
ezsettings.admin_group.pagination.content_system_url_limit |
ezsettings.default.pagination.content_custom_url_limit |
ezsettings.admin_group.pagination.content_custom_url_limit |
ezsettings.default.pagination.content_role_limit |
ezsettings.admin_group.pagination.content_role_limit |
ezsettings.default.pagination.content_policy_limit |
ezsettings.admin_group.pagination.content_policy_limit |
ezsettings.default.pagination.bookmark_limit |
ezsettings.admin_group.pagination.bookmark_limit |
ezsettings.default.pagination.notification_limit |
ezsettings.admin_group.pagination.notification_limit |
ezsettings.default.pagination.content_draft_limit |
ezsettings.admin_group.pagination.content_draft_limit |
ezsettings.default.security.token_interval_spec |
ezsettings.admin_group.security.token_interval_spec |
ezsettings.default.user_content_type_identifier |
ezsettings.admin_group.user_content_type_identifier |
ezsettings.default.user_group_content_type_identifier |
ezsettings.admin_group.user_group_content_type_identifier |
ezsettings.default.subtree_operations.copy_subtree.limit |
ezsettings.admin_group.subtree_operations.copy_subtree.limit |
ezsettings.default.notifications.error.timeout |
ezsettings.admin_group.notifications.error.timeout |
ezsettings.default.notifications.warning.timeout |
ezsettings.admin_group.notifications.warning.timeout |
ezsettings.default.notifications.success.timeout |
ezsettings.admin_group.notifications.success.timeout |
ezsettings.default.notifications.info.timeout |
ezsettings.admin_group.notifications.info.timeout |
ezsettings.default.content_tree_module.load_more_limit |
ezsettings.admin_group.content_tree_module.load_more_limit |
ezsettings.default.content_tree_module.children_load_max_limit |
ezsettings.admin_group.content_tree_module.children_load_max_limit |
ezsettings.default.content_tree_module.tree_max_depth |
ezsettings.admin_group.content_tree_module.tree_max_depth |
ezsettings.default.content_tree_module.allowed_content_types |
ezsettings.admin_group.content_tree_module.allowed_content_types |
ezsettings.default.content_tree_module.ignored_content_types |
ezsettings.admin_group.content_tree_module.ignored_content_types |
ezsettings.default.content_tree_module.tree_root_location_id |
ezsettings.admin_group.content_tree_module.tree_root_location_id |
Template organization¶
Templates renamed¶
The following templates used in the back office have been renamed:
Former name | New name |
---|---|
admin/systeminfo/composer.html.twig | admin/system_info/composer.html.twig |
admin/systeminfo/database.html.twig | admin/system_info/database.html.twig |
admin/systeminfo/hardware.html.twig | admin/system_info/hardware.html.twig |
admin/systeminfo/info.html.twig | admin/system_info/info.html.twig |
admin/systeminfo/php.html.twig | admin/system_info/php.html.twig |
admin/systeminfo/symfony_kernel.html.twig | admin/system_info/symfony_kernel.html.twig |
content/content_edit/parts/javascripts.html.twig | content/content_edit/part/javascripts.html.twig |
content/content_edit/parts/stylesheets.html.twig | content/content_edit/part/stylesheets.html.twig |
content/locationview.html.twig | content/location_view.html.twig |
content/widgets/content_create.html.twig | content/widget/content_create.html.twig |
content/widgets/content_edit.html.twig | content/widget/content_edit.html.twig |
content/widgets/user_edit.html.twig | content/widget/user_edit.html.twig |
errors/403.html.twig | error/403.html.twig |
errors/404.html.twig | error/404.html.twig |
errors/error.html.twig | error/error.html.twig |
fieldtypes/edit/binary_base.html.twig | field_type/edit/binary_base.html.twig |
fieldtypes/edit/binary_base_fields.html.twig | field_type/edit/binary_base_fields.html.twig |
fieldtypes/edit/ezauthor.html.twig | field_type/edit/ezauthor.html.twig |
fieldtypes/edit/ezbinaryfile.html.twig | field_type/edit/ezbinaryfile.html.twig |
fieldtypes/edit/ezboolean.html.twig | field_type/edit/ezboolean.html.twig |
fieldtypes/edit/ezdate.html.twig | field_type/edit/ezdate.html.twig |
fieldtypes/edit/ezdatetime.html.twig | field_type/edit/ezdatetime.html.twig |
fieldtypes/edit/ezgmaplocation.html.twig | field_type/edit/ezgmaplocation.html.twig |
fieldtypes/edit/ezimage.html.twig | field_type/edit/ezimage.html.twig |
fieldtypes/edit/ezimageasset.html.twig | field_type/edit/ezimageasset.html.twig |
fieldtypes/edit/ezkeyword.html.twig | field_type/edit/ezkeyword.html.twig |
fieldtypes/edit/ezmedia.html.twig | field_type/edit/ezmedia.html.twig |
fieldtypes/edit/ezobjectrelation.html.twig | field_type/edit/ezobjectrelation.html.twig |
fieldtypes/edit/ezobjectrelationlist.html.twig | field_type/edit/ezobjectrelationlist.html.twig |
fieldtypes/edit/ezrichtext.html.twig | field_type/edit/ezrichtext.html.twig |
fieldtypes/edit/ezselection.html.twig | field_type/edit/ezselection.html.twig |
fieldtypes/edit/eztime.html.twig | field_type/edit/eztime.html.twig |
fieldtypes/edit/ezuser.html.twig | field_type/edit/ezuser.html.twig |
fieldtypes/edit/relation_base.html.twig | field_type/edit/relation_base.html.twig |
fieldtypes/preview/content_fields.html.twig | field_type/preview/content_fields.html.twig |
fieldtypes/preview/ezimageasset.html.twig | field_type/preview/ezimageasset.html.twig |
fieldtypes/preview/ezobjectrelationlist_row.html.twig | field_type/preview/ezobjectrelationlist_row.html.twig |
Limitation/null_limitation_values.html.twig | limitation/null_limitation_values.html.twig |
Limitation/udw_limitation_value.html.twig | limitation/udw_limitation_value.html.twig |
Limitation/udw_limitation_value_list_item.html.twig | limitation/udw_limitation_value_list_item.html.twig |
parts/breadcrumbs.html.twig | part/breadcrumbs.html.twig |
parts/form/assign_section_widget.html.twig | part/form/assign_section_widget.html.twig |
parts/form/flat_widgets.html.twig | part/form/flat_widgets.html.twig |
parts/location_bookmark.html.twig | part/location_bookmark.html.twig |
parts/menu/sidebar_base.html.twig | part/menu/sidebar_base.html.twig |
parts/menu/sidebar_right.html.twig | part/menu/sidebar_right.html.twig |
parts/menu/sidebar_left.html.twig | part/menu/sidebar_left.html.twig |
parts/menu/top_menu.html.twig | part/menu/top_menu.html.twig |
parts/menu/top_menu_2nd_level.html.twig | part/menu/top_menu_2nd_level.html.twig |
parts/menu/top_menu_base.html.twig | part/menu/top_menu_base.html.twig |
parts/menu/user_menu.html.twig | part/menu/user_menu.html.twig |
parts/navigation.html.twig | part/navigation.html.twig |
parts/notification.html.twig | part/notification.html.twig |
parts/page_title.html.twig | part/page_title.html.twig |
parts/path.html.twig | part/path.html.twig |
parts/tab/content_type.html.twig | part/tab/content_type.html.twig |
parts/tab/default.html.twig | part/tab/default.html.twig |
parts/tab/locationview.html.twig | part/tab/location_view.html.twig |
parts/tab/system_info.html.twig | part/tab/system_info.html.twig |
parts/table_header.html.twig | part/table_header.html.twig |
parts/tag.html.twig | part/tag.html.twig |
Security/base.html.twig | security/base.html.twig |
Security/forgot_user_password/index.html.twig | security/forgot_user_password/index.html.twig |
Security/forgot_user_password/success.html.twig | security/forgot_user_password/success.html.twig |
Security/forgot_user_password/with_login.html.twig | security/forgot_user_password/with_login.html.twig |
Security/form_fields.html.twig | security/form_fields.html.twig |
Security/login.html.twig | security/login.html.twig |
Security/mail/forgot_user_password.html.twig | security/mail/forgot_user_password.html.twig |
Security/reset_user_password/index.html.twig | security/reset_user_password/index.html.twig |
Security/reset_user_password/invalid_link.html.twig | security/reset_user_password/invalid_link.html.twig |
Security/reset_user_password/success.html.twig | security/reset_user_password/success.html.twig |
user-profile/change_user_password.html.twig | user_profile/change_user_password.html.twig |
user-profile/form_fields.html.twig | user_profile/form_fields.html.twig |
Templates relocated¶
The @ezdesign/account/error/credentials_expired.html.twig
has been relocated from src/bundle/Resources/views/Security/error
to src/bundle/Resources/views/themes/admin/account/error
.
Universal Discovery Widget¶
The UDW configuration has been changed. For the full list of UDW configuration keys and their descriptions, see UDW configuration.
Online Editor¶
All Online Editor front-end code and assets (such as JS, CSS, or fonts) have been moved from ezplatform-admin-ui
to ezplatform-richtext
.
Adding new tabs in the back office¶
The way of adding custom tab groups in the back office has changed.
You now need to make use of the TabsComponent
.
Content type forms¶
Content type editing, including Action Dispatchers, Form Processors, Types and Data classes related to content types/Limitations,
has been moved to ezplatform-admin-ui
from repository-forms
.
Code cleanup in back office¶
The following deprecated items have been removed:
Removed code | Belongs to | Use instead |
---|---|---|
canEdit |
EzSystems\EzPlatformAdminUiBundle\Controller\LanguageController::viewAction |
can_administrate |
canAssign |
EzSystems\EzPlatformAdminUiBundle\Controller\LanguageController::viewAction |
can_administrate |
baseLanguage |
EzSystems\EzPlatformAdminUi\EventListener\ContentTranslateViewFilterParametersListener::onFilterViewParameters |
base_language |
contentType |
EzSystems\EzPlatformAdminUi\EventListener\ContentTranslateViewFilterParametersListener::onFilterViewParameters |
content_type |
isPublished |
EzSystems\EzPlatformAdminUi\EventListener\ContentTranslateViewFilterParametersListener::onFilterViewParameters |
ContentInfo::isPublished |
fieldDefinitionsByGroup |
EzSystems\EzPlatformAdminUi\Tab\LocationView\ContentTab |
field_definitions_by_group |
full |
window.eZ.adminUiConfig.dateFormat |
fullDateTime |
short |
window.eZ.adminUiConfig.dateFormat |
shortDateTime |
limit |
EzSystems\EzPlatformAdminUi\UI\Module\Subitems\ContentViewParameterSupplier |
- |
contentTypeNames |
window.eZ.adminUiConfig |
contentTypes |
Following the upgrade to Symfony 5, the following event classes have been deprecated:
Deprecated | Use instead |
---|---|
Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent |
Symfony\Component\HttpKernel\Event\ExceptionEvent |
Symfony\Component\HttpKernel\Event\GetResponseEvent |
Symfony\Component\HttpKernel\Event\RequestEvent |
Also, as of Symfony 5, the transchoice
Twig filter has been replaced with trans
.
New translation strings are required.
SubtreeQuery¶
Deprecated SubtreeQuery
class has been removed. In v3.0, it was replaced by EzSystems\EzPlatformAdminUi\QueryType\SubtreeQueryType
.
Permission Choice Loaders¶
The following choiceLoaders classes deprecated in v2.5 have been removed:
EzSystems\EzPlatformAdminUi\Form\Type\ChoiceList\Loader\PermissionAwareContentTypeChoiceLoader
EzSystems\EzPlatformAdminUi\Form\Type\ChoiceList\Loader\PermissionAwareLanguageChoiceLoader
Instead, use the following classes:
EzSystems\EzPlatformAdminUi\Form\Type\ChoiceList\Loader\ContentCreateContentTypeChoiceLoader
EzSystems\EzPlatformAdminUi\Form\Type\ChoiceList\Loader\ContentCreateLanguageChoiceLoader
Universal Discovery Widget¶
The deprecated universal_discovery_widget_module.default_location_id
setting has been replaced with universal_discovery_widget_module.configuration.default.starting_location_id
.
ezplatform-admin-ui-modules¶
This package is deprecated. Its code has been moved to ezplatform-admin-ui
.
ezplatform-content-forms¶
This new package contains forms for content creation moved from repository-forms
.
ezplatform-design-engine¶
Code cleanup in Design Engine¶
- The deprecated
Twig\Loader\ExistsLoaderInterface
has been removed. - The deprecated
Twig_Profiler_Profile
Twig class has been replaced withTwig\Profiler\Profile
. - The deprecated
Twig_Environment
Twig class has been replaced withTwig\Environment
ezplatform-form-builder¶
JavaScript¶
Event names changed¶
The following event names have been changed:
Former name | New name |
---|---|
openUdw |
ez-open-udw |
updateFieldName |
ez-update-field-name |
fbFormBuilderLoaded |
ez-form-builder-loaded |
fbFormBuilderUnloaded |
ez-form-builder-unloaded |
ezplatform-http-cache¶
FOS Cache Bundle v2¶
HTTP cache bundle now uses FOS Cache Bundle v2.
This entails that:
EzSystems\PlatformHttpCacheBundle\Proxy\TagAwareStore
has been removed.EzSystems\PlatformHttpCacheBundle\Handler\TagHandler
has been changed so that the tag is now provided as an option inheader_formatter
.tagResponse()
fromtagHandler
has been replaced bytagSymfonyResponse()
.- Deprecated
EzSystems\PlatformHttpCacheBundle\Handler\TagHandlerInterface
has been removed. EzSystems\PlatformHttpCacheBundle\PurgeClient\PurgeClientInterface
now only accepts an array as argument in thepurge()
method, instead of an int.- The
X-User-Hash
header for recognizing user context has been changed toX-User-Context-Hash
. - The
key
header for purging tags has been changed toxkey-softpurge
. - The
PURGE
method has been changed toPURGEKEY
. - The
ezplatform.http_cache.tags.header
parameter has been removed. Configuration now relies on FOS Cache configuration and its default values.
Code cleanup in HTTP Cache¶
Instances of the following deprecated event classes have been replaced:
Deprecated class | Replaced with |
---|---|
Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent |
Symfony\Component\HttpKernel\Event\ExceptionEvent |
Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent |
Symfony\Component\HttpKernel\Event\ViewEvent |
Symfony\Component\HttpKernel\Event\FilterResponseEvent |
Symfony\Component\HttpKernel\Event\ResponseEvent |
Symfony\Component\HttpKernel\Event\GetResponseEvent |
Symfony\Component\HttpKernel\Event\RequestEvent |
Twig_Extension |
Twig\Extension\AbstractExtension |
Twig_SimpleFunction |
Twig\TwigFunction |
Selected deprecated Role Service and permission-related methods have been removed. For details, see code cleanup in kernel.
ezplatform-kernel replacing ezpublish-kernel¶
ezplatform-kernel package¶
eZ Platform now makes use of ezplatform-kernel
instead of ezpublish-kernel
.
This change is introduced without BC breaks.
API methods¶
Following API methods have been removed:
\eZ\Publish\API\Repository\ContentService::removeTranslation
\eZ\Publish\API\Repository\UserService::loadAnonymousUser
\eZ\Publish\API\Repository\Repository::getCurrentUser
\eZ\Publish\API\Repository\Repository::getCurrentUserReference
\eZ\Publish\API\Repository\Repository::setCurrentUser
\eZ\Publish\API\Repository\Repository::hasAccess
\eZ\Publish\API\Repository\Repository::canUser
\eZ\Publish\API\Repository\RoleService::updateRole
\eZ\Publish\API\Repository\RoleService::addPolicy
\eZ\Publish\API\Repository\RoleService::deletePolicy
\eZ\Publish\API\Repository\RoleService::updatePolicy
\eZ\Publish\API\Repository\RoleService::loadPoliciesByUserId
\eZ\Publish\API\Repository\RoleService::unassignRoleFromUser
\eZ\Publish\API\Repository\RoleService::unassignRoleFromUserGroup
\eZ\Publish\API\Repository\Values\Content\Query\Criterion::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\Ancestor::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\ContentId::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\ContentTypeGroupId::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\ContentTypeId::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\ContentTypeIdentifier::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\FieldRelation::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\FullText::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\LanguageCode::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\LocationId::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\LocationRemoteId::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\MatchAll::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\MatchNone::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\MoreLikeThis::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\ObjectStateId::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\ParentLocationId::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\RemoteId::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\SectionId::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\Subtree::createFromQueryBuilder
\eZ\Publish\API\Repository\Values\Content\Query\Criterion\Visibility::createFromQueryBuilder
SPI methods¶
Following SPI methods have been removed:
\eZ\Publish\SPI\Persistence\Content\Handler::removeTranslationFromContent
Dynamic settings¶
Using dynamic settings (through $setting$
) and getting settings from the ConfigResolver in a class constructor
or method call has been dropped.
You should use the ConfigResolver instead.
Don't store the values globally. Every time the value is needed call ConfigResolverInterface::getParameter
.
Controllers¶
AbstractController¶
The eZ\Bundle\EzPublishCoreBundle\Controller
now extends Symfony\Bundle\FrameworkBundle\Controller\AbstractController
instead of Symfony\Bundle\FrameworkBundle\Controller\Controller
which has limited access to the service container.
For details, see Service Subscribers Locators.
The Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand
is deprecated, use Symfony\Component\Console\Command\Command
instead.
ViewController¶
Deprecated viewLocation
and embedLocation
actions of the ViewController
have been removed, along with related route _ezpublishLocation
.
Use:
viewAction
instead ofviewLocation
embedAction
instead ofembedLocation
Elasticsearch¶
Experimental, deprecated and unsupported code for Elasticsearch 1.4.2 has been dropped from kernel, to be replaced with a dedicated bundle for the latest Elastic version in the future.
Field types¶
Star Rating¶
The unused ezsrrating
field type has been removed along with the related database storage and clean installation entries.
RichText¶
The ezrichtext
field type has been removed from ezplatform-kernel
.
Use ezplatform-richtext
instead.
Following this change:
- The
eZ\Publish\Core\FieldType\RichText
namespace has been dropped. All classes are available inezplatform-richtext
. - The only correct configuration (recommended as of v2.4) looks the following way:
Now (as of v3.0):
1 |
|
Formerly (deprecated as of v2.4, removed as of v3.0)
1 2 |
|
Tags¶
Deprecated ezpublish.query_type
tag has been removed in favour of ezplatform.query_type
tag.
Signal Slots¶
Signal Slots have been replaced by Symfony Events and Event Listeners.
The application triggers two Events per operation: one before and one after the relevant thing happens (see for example Bookmark events).
Legacy Storage Gateways¶
The following deprecated (since v6.11) Legacy Storage Gateways have been removed:
eZ\Publish\Core\FieldType\BinaryFile\BinaryBaseStorage\Gateway\LegacyStorage
eZ\Publish\Core\FieldType\BinaryFile\BinaryFileStorage\Gateway\LegacyStorage
eZ\Publish\Core\FieldType\MapLocation\MapLocationStorage\Gateway\LegacyStorage
eZ\Publish\Core\FieldType\Image\ImageStorage\Gateway\LegacyStorage
eZ\Publish\Core\FieldType\Keyword\KeywordStorage\Gateway\LegacyStorage
eZ\Publish\Core\FieldType\Media\MediaStorage\Gateway\LegacyStorage
eZ\Publish\Core\FieldType\Url\UrlStorage\Gateway\LegacyStorage
eZ\Publish\Core\FieldType\User\UserStorage\Gateway\LegacyStorage
Use DoctrineStorage
Gateways from the same namespace instead.
The removed classes refer to External Storage for core field types only.
REST server¶
Transfer of REST code from kernel to a separate package results in the following change:
- The
eZ\Publish\Core\REST
andeZ\Publish\Core\REST\Common\
namespaces have been replaced byEzSystems\EzPlatformRest
. - REST client has been dropped.
SiteAccess-aware Repository¶
The Repository now uses the SiteAccess-aware layer by default.
This means Repository objects are now loaded in the translation corresponding to the SiteAccess.
To load an object with all its translations, explicitly pass eZ\Publish\API\Repository\Values\Content\Language::ALL
as the prioritized languages list.
SiteAccess matching¶
When matching SiteAccesses using custom services, the SiteAccess matcher service must be now tagged with ezplatform.siteaccess.matcher
.
Search Indexers¶
Service Provider abstracts for Search Engine Indexer implementations (\eZ\Publish\Core\Search\Common\IncrementalIndexer
and \eZ\Publish\Core\Search\Common\Indexer
) now accept \Doctrine\DBAL\Connection $connection
instead of \eZ\Publish\Core\Persistence\Database\DatabaseHandler $databaseHandler
.
Inject them via @ezpublish.persistence.connection
.
The methods getContentLocationIds
and logWarning
of \eZ\Publish\Core\Search\Common\Indexer
have been dropped.
Use Location SPI Persistence Handler in place of getContentLocationIds
. Use Logger directly in place of logWarning
.
Database¶
The following obsolete tables have been removed from the database schema:
Removed database tables
- ezapprove_items
- ezbasket
- ezcollab_group
- ezcollab_item
- ezcollab_item_group_link
- ezcollab_item_message_link
- ezcollab_item_participant_link
- ezcollab_item_status
- ezcollab_notification_rule
- ezcollab_profile
- ezcollab_simple_message
- ezcomment
- ezcomment_notification
- ezcomment_subscriber
- ezcomment_subscription
- ezcontentbrowserecent
- ezcurrencydata
- ezdiscountrule
- ezdiscountsubrule
- ezdiscountsubrule_value
- ezenumobjectvalue
- ezenumvalue
- ezforgot_password
- ezgeneral_digest_user_settings
- ezinfocollection
- ezinfocollection_attribute
- ezisbn_group
- ezisbn_group_range
- ezisbn_registrant_range
- ezm_block
- ezm_pool
- ezmessage
- ezmodule_run
- ezmultipricedata
- eznotificationcollection
- eznotificationcollection_item
- eznotificationevent
- ezoperation_memento
- ezorder
- ezorder_item
- ezorder_nr_incr
- ezorder_status
- ezorder_status_history
- ezpaymentobject
- ezpdf_export
- ezpending_actions
- ezprest_authcode
- ezprest_authorized_clients
- ezprest_clients
- ezprest_token
- ezproductcategory
- ezproductcollection
- ezproductcollection_item
- ezproductcollection_item_opt
- ezpublishingqueueprocesses
- ezrss_export
- ezrss_export_item
- ezrss_import
- ezscheduled_script
- ezsearch_search_phrase
- ezsession
- ezsubtree_notification_rule
- eztipafriend_counter
- eztipafriend_request
- eztrigger
- ezuservisit
- ezuser_discountrule
- ezvatrule
- ezvatrule_product_category
- ezvattype
- ezview_counter
- ezwaituntildatevalue
- ezwishlist
- ezworkflow
- ezworkflow_assign
- ezworkflow_event
- ezworkflow_group
- ezworkflow_group_link
- ezworkflow_process
You can drop unused tables from your database by executing:
1 |
|
- The "Setup" folder and Section have been removed from clean installation data.
- The "Design" Section has been removed from clean installation data.
- The
ezkeyword_attribute_link
table now has aversion
column.
Content type Update handlers¶
The following obsolete handler has been removed:
DeferredLegacy
content type Update handler (eZ\Publish\Core\Persistence\Legacy\Content\Type\Update\Handler\DeferredLegacy
) with its optional Symfony Container Service (ezpublish.persistence.legacy.content_type.update_handler.deferred
)
Subscribe to eZ Platform Symfony Events to handle deferring of updating of content items after their content type update instead.
Symfony Services¶
The date_based_publisher.permission_resolver
Symfony Service deprecated in v2.5 has been removed.
Instead, you can inject eZ\Publish\API\Repository\PermissionResolver
and rely on auto-wiring.
Symfony MIME component¶
The deprecated Symfony\Component\HttpFoundation\File\MimeType\ExtensionGuesserInterface
has been replaced with Symfony\Component\Mime\MimeTypesInterface
.
Symfony service container¶
The deprecated Symfony service container parameters ending with .class
have been removed, services relying on them now have their classes defined explicitly.
To properly decorate a Symfony service, use the decorates
attribute instead.
For the full list of the dropped parameters, see
kernel documentation.
Template parameter names¶
The SiteAccess-aware pagelayout
setting is deprecated in favor of page_layout
.
View parameter pagelayout
set by pagelayout
setting is deprecated in favor of page_layout
.
Code cleanup in eZ Platform Kernel¶
Instances of the deprecated code have been replaced:
Deprecated | Replaced with |
---|---|
Symfony\Component\Security\Core\User\AdvancedUserInterface |
Symfony\Component\Security\Core\User\UserInterface |
Symfony\Component\HttpKernel\Event\FilterResponseEvent |
Symfony\Component\HttpKernel\Event\ResponseEvent |
Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent |
Symfony\Component\HttpKernel\Event\ViewEvent |
Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent |
Symfony\Component\HttpKernel\Event\ExceptionEvent |
Symfony\Component\HttpKernel\Event\GetResponseEvent |
Symfony\Component\HttpKernel\Event\RequestEvent |
Symfony\Component\HttpKernel\Event\FilterControllerArgumentsEvent |
Symfony\Component\HttpKernel\Event\ControllerEvent |
Also, as of Symfony 5, the transchoice
Twig filter has been replaced with trans
.
New translation strings are required.
The deprecated eZ\Publish\Core\MVC\Symfony\Matcher\MatcherInterface
interface has been dropped.
The following deprecated classes relying on that interface have been removed as well:
eZ\Publish\Core\MVC\Symfony\Matcher\AbstractMatcherFactory
eZ\Publish\Core\MVC\Symfony\Matcher\ContentBasedMatcherFactory
eZ\Publish\Core\MVC\Symfony\Matcher\ContentMatcherFactory
eZ\Publish\Core\MVC\Symfony\Matcher\LocationMatcherFactory
Twig classes¶
The following deprecated Twig classes have been replaced:
Deprecated | Replaced with |
---|---|
Twig_Extensions_Extension_Intl |
Twig\Extensions\IntlExtension |
Twig_Template |
Twig\Template |
Twig_Node |
Twig\Node\Node |
Twig intl extension¶
Twig intl extension has been dropped.
EzPublishMigration¶
The EzPublishMigration
bundle has been dropped.
EzMigrationBundle¶
As of v3.3.3, the ezsystems/EzMigrationBundle
bundle has been dropped. Use ibexa/migrations
instead.
Password hashes¶
Insecure password hash types deprecated since v1.13 have been removed:
PASSWORD_HASH_MD5_PASSWORD
PASSWORD_HASH_MD5_USER
PASSWORD_HASH_MD5_SITE
PASSWORD_HASH_PLAINTEXT
Login with the removed hashes doesn't longer work. Users can use the "Forgot password" feature to request a new, valid password.
Strict types for PHP API¶
Strict types have been added to public PHP API methods.
Zeta Components (eZc) Database handler¶
The deprecated Zeta Components (eZc) Database handler has been dropped.
All classes and interfaces from eZ\Publish\Core\Persistence\Database
and eZ\Publish\Core\Persistence\Doctrine
namespaces have been removed.
ezpublish.connection
has been removed. Use ezpublish.persistence.connection
instead.
The signature of the \eZ\Publish\Core\Persistence\Legacy\URL\Query\CriterionHandler::handle
contract
now accepts \Doctrine\DBAL\Query\QueryBuilder
instead of \eZ\Publish\Core\Persistence\Database\SelectQuery
and has the following form:
1 2 3 4 |
|
ezpublish.api.search_engine.legacy.dbhandler
and ezpublish.api.storage_engine.legacy.dbhandler
have been removed.
Inject \Doctrine\DBAL\Connection
via ezpublish.persistence.connection
instead.
Field type External Storage Handlers¶
The field type External Storage Handlers $context
arrays no longer have the "connection" key.
You should rely on injected Connection instead.
The $context
array of \eZ\Publish\SPI\FieldType\FieldStorage
methods (storeFieldData
,
getFieldData
, deleteFieldData
, getIndexData
) is deprecated and will be dropped in the next
major version.
You should rely on injected Connection instead.
ezplatform-page-builder¶
JavaScript¶
Event names changed¶
The following event names have been changed:
Former name | New name |
---|---|
openUdw |
ez-open-udw |
openAirtimePopup |
ez-open-airtime-popup |
postUpdateBlocksPreview |
ez-post-update-blocks-preview |
pbIframeLoaded |
ez-page-builder-iframe-loaded |
pbHideTools |
ez-page-builder-hide-tools |
Additionally, the listener for pbPreviewReloaded
has been removed.
ezplatform-page-fieldtype¶
Namespace location update¶
The following namespaces have been changed:
Namespace | Former location | New location |
---|---|---|
FieldData |
EzSystems\RepositoryForms\Data\Content\ |
EzSystems\EzPlatformContentForms\Data\Content\ |
FieldValueFormMapperInterface |
EzSystems\RepositoryForms\FieldType\ |
EzSystems\EzPlatformContentForms\FieldType\ |
ezplatform-rest¶
Code cleanup in eZ Platform REST¶
Selected deprecated Role Service and permission-related methods have been removed. For details, see code cleanup in kernel.
Using the Criteria element in REST input query (search view) payload has been deprecated since eZ Platform v1.6 and was dropped in this release.
ezplatform-richtext¶
Code cleanup in eZ Platform RichText¶
Selected deprecated permission-related methods have been removed. For details, see code cleanup in kernel.
Input and output converters¶
Following the removal of the ezrichtext
field type from kernel, the following deprecated converter tags have been changed:
Formerly | Currently |
---|---|
ezpublish.ezrichtext.converter.output.xhtml5 |
ezrichtext.converter.output.xhtml5 |
ezpublish.ezrichtext.converter.input.xhtml5 |
ezrichtext.converter.input.xhtml5 |
Online Editor¶
Configuration providers exposing the following JavaScript variables have been dropped:
eZ.adminUiConfig.alloyEditor
replaced byeZ.richText.alloyEditor
eZ.adminUiConfig.richTextCustomTags
replaced byeZ.richText.customTags
eZ.adminUiConfig.richTextCustomStyles
replaced byeZ.richText.customStyles
The following Webpack Encore entries have been changed:
ezplatform-admin-ui-alloyeditor-css
replaced byezplatform-richtext-onlineeditor-css
ezplatform-admin-ui-alloyeditor-js
replaced byezplatform-richtext-onlineeditor-js
All Online Editor front-end code and assets (such as JS, CSS, or fonts) have been moved from ezplatform-admin-ui
to ezplatform-richtext
.
Custom button configuration¶
Configuring custom Online Editor buttons with ezrichtext.alloy_editor.extra_buttons
is deprecated.
Use ezplatform.system.<siteacces>.fieldtypes.ezrichtext.toolbars.<toolbar_identifier>.buttons
instead.
View matching¶
When matching views using custom services, the services must be now tagged with ezplatform.view.matcher
.
The matching must be configured in the following way:
1 2 3 4 5 6 |
|
Service tags¶
The following ezrichtext
service tags have been extended to be consistent with other service tags:
Currently | Formerly |
---|---|
ezplatform.ezrichtext.converter.output.xhtml5 |
ezrichtext.converter.output.xhtml5 |
ezplatform.ezrichtext.converter.input.xhtml5 |
ezrichtext.converter.input.xhtml5 |
ezplatform.ezrichtext.validator.input.ezxhtml5 |
ezrichtext.validator.input.ezxhtml5 |
ezplatform-solr-search-engine¶
The ezplatform:solr_create_index
command has been removed.
Use ezplatform:reindex
instead.
ezplatform-user¶
User settings¶
As a result of moving user settings to the ezplatform-user
package,
the following deprecated code for handling the settings has been dropped:
EzSystems\EzPlatformAdminUi\UserSetting\
EzSystems\EzPlatformAdminUi\Pagination\Pagerfanta\UserSettingsAdapter
EzSystems\EzPlatformAdminUi\Form\Type\User\Setting\UserSettingUpdateType
EzSystems\EzPlatformAdminUiBundle\Controller\UserProfile\UserPasswordChangeController
EzSystems\EzPlatformAdminUiBundle\Controller\User\{UserSettingsController,UserForgotPasswordController}
Code cleanup in eZ Platform User¶
The deprecated Symfony\Bundle\FrameworkBundle\Controller\Controller
has been replaced with Symfony\Bundle\FrameworkBundle\Controller\AbstractController
.
flex-workflow¶
This package is deprecated. Its functionality has been moved to ezplatform-workflow
.
repository-forms¶
Forms located in repository-forms
have been moved to other packages.
Content type editing, including Action Dispatchers, Form Processors, Types and Data classes related to content types/Limitations,
has been moved to ezplatform-admin-ui
.
The following locations have been changed:
Former location | New location |
---|---|
EzSystems\RepositoryForms\Data\FieldDefinitionData |
EzSystems\EzPlatformAdminUi\Form\Data\FieldDefinitionData |
EzSystems\RepositoryForms\FieldType\FieldDefinitionFormMapperInterface |
EzSystems\EzPlatformAdminUi\FieldType\FieldDefinitionFormMapperInterface |
EzSystems\RepositoryForms\Limitation\LimitationFormMapperInterface |
EzSystems\EzPlatformAdminUi\Limitation\LimitationFormMapperInterface |
EzSystems\RepositoryForms\Limitation\LimitationValueMapperInterface |
EzSystems\EzPlatformAdminUi\Limitation\LimitationValueMapperInterface |
Forms for content creation have been moved to a new ezplatform-content-forms
package.
repository-forms
remains as an additional layer ensuring that your custom implementations that use the package still work.
To use this repository, you have to add the package manually to your composer.json
.
eZ Platform v3.0.2¶
ezplatform-admin-ui v3.0.2¶
The following classes have been moved to EzPlatformContentFormsBundle
:
Former location | Current location |
---|---|
EzSystems\EzPlatformAdminUi\Form\Data\User\UserPasswordChangeData |
EzSystems\EzPlatformUser\Form\Data\UserPasswordChangeData |
EzSystems\EzPlatformAdminUi\Form\Data\User\UserPasswordForgotData |
EzSystems\EzPlatformUser\Form\Data\UserPasswordForgotData |
EzSystems\EzPlatformAdminUi\Form\Data\User\UserPasswordResetData |
EzSystems\EzPlatformUser\Form\Data\UserPasswordResetData |
EzSystems\EzPlatformAdminUi\Form\Type\User\UserPasswordChangeType |
EzSystems\EzPlatformUser\Form\Type\UserPasswordChangeType |
EzSystems\EzPlatformAdminUi\Form\Type\User\UserPasswordForgotType |
EzSystems\EzPlatformUser\Form\Type\UserPasswordForgotType |
EzSystems\EzPlatformAdminUi\Form\Type\User\UserPasswordForgotWithLoginType |
EzSystems\EzPlatformUser\Form\Type\UserPasswordForgotWithLoginType |
EzSystems\EzPlatformAdminUi\Form\Type\User\UserPasswordResetType |
EzSystems\EzPlatformUser\Form\Type\UserPasswordResetType |
EzSystems\EzPlatformAdminUi\Validator\Constraints\Password |
EzSystems\EzPlatformUser\Validator\Constraints\Password |
EzSystems\EzPlatformAdminUi\Validator\ConstraintsPasswordValidator |
EzSystems\EzPlatformUser\Validator\Constraints\PasswordValidator |
EzSystems\EzPlatformAdminUi\Validator\Constraints\UserPassword |
EzSystems\EzPlatformUser\Validator\Constraints\UserPassword |
EzSystems\EzPlatformAdminUi\Validator\Constraints\UserPasswordValidator |
EzSystems\EzPlatformUser\Validator\Constraints\UserPasswordValidator\ValidationErrorsProcessor |
The following methods have been moved to EzPlatformUserBundle
:
Former method | Current method |
---|---|
EzSystems\EzPlatformAdminUi\Form\Factory\FormFactory::changeUserPassword |
EzSystems\EzPlatformUser\Form\Factory\FormFactory::changeUserPassword |
EzSystems\EzPlatformAdminUi\Form\Factory\FormFactory::forgotUserPassword |
EzSystems\EzPlatformUser\Form\Factory\FormFactory::forgotUserPassword |
EzSystems\EzPlatformAdminUi\Form\Factory\FormFactory::resetUserPassword |
EzSystems\EzPlatformUser\Form\Factory\FormFactory::resetUserPassword |
EzSystems\EzPlatformAdminUi\Form\Factory\FormFactory::updateUserSetting |
EzSystems\EzPlatformUser\Form\Factory\FormFactory::updateUserSetting |
The following classes have been moved to EzPlatformContentFormsBundle
.
Former location | Current location |
---|---|
EzSystems\EzPlatformAdminUi\Validator\ValidationErrorsProcessor |
EzSystems\EzPlatformContentForms\Validator\ValidationErrorsProcessor |
EzSystems\EzPlatformAdminUi\Validator\Constraints\FieldTypeValidator |
EzSystems\EzPlatformContentForms\Validator\Constraints\FieldTypeValidator |