Перейти к основному содержимому

Релиз 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.

Рекомендации по обновлению

Перед обновлением также ознакомьтесь со следующими заметками по обновлению, если они относятся к вашей системе:


Вы можете предложить улучшение документации или задать вопрос в комментариях.
Если вам нужна полноценная консультация — вы можете заказать её на нашем сайте.