PIMCORE 11: НОВЫЕ ВОЗМОЖНОСТИ ДЛЯ УПРАВЛЕНИЯ ТОВАРНЫМИ ДАННЫМИ

Создатели Pimcore опубликовали новую 11-ую версию продукта!

Если вы еще не знаете, что такое PIM-системы, мы подробно рассказали в статье. Если коротко — этот класс систем помогает хранить всю информацию на товар по одной ссылке, автоматически выгружать товары на сайты-дистрибьюторы и еще десятки возможностей для управления каталогом товаров. Ведущей PIM-системой на рынке является Pimcore.

Мы - SVK.Digital — одни из лидеров в стране по внедрению Pimcore, поэтому внимательно следим за их новыми релизами. Мы подготовили перевод статьи о последних технических обновлениях системы, чтобы все, кто работает с внедрением этого популярного продукта, были в курсе нововведений.

Итак, перейдем к релизу:

Pimconauts серьезно улучшили свой продукт, внеся более 840 изменений. В работе еще активно участвовало коммьюнити разработчиков на Github, так как Pimcore — опенсорсный продукт.

Обновления затронули обе редакции — и бесплатную (Community Edition) и платную версию (Enterprise).

ТЕХНИЧЕСКИЕ ОБНОВЛЕНИЯ И ИЗМЕНЕНИЯ


В релизе Pimcore 11 проведен фундаментальный рефакторинг, структурные улучшения и оптимизированы интеграции.

В релизе отражены следующие разделы:

  1. Улучшение качества и структуры кода
  2. Обновление сторонних зависимостей Pimcore
  3. Рефакторинг для снижения технического долга
  4. Внедрение фундаментальных рефакторингов
  5. Ориентация на экосистему

1. УЛУЧШЕНИЕ КАЧЕСТВА И СТРУКТУРЫ КОДА


  • Отдельные пакеты: наименее используемые функции были разделены на пакеты. Это позволило создать более компактное ядро, повысить гибкость и эффективность всего процесса разработки.

  • Родные PHP-типы: Pimcore теперь применяет собственные PHP-типы ко всем параметрам и возвращаемым типам. Это приводит к строгой типизации Pimcore Core Framework, повышающей качество и стабильность кода.

  • Покрытие тестами и статический анализ: Pimconauts расширили покрытие тестами и добавили проверки статическим анализатором для всех пакетов, что существенно повысило качество. Эти обновления принесут значительную пользу сообществу разработчиков в отношении будущих изменений и адаптаций.

  • Внедрен Webpack для сборки и установки зависимостей фронтенда. К ним относятся JavaScript и CSS-файлы для пользовательского интерфейса Pimcore. Это упрощает последующие обновления и обеспечивает актуальность компонентов.

  • Политика безопасности контента (CSP): в Pimcore включены CSP в качестве настройки по умолчанию для Backend. Это помогает предотвратить определенные типы атак, такие как межсайтовый скриптинг (XSS) и атаки с использованием инъекций данных. Благодаря CSP Pimconauts повышает безопасность платформы и минимизируем риск утечки данных и других вредоносных действий.

2. ОБНОВЛЕНИЕ СТОРОННИХ ЗАВИСИМОСТЕЙ PIMCORE


  • Pimcore 11 совместим с последней версией PHP 8.2, но требует PHP версии 8.1, как минимум. Это обновление позволяет использовать новые возможности языка и тем самым повысить качество кода, безопасность и производительность. Будет поддержка PHP 8.2 и патчи безопасности как минимум на ближайшие три года.

  • Проведена большая работа по обновлению всех зависимостей до их последних версий. Это позволяет использовать новейшие возможности, получать преимущества от поддержки и обновлений безопасности, обеспечивая Pimcore 11 прочным фундаментом на ближайшие годы.

  • Одна из наиболее важных зависимостей, Symfony, была обновлена до последней версии 6.2. Это дает доступ к новейшим функциям, поддержку и обеспечивает безопасность как минимум на ближайшие четыре года.

3. РЕФАКТОРИНГ ДЛЯ СНИЖЕНИЯ ТЕХНИЧЕСКОГО ДОЛГА


Еще одной важной частью релиза Pimcore 11 является рефакторинг, направленный на поддержание кодовой базы в актуальном состоянии. Это позволяет улучшить опыт разработчиков, снизить трудозатраты на поддержку и обеспечить стабильность фреймворка.

Что именно сделано:

  • Удалены устаревшие функции, реализации и слои обратной совместимости для очистки кодовой базы.

  • Обновлена структура кода основных пакетов для соответствия лучшим практикам.

  • Использованы стандартные реализации новых версий сторонних фреймворков, например, Symfony, и удалены собственные реализации (например, обработка сессий, аутентификация, Symfony Runtime). Это позволило снизить сложность кода Pimcore и почистить его.

4. ВНЕДРЕНИЕ ФУНДАМЕНТАЛЬНЫХ РЕФАКТОРИНГОВ


  • Разработан слой абстракции для WYSIWYG-редактора, а в качестве стандартной реализации принят ультрасовременный TinyMCE. С помощью слоя абстракции можно легко интегрировать WYSIWYG-редакторы через расширения.

  • Внедрен Gotenberg, универсальный генератор PDF-файлов. Gotenberg генерирует предварительный просмотр документов, таких как Word, Excel, PowerPoint, и создает PDF-файлы в модуле web2print. Самое приятное, что он легко интегрируется в инфраструктуру системы в виде микросервиса (например, через контейнер Docker), что минимизирует требования к инфраструктуре и упрощает систему.

  • Расширены возможности за счет добавленной поддержки пользовательских типов документов и объектов. Теперь разработчики могут легко реализовать собственные типы с помощью расширений, полностью адаптируя Pimcore к уникальным требованиям клиента. Этот функционал также позволяет создавать расширения, поддерживающие форматы 3D-файлов.

  • Расширены возможности моделирования данных в Pimcore за счет добавления нового типа данных - диапазон (диапазон чисел, величин, дат).

5. ОРИЕНТАЦИЯ НА ЭКОСИСТЕМУ


  • Обновили все расширения Pimcore, чтобы обеспечить слаженную работу и полную совместимость с Pimcore 11.

  • Расширения Pimcore интегрированы в платформу POEditor: это позволяет переводить фразы для всех расширений Pimcore на предпочитаемые языки, как это уже возможно для ядра Pimcore. Пользователи получат точный перевод платформы, независимо от используемого языка.

  • Pimconauts выпустим исчерпывающую документацию, объединяющую все расширения Pimcore в единый документ с унифицированным поиском.

ВЫВОДЫ


Pimcore для клиента становится еще защищеннее и гибче в настройке, а для программиста — удобнее и быстрее в разработке. Если вы собираетесь обновляться на новую версию или внедрять PIM-систему с нуля, мы поможем организовать централизованное управление большим массивом товарных данных.
Наведем порядок в товарных данных за 6 недель и 1.2 млн
г. Зеленоград, корпус 322А