PIMCORE 11: НОВЫЕ ВОЗМОЖНОСТИ ДЛЯ УПРАВЛЕНИЯ ТОВАРНЫМИ ДАННЫМИ
Создатели Pimcore опубликовали новую 11-ую версию продукта!
Если вы еще не знаете, что такое PIM-системы, мы подробно рассказали в статье. Если коротко — этот класс систем помогает хранить всю информацию на товар по одной ссылке, автоматически выгружать товары на сайты-дистрибьюторы и еще десятки возможностей для управления каталогом товаров. Ведущей PIM-системой на рынке является Pimcore.
Мы — SVK.Digital — одни из лидеров в стране по внедрению Pimcore, поэтому внимательно следим за их новыми релизами. Мы подготовили перевод статьи о последних технических обновлениях системы, чтобы все, кто работает с внедрением этого популярного продукта, были в курсе нововведений.
Итак, перейдем к релизу:
Pimconauts серьезно улучшили свой продукт, внеся более 840 изменений. В работе еще активно участвовало коммьюнити разработчиков на Github, так как Pimcore — опенсорсный продукт.
Обновления затронули обе редакции — и бесплатную (Community Edition) и платную версию (Enterprise).
ТЕХНИЧЕСКИЕ ОБНОВЛЕНИЯ И ИЗМЕНЕНИЯ
В релизе Pimcore 11 проведен фундаментальный рефакторинг, структурные улучшения и оптимизированы интеграции.
В релизе отражены следующие разделы:
- Улучшение качества и структуры кода
- Обновление сторонних зависимостей Pimcore
- Рефакторинг для снижения технического долга
- Внедрение фундаментальных рефакторингов
- Ориентация на экосистему
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-систему с нуля, мы поможем организовать централизованное управление большим массивом товарных данных.