Релиз 2024.1
Здесь вы найдёте все важные нововведения и релизные заметки, относящиеся к выпуску Platform Version 2024.1.
Ключевые нововведения и улучшения
Pimcore Copilot
Pimcore Copilot — это центральная точка запуска различных действий в административной панели Pimcore.
Он открывается в отдельном окне и позволяет инициировать различные действия для взаимодействия с Pimcore.
Доступные действия зависят от контекста, из которого вызывается Copilot — функциональность будет контекстно-зависимой, настраиваемой и расширяемой.
Copilot включает:
- механизм выполнения задач (job execution engine);
- панель управления задачами, где можно отслеживать статус долгих процессов, останавливать их или перезапускать завершённые.
Добавление новых действий возможно программно, а также через специальное окно конфигурации в административной панели. Подробнее читайте в документации по Pimcore Copilot.
Универсальный индекс данных (Generic Data Index)
Pimcore теперь предоставляет универсальный индекс данных, основанный на OpenSearch. Этот индекс будет использоваться как центральный поисковый механизм и индекс данных для будущих приложений платформы. Например, новый пользовательский интерфейс (UI) будет использовать этот индекс для поиска и фильтрации объектов данных, активов и документов. Новый механизм индексации значительно улучшит качество поиска и производительность в следующих версиях Pimcore. Цель заключается в том, чтобы различные расширения могли использовать единый централизованный индекс, без необходимости создавать собственные индексы и реализовывать механизмы обновления очередей для каждого расширения отдельно.
Подробнее читайте в документации по Generic Data Index.
Дополнительные улучшения и техническое обслуживание
Вместе с новыми функциями были реализованы следующие улучшения и задачи по "расчистке" кода:
- [Portal Engine] Интеграция с универсальным индексом данных
- Portal Engine стал первым приложением, использующим новый универсальный индекс на базе OpenSearch.
- Он будет совместно использовать этот индекс с новой административной панелью Pimcore.
- Механизм очередей индексации в Generic Data Index был улучшен по сравнению со старым подходом в Portal Engine, что сделало процесс индексирования более стабильным и производительным.
- [Core Framework] Поддержка Gotenberg v2
- В Gotenberg 8 появилась возможность создания скриншотов веб-страниц, и теперь эта функция поддерживается в Pimcore.
- Это делает использование Headless Chromium необязательным, сокращая требования к вычислительным ресурсам и зависимостям.
- Чтобы перейти с Headless Chrome на Gotenberg:
composer require gotenberg/gotenberg-php:^2
- [Core Framework] Новые Value Objects
Добавлены новые самопроверяющиеся типы-объекты (
BoolanArray,IntegerArray,Path,PositiveInteger,PositiveIntegerArray,StringArray) - [Core Framework] Поддержка QuantityValueRange в Classification Store
Classification Store теперь поддерживает тип QuantityValueRange. Спасибо Michael Frank за вклад! - [Core Framework] Изменения в обработке .env при запуске
Файлы
.envбольше не обрабатываются дважды. Для обеспечения согласованности переменных окружения в процессе начальной загрузки (bootstrap), необходимо внести правку в файлpublic/index.phpв корне проекта. Переместите строкуBootstrap::bootstrap();непосредственно перед строкой$kernel = Bootstrap::kernel()вместо того чтобы вызывать её вне замыкания. Альтернативно, можно применить этот патч. - [Core Framework] Объявлены устаревшими (deprecated) некоторые функции
- [Admin UI Classic Bundle] Связи многие-ко-многим: массовая загрузка файлов
Теперь можно загружать несколько файлов одновременно для полей типа many-to-many. Спасибо партнёру Blackbit за вклад! - [Data Hub File Export] Использование выделенной очереди
- [Data Hub Webhooks] Права доступа
Добавлена вкладка Permissions в конфигурации Data Hub для задания прав пользователей и ролей на вебхуки. - [Alternative Elements Trees] Поддержка новых типов данных
Поддерживаются дополнительные типы данных при конфигурации (Advanced-Many-To-Many-Object relation, Advanced-Many-To-Many relation, Many-To-Many relation, Countries, Languages, User). - [Workflow Designer] Обновление зависимостей NPM
Обновлены front-end зависимости до последних версий для устранения устаревших пакетов. - [Statistics explorer] Обновление зависимостей NPM
Аналогично, обновлены зависимости для Statistics Explorer. - [Translation Provider Interfaces] Устаревание интеграции с Xplanation
Интеграция с Xplanation будет удалена в будущих версиях. - [Data Hub GraphQL] Отключение поля SQL-условий
- Возможность указания произвольных SQL-условий теперь может быть отключена — это улучшает безопасность.
- Рекомендуется отключить поле, если оно не используется.
- Существующие условия можно перенести на событийную модель.
- В будущем планируются новые UI-фильтры без необходимости использования SQL.
- Symfony Теперь Pimcore ограничен версией Symfony 6.4 — это LTS-релиз Symfony 6.
Серьёзные изменения (Breaking changes)
С выпуском Platform Version 2024.1 будут внесены следующие важные изменения:
- [Portal Engine] Удалена поддержка Pimcore 10.6
Поскольку Portal Engine теперь основан на универсальном индексе данных (Generic Data Index), который доступен только в Pimcore 11.x, поддержка версии 10.6 была удалена. - [Portal Engine] Отказ от Elasticsearch в пользу OpenSearch
Portal Engine теперь работает с OpenSearch, заменив Elasticsearch. Подробнее см. в разделе "Дополнительные улучшения и техническое обслуживание" выше. - [Portal Engine] Удалена поддержка ongr
- [Portal Engine] Обновлены frontend-зависимости
Все фронтенд-зависимости обновлены до последних версий, чтобы исключить использование устаревших пакетов. - [Data Hub Simple REST API] Отказ от Elasticsearch в пользу OpenSearch
По тем же причинам, что и Portal Engine, Data Hub также переходит с Elasticsearch на OpenSearch. - Symfony Messenger Перед обновлением убедитесь, что все сообщения в очереди Messenger были обработаны, чтобы избежать потери данных или сбоев в процессе миграции.
- Версия PHP Начиная с релиза Platform Version 2024.1, минимально поддерживаемая версия PHP — 8.2. PHP 8.3 пока не поддерживается из-за проблем с библиотекой ImageMagick.
Поддержка OpenSearch
В 2021 году компания Elasticsearch изменила свою лицензионную модель — с лицензии Apache 2.0 на SSPL. Новая лицензия больше не считается открытой, так как ограничивает возможность предоставления управляемых сервисов на базе Elasticsearch. В ответ на это Amazon решил создать форк Elasticsearch на основе версии 7.10.2 и выпустил новый продукт — OpenSearch — под лицензией Apache 2.0. Сейчас OpenSearch активно развивается Amazon, и к версии 2.x были реализованы дополнительные улучшения. В связи с лучшими условиями лицензирования и рыночным спросом, Pimcore также принял решение перейти на OpenSearch, начиная с релиза Platform Version 2024.1.
Этот переход позволяет:
- использовать поисковый движок без ограничений;
- избежать дополнительных затрат на лицензии;
- сохранять гибкость хостинга Pimcore.
Подробнее — в документации по клиенту OpenSearch.
Расширения, удалённые из Platform Version
Следующие модули были исключены из состава пакетов Platform Version Pimcore. Они по-прежнему доступны и могут быть установлены вручную, но больше не входят в официальный набор и цикл релизов Platform Version.
- Advanced Object Search: Активная разработка прекращена, так как планируется интеграция этой функциональности непосредственно в Studio UI.
- CI-Hub Integration: Активная разработка прекращена, поскольку альтернативное решение теперь предоставляется самой компанией CI-Hub.
Рекомендации по обновлению
Перед обновлением также ознакомьтесь со следующими заметками по обновлению, если они относятся к вашей системе:
Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.