20.03.2010 | 01:00

Одно из самых интересных и полезных нововведений в версии UMI.CMS 2.8 - это новый модуль "Обмен данными".
Сегодня я расскажу о том, какие возможности предоставляет этот модуль и какие задачи позволяет решить.

В версии 2.7 импорт и экспорт данных были частью модуля "Интернет магазин", при проектировании 2.8 мы решили расширить этот функционал и вынести его в отдельный модуль. Модуль входит в редакцию Pro Commerce, но его можно купить отдельно для любой редакции семейства "pro".

Новый внутренний формат umiDump 2.0 

Изучая список пожеланий наших партнеров, мы полностью переработали механизм обмена данными, начиная с разработки нового внутреннего формата umiDump 2.0.

Новый внутренний формат поддерживает импорт и экспорт не только страниц, но и объектов и типов данных.

Через интерфейс модуля "Обмен данными" и через API можно импортировать все виды сущностей UMI.CMS: страницы, типы, объекты. Это позволяет более плотно интегрировать любые сервисы с UMI.CMS, а так же позволит разработчикам собственных модулей создавать любые структуры данных (типы, справочники, страницы) при инсталляции модуля.

Также, это открывает возможность написания собственных расширенных конфигураций UMI.CMS, которые легко устанавливаются через модуль "Обмен данными" или с помощью инсталлятора, запускающего импорт данных через API.

При экспорте разделов сайта в umiDump 2.0, система автоматически соберет структуру типов данных, которые используются для экпортируемых страниц. Экспортировать определенные типы и объекты на данный момент можно только через API. Мы разрабатываем интерфейсы для модуля "Обмен данными", которые позволят это сделать прямо из модуля, в ближайших обновлениях они будут доступны.

Импорт больших объемов данных

Одной из основной задач, которую мы решили, была возможность успешно импортировать очень большие объемы данных разных форматов на виртуальном хостинге. Новый модуль может успешно импортировать xml-файлы формата umiDump 2.0 и CommerceML 2.0 практически неограниченного размера.

Подсистема импорта умеет грамотно разбивать большие xml-файлы этих форматов на логически завершенные куски, а затем импортировать их в несколько этапов, значительно снижая требовательность к ресурсам.

Обмен данными в стандартной поставке позволяет:

  • импортировать/экспортировать каталоги товаров формате CommerceML 2.0
  • импортировать/экспортировать прайс-листы в формате CommerceML 2.0
  • экспортировать заказы в формате  CommerceML 2.0
  • импортировать/экспортировать любые сущности в формате umiDump 2.0
  • экспортировать список предложений в формате yandexML (для интеграции интернет - магазина с Яндекс.Маркет)

Более подробно о форматах можно прочитать в обновленной документации.

Возможность кастомизации импорта существующих форматов, а так же подключение собственных

Основное преимущество разработанного механизма импорта-экспорта - это гибкость. Система работает лишь с внутренним форматом, остальные форматы легко преобразуются в него или из него, благодаря xslt-преобразованиям.

Такая гибкость позволяет разработчику без особого труда сделать поддержку собственного формата. Для этого, в большинстве случаев, достаточно лишь написать свои xsl-шаблоны для преобразования данных в umiDump 2.0 и зарегистрировать свой формат в системе.

Для изменения логики преобразования любого из существующих форматов в umiDump 2.0, предусмотрена возможность расширения xsl-шаблонов. Для этого в папках /xsl/import/custom и /xsl/export/custom есть специальные кастомные шаблоны для каждого из поддерживаемых форматов.

Достаточно переопределить лишь некоторые xsl-шаблоны, чтобы изменить логику формирования внутреннего формата под конкретный проект. Так же, в 2.8.1 появятся события (umiEventPoint) на импорт всех сущностей, что позволит еще более гибко расширять импорт под определенные задачи.

Автоматическая интеграция с 1С: Управление торговлей 8

Модуль "Обмен данными" имеет надстройку, которая позволяет обмениваться данными с 1С в автоматическом режиме.

Для стандартной процедуры обмена данными с 1С никаких настроек UMI.CMS со стороны разработчика не требуются. Необходимо лишь настроить обмен данными с сайтом в 1С.

Надстройка позволяет управлять интернет магазином прямо из 1С, не заходя на сайт вообще, а именно:

  • выгружать каталоги товаров на сайт
  • обновлять свойства товаров из 1С
  • обновлять цены и наличие на складах
  • обрабатывать заказы в 1С

 

После выгрузки товаров из 1С можно полностью изменить структуру полученного каталога, используя модуль "Структура" в UMI.CMS. Это позволяет не привязываться к структуре 1C-номенклатуры, которая, в большинстве случаев, для интернет-магазина не применима. Измененная структура не пострадает при последующих обновлениях из 1С, но товары и категории в ней корректно обновятся или создадутся.

Через интерфейс модуля "Обмен данных" можно вручную экспортировать каталог и прайс-лист и загрузить его в 1С. Эту возможность удобно использовать, когда товары есть на сайте, а в 1С их еще нет. Так же, можно в любой момент предоставлять номенклатуру вашей продукции или прайс-лист партнерам или сторонним сервисам.

Вот, вкратце, основные возможности нового модуля. Если есть желание узнать о чем-то подробнее - буду рад ответить в комментариях.

Читайте также:

Теги

Авторы блога