Kyiv, Ukraine
Sergei Stryukov (ss81)
Donetsk, Ukraine
Возникала в комментах идея поговорить о миграции "всего что прийдет в голову" в Друпал. Я же предлогаю обсудить не только миграцию, но и интеграцию.
На данный момент я занимаюсь интеграцией ADempiere (http://www.adempiere.com/index.php/ADempiere) и Друпала. Задача эта отличается от миграции только тем что данные бегают как в Друпал так и из Друпала.
Интересна ли вам эта тема? Чистое взаимодействие с ERP системами могу сделать в виду презентации, но это будет скучно и все равно перейдет в обсуждение :)
Жду ваших предложений/отзывов.
Добавлено:
Вынырнув из проекта, собрал себя в кучу и вот некоторые вопросы/тезисы, которые хотелось бы обсудить:
1. Миграция произвольной системы (далее "ПС") в Друпал. Сделал и забыл (но интеграция была так легка что хочется повторить -- это цель).
2. Односторонняя интеграция ПС в Друпал. Друпал получает информацию (обновляя ее регулярно), но ничего не возвращает, выступая лишь ветриной.
3. Двусторонняя интеграция. Друпал выступает как простой и удобный инструмент для реализации онлайн-магазина, но вся бизнес-логика реализуется в ПС.
4. Реализация обмена информацией (чистый импорт, обновление имеющихся товаров, удаление устаревших) между Друпалом и ПС при больших объемах информации (например, порядка 12К-15К товаров с произвольными аттрибутами для каждого товара -- при 20М принимаемых данных это уже проблема).
Задача, на примере которой хотелось бы показать примеры реализации и выслушать критику такова: магазин (ERP система выступает в роли базы) содержит товары, товары разбиты на категории (вложенность категорий произвольная). Каждый товар имеет аттрибуты: бутылка молока -- литраж, футболка -- цвет и размер, ще один продукт может иметь до 10 аттрибутов и более.
Следующий интересный момент - товары могут продаваться в разных вариациях (не подобрал лучшего слова): одна лопата стоит 10р, а 10 лопат стоят 90р и человек может купить "акционный" товар "10 лопат по цене 9".
Еще одна особенность -- типы пользователей (набор -- произвольный). Для каждого типа пользователя, как и для каждого пользователя в отдельности, могут быть установлены свои правила, т.е. свои цены на товары: для пенсионера, для оптовика, для вип-клиента и т.д.
Это пример системы, в которой бизнес-логика решается на стороне ПС, а общение с покупателями -- на стороне Друпала. Вот именно такую систему, а точнее ее реализацию, я и предлагаю вам обсудить.
На самом деле, для того же 1С это такая же банальность как для человека дышать, но вот интеграция с Друпалом вызывает массу вопросов. Перечислю лишь некоторые:
1. Использовать ли встроенные функции модулей или работать на прямую с базой данных.
2. Как импортировать большой объем данных, если использовать API модулей. Ведь Друпал прожорлив в отношении памяти.
3. Использовать ли стандартные решения или городить огород в виде своего модуля.
Я с удовольствием расскажу о своеем видении решения этих вопросах и об имеющихся реализациях, но я расчитываю услышать мнения других людей и на базе всей собранной информации составить общий список рекомендаций по интеграции Друпала с системами типа "есть набор данных, хочу это в друпал перенести".
Добавлено:
Ориентируясь на эту классификацию: http://camp09.drupal.ua/ru/presentations -- я бы отнес мое выступление к Круглый стол (дискуссия).
Это я сказал к тому что у меня есть тема, модератором которой я желаю выступить, потому что эта тема меня крайне интересует. Но много рассказывать не хочу, т.к. моя реализация очень далека от идеала. Я могу задать лишь вектор и придерживать разговор в этом векторе. Также, я считаю что остальные реализации также не лишены багов (ну нет идеала в этом мире кроме Темы Лебедева, как он сам считает). Исходя из этого, есть огромное желание составить хотя бы приблизительный мануал (или список настойчивах намеков) для задач взаимодействия друпала с миром.
Интересна интеграция каталога продукции на Drupal с 1С - импорт остатков на складе из 1С в Drupal и экспорт заказов из Drupal в 1С. Возможно ли такое?
August 8th, 2009 - 02:28
У меня, к сожалению, нет опыта работы с 1С, но есть опыт работы с Ubercart. Надеюсь, есть люди, которые с остатками работали и которым есть что сказать. Если так, то нам будет что обсудить :)
August 8th, 2009 - 02:52
Что сейчас делается в проекте:
1. Импорт продуктов.
2. Каждый продукт имеет свой уникальный набор аттрибутов, которые также импортируются ежедневно. Цена продукта разная для разных наборов аттрибутов (синий большой шарик стоит 5коп, а красный маленький -- 7 коп.).
3. Импорт категорий продуктов.
4. Продукты продаются в разных вариациях (1 бутылка, 5 бутылок, ящик). Каждая вариация также имеет свою цену (реализовано в виде аттрибута).
Думаю, задача с остатками решится не очень сложно.
August 10th, 2009 - 02:27
Это как раз то, над чем мы сейчас работаем, создавая сайт белорусской трикотажной фабрике.
А как у вас сделан каталог и через какие файлы происходит импорт (Exel, xml, другое?)
Импортировать остатки или номенклатуру из 1С в эти форматы не проблема. Делается одной кнопкой.
August 10th, 2009 - 13:46
Импорт происходит с помощью SOAP запроса к веб сервису, который возвращает ответ в виде XML конструкции.
August 10th, 2009 - 15:50
ух-ты, тогда подробности при встрече :-)
August 10th, 2009 - 22:03
glu2006 указал на необходимость использования batchAPI при импорте данных, однако только после прочтения его обсуждения (http://ubercart.ru/node/166) до меня дошло что эту штуку нужно юзать при больших объемах данных (как раз, мой вариант).
есть ли у кого опыт работы с batchAPI? какие подводные камни? реально ли помогает или банальный set_time_limit(0) сделает то же самое?
August 13th, 2009 - 15:11
batchAPI банально хорош тем, что там есть прогресс бар :) Однако, в то же время, плох тем, что разные месаджи в нем не повыводишь посреди процесса.
August 14th, 2009 - 11:40
Т.е. если задача крутится по крону, то смысла в нем большого нет?
August 14th, 2009 - 14:07
Очень занятная тема. Сам в качестве домашних проектов с отдаленной перспективой изучаю открытые ERP системы. Пока что больше нравятся OpenERP и OpenBravo.
August 15th, 2009 - 21:11