Разработка рабочего процесса в SharePoint Designer
Дата последнего изменения: 19 апреля 2010 г.
Применимо к: SharePoint Foundation 2010
При создании рабочего процесса в описательном редакторе процессов на основе правил и без использования кода, например в Microsoft SharePoint Designer 2010, разработка осуществляется напрямую, с привязкой данных к определенному списку или библиотеке документов Microsoft SharePoint Foundation 2010. При этом используется предопределенный список действий рабочего процесса без применения кода. Создаваемый процесс не компилируется в виде сборки, а хранится в виде исходных файлов до тех пор, пока SharePoint Foundation 2010 не скомпилирует его при первом запуске.
Этот подход имеет следующие преимущества.
Рабочие процессы можно быстро разрабатывать и тестировать.
Так как процесс применяется к определенному списку, упрощаются следующие операции:
процесс развертывания;
управление вопросами безопасности.
Так как рабочие процессы не компилируются в сборки, то рабочие процессы, созданные в декларативных редакторах на основе правил и без написания кода (например, в SharePoint Designer 2010), можно развертывать на тех серверах, где политика администрирования запрещает применение сборок пользовательского кода.
Примечание |
---|
Созданные в SharePoint Designer 2010 рабочие процессы собираются из "безопасного списка" предопределенных действий, который также должен быть одобрен администраторами для запуска на серверах. |
- Рабочие процессы могут создаваться пользователями без опыта разработки, например веб-дизайнерами или специалистами по анализу.
Так как создание процесса происходит напрямую, с привязкой данных к библиотеке документов, то созданные в SharePoint Designer 2010 процессы отличаются от созданных с помощью конструктора Visual Studio по следующим параметрам.
Созданный в SharePoint Designer 2010 рабочий процесс невозможно развернуть в несколько списков. Он действителен только для того списка, для которого создавался.
Так как создание рабочего процесса происходит напрямую с учетом списка, то процесс связывается со списком уже на стадии разработки. Таким образом, созданные в SharePoint Designer 2010 рабочие процессы не имеют стадии сопоставления.
Созданные в SharePoint Designer 2010 рабочие процессы не подлежат редактированию.
Создание процесса для типа контента в SharePoint Designer 2010 невозможно.
Подробное сравнение SharePoint Designer 2010 и конструктора Visual Studio см. в разделе Сравнение средств для разработки рабочих процессов.
Запуск нескомпилированных рабочих процессов
Так как процессы, созданные в описательном редакторе на основе правил (например в SharePoint Designer 2010) не содержат пользовательского кода, то они не подлежат компиляции и развертыванию в виде сборок. Они хранятся в виде исходных файлов внутри SharePoint Foundation 2010 и компилируются в память при необходимости.
Такие рабочие процессы хранятся в отдельных библиотеках документов для каждого веб-сайта. Подобная библиотека документов содержит по папке для каждого процесса, созданного в SharePoint Designer 2010. Эта папка содержит все исходные файлы, необходимые для процесса, в том числе следующие:
файл разметки рабочего процесса;
файл правил рабочего процесса;
ASPX-формы для всех требуемых пользовательских форм процесса.
В состав SharePoint Foundation 2010 входит компилятор Just-in-time, позволяющий выполнять компиляцию исходных файлов рабочего процесса при первом запуске процесса в элементе. SharePoint Foundation 2010 сохраняет скомпилированный процесс в памяти до момента его повторного вызова. Это поведение во многом похоже на поведение сервера, который кэширует скомпилированные страницы ASPX для ускорения выполнения при следующем вызове страницы.
При каждом запуске рабочего процесса в элементе SharePoint Foundation 2010 определяет, как выполнялось развертывание процесса: в виде сборки или в виде исходных файлов. Если существует сборка рабочего процесса, то SharePoint Foundation 2010 вызывает эту сборку для создания экземпляра процесса. Если процесс был развернут в виде исходных файлов, то SharePoint Foundation 2010 определяет, не находится ли уже скомпилированный из исходных файлов процесс в памяти. Если процесс обнаружен, то SharePoint Foundation 2010 вызывает его для создания экземпляра процесса. В противном случае SharePoint Foundation 2010 использует компилятор Just-in-time для компиляции исходных файлов и помещения рабочего процесса в память. Затем этот процесс вызывается для создания экземпляра.
Создание рабочих процессов с помощью SharePoint Designer
SharePoint Designer 2010 использует интерфейс на основе мастеров, позволяющий пользователям собирать последовательные рабочие процессы из предопределенных действий. Пользователи выбирают действия в предопределенном списке и настраивают их с помощью интерфейса SharePoint Designer 2010. Эти действия могут совпадать с действиями, представленными в Конструктор рабочих процессов Visual Studio 2010, различия в действиях этих двух инструментов не существует.
Но в SharePoint Designer 2010 каждое действие представляется предложением, содержащим переменные, которые пользователь может настроить с помощью раскрывающихся меню и диалоговых окон подстановки. Пользователи также могут выбрать условия, являющиеся настраиваемыми условными предложениями, определяющими ход рабочего процесса.
Когда пользователь выбирает и настраивает условия и действия в интерфейсе рабочего процесса, SharePoint Designer 2010 создает два файла, фактически представляющие класс рабочего процесса:
файл разметки рабочего процесса, содержащий язык разметки, описывающий действия, включенные в рабочий процесс;
файл правил рабочего процесса, содержащий бизнес-логику рабочего процесса в виде декларативных правил, а не кода.
Добавление настраиваемых действий и условий
Так как авторы рабочих процессов в SharePoint Designer 2010 не могут создавать настраиваемые действия для использования в своих рабочих процессах, они ограничены действиями и условиями, которые разработчик сделал доступными в "безопасном списке" (который также должен быть утвержден администратором сервера), появляющемся в SharePoint Designer 2010. Разработчики могут создавать настраиваемые действия и условия, а также делать их доступными в безопасном списке.
Условие — это настраиваемая сборка со статическим методом, который при вызове оценивает условие и возвращает значение типа Boolean.
Чтобы сделать действия и условия доступными в безопасном списке:
создайте действие или условие, скомпилируйте его как сборку со строгим именем и разверните ее в глобальный кэш сборок;
добавьте действие или условие в список безопасных действий в файле web.config.
В файле WSS.Actions, находящемся в папке рабочего процесса, добавьте правила и параметры для предложения, представляющего действие или условие в пользовательском интерфейсе SharePoint Designer 2010. Это язык разметки, который определяет, как действие или условие выглядит и выполняется в интерфейсе, так как эти данные не представлены в самой сборки действия или условия.
Дополнительные сведения о развертывании настраиваемых действий и условий см. в справке SharePoint Designer 2010.
Создание форм ASP.NET в SharePoint Designer
Начальную стадию рабочего процесса можно создать в SharePoint Designer 2010. В этом случае SharePoint Designer 2010 использует ASP.NET, для автоматического создания формы запуска в соответствии со спецификациями запуска.
Аналогично, можно создать настраиваемые задачи Microsoft SharePoint Foundation 2010 для рабочего процесса. И снова, SharePoint Designer 2010 автоматически создает для задачи форму ASP.NET в соответствии с заданными спецификациями.
Эти ASPX-формы хранятся на веб-сайте SharePoint вместе с исходными файлами рабочих процессов. Их можно открыть и настроить, как и любую другую ASPX-форму.
См. также
Концепции
Разработка рабочих процессов для SharePoint Foundation
Сравнение средств для разработки рабочих процессов
Обзор рабочего процесса SharePoint Designer
Разработка рабочих процессов в среде разработки Visual Studio