KnowDocs 1.0
Nintex Workflow — как создавать рабочие процессы в графическом редакторе
NintexWorkflow – это среда разработки рабочих процессов, которая является полностью интегрированной с Sharepoint.
Среда имеет собственный редактор рабочих процессов, который во многом похож на редактор рабочих процессов в VisualStudio. Который позволяет вставлять действия либо перетаскиванием из панели слева, либо выбором из контекстного меню, которое появляется при щелчке на белом прямоугольнике, рисунок 1.
Рис. 1 Окно редактора рабочих процессов
Отличительной особенностью NintexWorkflow является способность соединять в себе мощь VisualStudio и простоту SharepointDesigner. От VisualStudio унаследована возможность создавать машины состояний, логику ветвлений и циклов, а от SharepointDesigner - дружественный пользовательский интерфейс для создания и настройки рабочего процесса, где практически все делается при помощи «мышки». Имея под руками такой арсенал, пользователь, не обладающий никакими навыками программирования, может создавать действительно сложные рабочие процессы.
Список действий NintexWorkflow охватывает практически все, что касается работы с Sharepoint, от простого создания и обновления элемента, до запросов к AD и профилям пользователей. Если каких-то возможностей недостаточно, в этом случае у разработчика есть несколько вариантов.
Первый из них – это написание рабочего процесса на VisualStudio и вызов его из рабочего процесса Nintex. Например, существует рабочий процесс подписания документа, созданный в Nintex. Необходимо, чтобы после успешного согласования в документе появлялся рисунок с подписью согласующего. Очевидно, что для такой специфичной задачи в NintexWorkflow готового действия нет. Для выполнения этого действия можно написать свой рабочий процесс WF, который будет реализовывать нужный нам функционал, и вызывать его после успешного согласования.
Второй вариант – это написать веб-службу. Существует один минус данного варианта, поскольку теряется контекст текущего элемента списка, но такой вариант тоже возможен. После чего, созданую веб-службу можно вызвать из рабочего процесса Nintex, используя действие «Вызов веб-службы». Это действие очень полезно при работе с встроенными веб-службами Sharepoint.
Третий вариант является самым сложным, но если необходимое действие, будет использоваться часто, то есть смысл воспользоваться именно им. А именно написать собственное действие. Так как все действия NintexWorkflow по сути своей являются действиями WF, то для этого вам понадобится только VisualStudio. В SDK существует подробный пример выполнения, также есть шаблон проекта к VisualStudio.
Возможность настройки NintexWorkflow не ограничивается только созданием собственных действий. Также имеется возможность интеграции с InfoPath формами для сбора, данных от пользователей, полной настройки внешнего вида дизайнера и других страниц NintexWorkflow, написания собственных форм для ответа на задачи. В NintexWorkflow есть множество встроенных функций для работы со строками, список которых также может быть расширен пользователями.
При создании рабочего процесса разработчик может создавать переменные для хранения промежуточных данных. Переменные также могут быть объявлены на уровне узла, сайтовой коллекции и всей фермы. Эта возможность является полезной, если необходимо иметь доступ к каким-то заранее определенным данным из множества рабочих процессов.
Одной из наиболее удобных возможностей NintexWorkflow является LazyApproval. При постановке задачи рабочий процесс отсылает исполнителю уведомление по электронной почте. Если исполнитель не имеет доступа к порталу Sharepoint, то он может ответить на эту задачу электронным письмом. В письме будет содержаться определенная фраза, которая будет интерпретирована LazyApproval как ответ. Список фраз и соответствующих им ответов, а также и все уведомления настраиваемы.
Еще одной возможностью NintexWorkflow является способность делегировать задания на определенный срок. Например, если пользователь уезжает в отпуск, то он может настроить делегирование своих заданий другому лицу на время отпуска.
При назначении задания у разработчика есть возможность указать действие, которое будет совершено по истечении какого-либо времени. Например, завершить задачу или отправлять напоминания с какой-либо периодичностью. При отправлении напоминаний NintexWorkflow учитывает рабочее время, выходные и праздники, которые могут быть заданы в настройках.
В результате получен мощный инструмент для создания рабочих процессов, главными достоинствами которого являются удобство и простота использования, расширяемость, возможность настройки практически всех параметров. А главное, возможность делать практически все эти действия, не прибегая к программированию.