Клиент
Компания «Лента» — один из крупнейших продовольственных ретейлеров России. За 30 лет работы гипермаркеты и супермаркеты сети появились в более чем 650 городах. 2 957 магазинов под брендами «Гипер Лента», «Супер Лента» и «Монетка») по всей стране занимают общую торговую площадь свыше 2,3 млн кв. м. Выручка компании в 2023 году составила 616 млрд руб.
Проблема
Для хранения массива цифровых активов и управления ими клиент использовал зарубежную облачную DAM-систему. С 2022 года такой вариант стал рискованным: вендор в любой момент мог отключить доступ к системе.
Это повлияло бы на две площадки клиента: e-commerce-площадку lenta.com и мобильное приложение «Лента».
Товары сети, представленные на этих платформах, сопровождаются несколькими фото. В некоторых случаях есть дополнительные материалы, например инструкции по применению.
Для «Ленты» важно было получить собственное on-premise-решение для работы с медиафайлами, независимое от третьих лиц.
Задача
Команда «Ленты» ещё до обращения в KT.Team искала варианты замены предыдущего решения и остановила свой выбор на Pimcore. DAM-система Pimcore — open-source-система с возможностью доработки функций и вариантами размещения как в облаке, так и на серверах компании. Основная функциональность, которую необходимо было реализовать на первом этапе, — управление фотобанком, хранилищем для медиафайлов, настройка связи изображений с карточками товаров на сайте lenta.com и сортировки изображений.
Решение
Команда KT.Team внедрила для «Ленты» DAM Pimcore — бесплатную систему с открытым исходным кодом. Для этого на серверах компании развернули кластер Kubernetes с двумя стендами: для тестирования и для продакшна. Его связали с шиной данных «Ленты» и сайтом при помощи API.
Возможности бесплатной Pimcore ограничены, поэтому команда дополняла её кастомными функциями. Для интеграции с шиной данных заказчика потребовалось реализовать подключение по REST API.
После этого команда провела тестовую миграцию данных о товарах из ERP-системы «Ленты». Карточки товаров из старой DAM без изменений перенесли в новую систему, а свежие данные о товарах из основной системы «Ленты» поступают в DAM в автоматическом режиме. Для изображений используется объектное хранилище S3.
Из DAM медиаматериалы автоматически загружаются на сайт lenta.com в соответствующие карточки. Помимо изображений, Pimcore может передавать очереди сообщений формата JSON с информацией о связях между фото и товарами.
Результат 1: DAM-система on-premise позволяет «Ленте» не зависеть от решений вендора
Новая DAM решила главную проблему заказчика: теперь все медиаданные хранятся на собственных серверах, а работоспособность системы не зависит от односторонних решений вендора. Благодаря этому удалось исключить риск внезапного отключения хранилища, которое могло повлечь серьёзный репутационный и финансовый ущерб.
Результат 2: после перехода на Pimcore сайт по-прежнему автоматически получает карточки товаров с привязанными к ним изображениями, переход прошёл бесшовно
В первую очередь команда KT.Team реализовала функциональность, важную на первом этапе перехода, — выгрузку фотографий в онлайн-магазин. Для этого в систему добавили возможность автоматически привязывать изображение к карточке на основе артикула: уникального кода товара.
Создатели контента для сайта, дизайнеры, добавляют этот код ко всем фото- и медиаматериалам, относящимся к конкретному товару. Так, в названии изображения указывается код 777_1, который означает, что это первое фото для товара с артикулом 777.
Изображения можно привязывать к нескольким товарам, которые отличаются, к примеру, цветом или каким-либо другим параметром. Допустим, в онлайн-магазине можно купить наборы ёлочных шаров синего, красного и зелёного цвета. В карточках всех трёх наборов допустимо использовать одно и то же фото упаковки, т. к. она одинакова у всех наборов. Для этого в метаданных на этапе производства и обработки фото указывают все нужные коды через косую черту. Например, так: «артикул1_2/артикул2_1». DAM автоматически определяет, что изображение относится к нескольким карточкам.
При загрузке нового изображения Pimcore вычленяет этот уникальный идентификатор из названия файла и его метаданных, а затем привязывает файл к карточке товара с таким же кодом.
Результат 3: клиент по привычному алгоритму может анализировать актуальность файлов и частоту обновлений с помощью отчётов из DAM
В предыдущей DAM-системе клиент использовал отчёты для управления медиаматериалами и контроля за ними:
- отчёт по изображениям;
- отчёт по товарам и изображениям.
Эти же отчёты команда KT.Team реализовала и на Pimcore, что потребовало доработок базовой функциональности продукта.
Первый тип отчётов нужен для работы с изображениями: сортировка, фильтрация, поиск фото по атрибутам. Например, с их помощью можно найти файлы с определённой датой загрузки и разом отметить все как неактуальные.
Второй тип отчётов позволяет наглядно увидеть, как связаны товары и изображения. Например, выбрать все карточки, в которых ещё нет изображений, и выгрузить их единым списком в Excel.