В чём принципиальные отличия Rules от Workflow?

Главные вкладки

Аватар пользователя ingumsky@drupal.org ingumsky@drupal.org 20 марта 2009 в 2:31

Подскажите, пожалуйста, чем принципиально (и не принципиально) отличаются друг от друга модули Rules и Workflow. Как я понимаю, первый из них — это бывший Workflow-ng. Обра работают с триггерами и действиями, но... как? Почитал описания обоих модулей, но так и не понял, какой из них для чего именно предназначен. Вижу отличия только в том, что Rules в два раза тяжелее.
Спасибо!

Комментарии

Аватар пользователя talgar@drupal.org talgar@drupal.org 14 мая 2009 в 7:01

Workflow позволяет создать путь прохождения некого типа ноды по заданым состояниям.
Например, можно сделать новый тип ноды todo (задание) и для него задать путь прохождения:
назначено -> принято -> выполнено
принято -> отклонено
Назначить права доступа, кто из какого и в какое состояние может переводить нод. При переводе состояния пользователь может прокомментировать перевод (при этом используются собственные комментарии модуля а не друпаловские). По каждому ноду, для которого определен воркфлоу, можно посмотреть историю переводов из состояния в состояния с комментариями. Для вывода нод со состояниями можно использовать вьюсы.

Rules позволяет отслеживать события, происходящие в системе. Например, создание новой ноды, нового коммента, изменения ноды и множество других. И на заданное событие выполнить некое действие, причем много предопределенных задаваемых действий уже заложено в самом модуле. Также можно выполнить собственный php скрипт.

Аватар пользователя talgar@drupal.org talgar@drupal.org 14 мая 2009 в 9:25

есть одна проблема с воркфлоу: когда выводишь через вьюсы ноды и добавляешь в вывод поле "Предыдущий комментарий", то во вьюсе на один нод появляется несколько записей. Т.е. он выводит не последний коммент а все комменты

Аватар пользователя ion ion 3 декабря 2009 в 3:09

Добрый день, я столкнулся с задачей выполнения бизнесс процессов как конвеерно (последовательно, поочерёдно) так и параллельно (одновременное выполнение разных элементарных действий разными сотрудниками внутри одного бизнес процесса) между разными людьми, удалёнными друг от друга географически, но работающими над одним проектом.

Конкретный пример: командировка

есть 2 юзера. База (пользователь с ролью управляющий) и Исполнитель (роль работник).

База ставит задачу пользователю: На этой неделе надо съездить туда то, сделать там определённые действия и отчитаться в письменной форме. У тебя есть столько то времени, денег тебе на это дело даст главбух после того как секретарь забронирует для тебя места в гостинице, а логист проложит маршрут и посчитает сколько тебе надо ГСМ на дорогу.

На базе мощных самописных (не для продажи а для внутреннего использования в компании) ERP систем это реализовывалось путём запуска шаблона на исполнение, в котором прописаны все роли, возможные варианты развития действий, сроки, исполнители, контролёры, уровни критичности, приоритеты, выделения средств, взаимодействия между департаментами и назначения ответственных сотрудников, прикрепление документов к задаче, изменение состояния, уведомления перед окончанием времени для решения, возврат на предыдущий уровень, эскалация на другого сотрудника в случае невозможности решить поставленную задачу, подключение подчинённых сотрудников к решению (в рамках, описанных должностными правами, инструкциями и шаблонами) и прочее.

Расписывать на примере думаю не стоит, просто хочу посоветоваться реально можно реализовать подобие многоуровневой, шаблонной ERP системы на базе drupal 6?

на орге есть тема http://groups.drupal.org/building-erp-and-bi-platforms-drupal
но насколько я понимаю проект очень сыр, какие рекомендации вы можете дать по этому поводу ?