Глава 6. Рабочие процессы в SharePoint 2010. Visual Studio 2010

Это статья серии “Введение в SharePoint 2010

В первой части главы шла речь о создании рабочих процессов в браузере, во второй – в Visio 2010 и SharePoint Designer 2010.

В этой части руководства идет речь о создании рабочих процессов в Visual Studio 2010

Создание в Visual Studio 2010

По умолчанию в Visual Studio 2010 можно создать несколько типов проектов, связанных с рабочими процессами:

  • Последовательные рабочие процессы – представляют собой процессы, когда действия в нем исполняются пошагово. Например, это можно было видеть при создании рабочих процессов выше;
  • Рабочий процесс конечного автомата – рабочий процесс может находиться в нескольких состояниях, и переход между ними осуществляется по определенным правилам;
  • Импорт рабочего процесса для повторного использования – импорт рабочего процесса из WSP-файла. Например, можно экспортировать рабочий процесс, созданный в SharePoint Designer 2010.

Рассмотрим создание последовательного рабочего процесса, для чего в Visual Studio 2010 создадим соответствующий проект (рис. 6.16), при этом нужно не забыть выбрать .NET Framework 3.5.

image

Рис. 6.16. Типы проектов для SharePoint 2010 в Visual Studio 2010

Далее появляется диалоговое окно, в котором нужно указать адрес сайта, на котором будет развернут рабочий процесс. Указываем адрес и нажимаем на Далее.

В следующем окне (рис. 6.17) нужно ввести название рабочего процесса, и указать его тип. По готовности кликнуть на Далее.

image

Рис. 6.17. Определение названия рабочего процесса и его типа

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

image

Рис. 6.18. Параметры рабочего процесса для журнала и задач рабочего процесса

В последнем при создании окне выбрать тип запуска рабочего процесса, и кликнуть на Готово, после чего откроется рабочая область для создания рабочего процесса (рис. 6.19).

image

Рис. 6.19. Рабочая область для создания рабочих процессов в Visual Studio 2010

Как мы видим, на панели инструментов доступны некоторые готовые действия. Перетащим действие по отправке электронного сообщения (рис. 6.20). После чего по двойному клику на только что добавленном элементе переходим в его исходный код.

image

Рис. 6.20. Диаграмма рабочего процесса в Visual Studio 2010

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

  1. SPSite site = new SPSite(“Адрес сайта”);
  2. SPWeb web = site.OpenWeb();
  3. SPGroup group = web.Groups[“Название группы
  4.  
  5. string bookTitle = workflowProperties.Item.Fields[“Название”].ToString();
  6. string bookAuthor = workflowProperties.Item.Fields[“Автор”].ToString();
  7.  
  8. string mailBody = “”;
  9.  
  10. foreach (SPUser user in group.Users)
  11. {
  12.     mailBody = “В библиотеку поступила новая книга. “ +
  13.     “Название – “ + bookTitle +
  14.     “. Автор – “ + bookAuthor +
  15.     “.”;
  16.  
  17.     SPUtility.SendEmail(web, false, false, user.Email, “Поступление новой книги”, mailBody);
  18. }

В данном случае для получения сведений об авторе книги и ее названии мы обращаемся к контексту рабочего процесса, в котором хранится информация об элементе списка, для которого он запущен.

Таким образом, рабочий процесс можно считать готовым, остается его развернуть, для чего кликаем правой кнопкой на проекте, и выбираем Развертывание.

Заключение

Итак, в этой статье мы говорили про рабочие процессы в SharePoint 2010, в том числе рассматривали инструменты для их создания.

Уже на простых примерах видна разница в возможностях различных инструментов для создания рабочих процессов. Подробные различия можно узнать в таблице Сравнение средств для разработки рабочих процессов.

В следующей статье рассматривается интеграция с офисными приложениями

One thought on “Глава 6. Рабочие процессы в SharePoint 2010. Visual Studio 2010

  1. Добрый день.
    Только начинаю изучение SharePoint .
    Пытаюсь реализовать ваш пример, но не понимаю как опубликовать класс SPUtility, чтобы ушла ошибка ” The name ‘SPUtility’ does not exist in the current context c”

Leave a reply to Наталья Cancel reply