Пошаговое руководство. Импорт рабочего процесса SharePoint Designer с возможностью повторного использования в Visual Studio
В этом пошаговом руководстве показано, как импортировать рабочий процесс с возможностью повторного использования, созданный с помощью SharePoint Designer 2010, в проект рабочего процесса Visual Studio SharePoint.
Рабочие процессы, созданные с помощью SharePoint Designer, или декларативные рабочие процессы, составляются из XML-операторов, а не из кода.В SharePoint Designer 2010 добавлена поддержка рабочих процессов с возможностью повторного использования — портативных декларативных рабочих процессов, которые можно использовать в различных списках на сайтах SharePoint.
Рабочие процессы, созданные в Visual Studio 2012, например последовательных рабочих процессов и конечного компьютера, называются рабочими процессами кода.Рабочие процессы с кодом состоят из XML-файлов и модулей кода, которые пользователи могут изменять, чтобы настраивать поведение рабочих процессов.
Visual Studio позволяет, чтобы повторно импортировать рабочие процессы, созданные в конструкторе SharePoint 2010 и преобразование их к рабочим процессом кода для использования на сайтах SharePoint.
В этом пошаговом руководстве показано выполнение следующих задач.
Создание простого рабочего процесса с возможностью повторного использования в SharePoint Designer.
Экспорт рабочего процесса SharePoint Designer с возможностью повторного использования в WSP-файл и в SharePoint.
Импорт WSP-файла в Visual Studio с помощью проекта импорта рабочего процесса для повторного использования.
Изменение рабочего процесса путем добавления кода.
Использование импортированного рабочего процесса на сайте SharePoint.
Примечание |
---|
На вашем компьютере названия некоторых элементов интерфейса пользователя Visual Studio или их расположение могут отличаться от указанных в нижеследующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Обязательные компоненты
Ниже приведены компоненты, необходимые для выполнения данного пошагового руководства.
Поддерживаемые выпуски Microsoft Windows и SharePoint.Дополнительные сведения см. в разделе Требования по разработке решений SharePoint;
Visual Studio.
Microsoft Office SharePoint Designer 2010.
Создайте целевые дочерние сайты SharePoint
Сначала необходимо создать два дочерних сайта SharePoint: один для размещения рабочих процессов с возможностью повторного использования, созданных в SharePoint Designer, другой для размещения преобразованных рабочих процессов.
Создание целевых дочерних сайтов SharePoint
В конструкторе SharePoint 2010 в строке меню выберите Файл, Новый пустой веб-сайт.
В диалоговом окне Новый пустой веб-сайт перейдите на сайт SharePoint, где хотите создать рабочий процесс, или используйте значение http://SystemName/) и затем нажмите кнопку ОК.
Отобразится домашняя страница.
В разделе дочерние сайты, нажмите кнопку Создать.
В диалоговом окне Создать выберите из списка Шаблоны SharePoint в левой области и выберите Сайт группы из списка в правой области.
В поле Укажите расположение веб-сайта замените ключевое слово дочерний сайт в URL-адрес с SPD1, а затем нажмите кнопку ОК.
В SharePoint Designer откроется новый дочерний сайт.Закройте этот экземпляр SharePoint Designer и вернитесь к первому экземпляру этого приложения (на сайт верхнего уровня).
Повторите шаги 3–5, чтобы создать второй дочерний сайт, но на этот раз замените слово subsite в URL-адрес на SPD2.
Создайте рабочий процесс с возможностью повторного использования в SharePoint Designer
Поскольку в SharePoint нет рабочего процесса с возможностью повторного использования, который можно применить в этом примере, необходимо его создать.В этом простом примере рабочего процесса когда пользователь создает задачу в списке задач с определенным названием, эта задача назначается этому пользователю.
Создание рабочего процесса с возможностью повторного использования в SharePoint Designer
В разделе дочерние сайты выберите сайт SPD1, чтобы изменить его.
На ленте нажмите кнопку Рабочий процесс для повторного использования.
Откроется мастер создания рабочего процесса с возможностью повторного использования.
В поле Имя введите рабочий процесс SPD задачи.
В списке Тип содержимого выберите Задача, а затем нажмите кнопку ОК.
В конструкторе рабочих процессов SharePoint Designer откроется рабочий процесс.
В конструкторе рабочих процессов, выберите шаг 1, а затем на ленте, нажмите кнопку Условие.
В списке условий, выберите Если значение поля текущего элемента равно указанному значению.
На этом шаге добавляется с именем Если поле равно значению условия.
В условии Если поле равно значению выберите ссылку поле.
В списке " значения " выберите Название.
В условии Если поле равно значению выберите ссылку значение.
В текстовом поле введите Новая задача.
Теперь оператор условия выглядит следующим образом: Если текущее название:элемента = новая задача.
Выберите линию в выпиской условия, а затем на ленте, нажмите кнопку Действие.
В списке действий, выберите Задать поле в текущем элементе.
В действии В поле " значение выберите ссылку поле и затем в списке выберите Кому назначено.
В действии В поле " значение выберите ссылку значение и затем в списке существующих пользователей и группы, выберите команду Пользователь, который создал элемент.
Нажмите кнопку Добавить, а затем нажмите кнопку ОК.
Теперь оператор действия выглядит следующим образом Задать полю "Состояние назначения" значение "Пользователь, создавший текущий элемент".
Сохранение и развертывание рабочего процесса с возможностью повторного использования
Поскольку Visual Studio поддерживает импорт только WSP-файлов, необходимо сохранить рабочий процесс с возможностью повторного использования в виде WSP-файла и развернуть его в SharePoint перед импортом в Visual Studio.
Важно |
---|
Если в ходе этой процедуры возникает ошибка среды выполнения, необходимо выполнить ее в системе с доступом к сайту SharePoint. |
Сохранение и развертывание рабочего процесса с возможностью повторного использования
В верхней части конструктора SharePoint, нажмите кнопку Сохранить, чтобы сохранить ход выполнения, а затем нажмите кнопку Опубликовать для развертывания рабочего процесса SPD1 на сайте SharePoint.
В области навигации объект, выберите Рабочие процессы.
В разделе Рабочий процесс для повторного использования выберите Рабочий процесс SPD задачи.
На ленте нажмите кнопку Сохранение в качестве шаблона для сохранения рабочего процесса в виде wsp-файла.
Откройте сайт SharePoint SPD1 в браузере для просмотра WSP-файла в SharePoint.
На панели быстрого запуска выберите ссылку Библиотеки.
В разделе Библиотеки документов выберите ссылку Материалы сайта.
Файл SPD Task Workflow перечислен среди других ресурсов сайта.
В списке файлов, выберите имя этого файла
В диалоговом окне Загрузка файла, нажмите кнопку Сохранить, чтобы сохранить wsp-файл в локальной системе.
Импортируйте WSP-файл в Visual Studio
Импортируйте WSP-файл в Visual Studio с помощью проекта импорта рабочего процесса с возможностью повторного использования.Этот проект преобразует рабочий декларативный рабочий процесс с возможностью повторного использования в рабочий процесс с кодом.Преобразовав рабочий процесс, можно изменять его поведение с помощью кода.
Импорт рабочего процесс из WSP-файла и его редактирование
В Visual Studio в строке меню выберите Файл, Создать, Проект.
В диалоговом окне Создать проект разверните узел SharePoint, расположенный в области Visual C# или Visual Basic, а затем выберите узел 2010.
В области Шаблоны выберите шаблон Импорт рабочего процесса SharePoint 2010 для повторного использования оставьте имя проекта в WorkflowImportProject1, а затем нажмите кнопку ОК.
Появится окно "Мастер настройки SharePoint".
На странице Укажите сайт и уровень безопасности для отладки введите URL-адрес второго дочернего сайта SharePoint, созданного ранее: http://имя_системы/SPD2.
В разделе Какова степень доверия для этого решения SharePoint? выберите переключатель Развернуть как решение фермы, а затем нажмите кнопку Далее.
Дополнительные сведения о сравнительных особенностях обезвреженных решений и решений фермы см. в разделе Замечания об обезвреженных решениях.
На странице Укажите новый источник проекта перейдите к нужному в системе, где ранее сохраненной в wsp-файл, откройте файл, а затем нажмите кнопку Далее.
Примечание Нажмите кнопку Готово, чтобы импортировать все доступные элементы в wsp-файл.
Отображается список рабочих процессов с возможностью повторного использования, доступных для импорта.
В поле Выберите элементы для импорта выберите рабочего процесса Рабочий процесс SPD задачи, а затем нажмите кнопку Готово.
По завершении операции импорта создается проект WorkflowImportProject1, содержащий рабочий процесс с именем SPD_Workflow_TestFT.В этой папке содержится файл определения рабочего процесса Elements.xml и файл конструктора рабочих процессов (XOML-файл).В конструкторе содержатся два файла: файл правил (с расширением RULES) и файл с выделенным кодом (с расширением CS или VB, в зависимости от языка программирования проекта).
В Обозреватель решений удалите папку Другие импортированные файлы.
В файле Elements.xml, удалите InstantiationURL="_layouts/IniErkflIP.sspx".
В списке Обозреватель решений выберите WorkflowImportProject1, а затем в строке меню выберите Проект, Назначить запускаемым проектом, чтобы задать для параметра WorkflowImportProject1 автозапускаемым проектом.
Это позволяет немедленно отображать список при отладке проекта.
Поскольку в шаблоне Импорт рабочего процесса SharePoint 2010 для повторного использования не импортирует значения свойств ассоциации для импортированного рабочего процесса, необходимо ввести их.Описание процедуры
В Обозреватель решений выберите узел SPD_Workflow_TestFT.
Нажмите кнопку с многоточием () рядом с одним из списка свойств, например свойство Конечный список.
Введите недостающие значения в мастере настройки SharePoint, а затем нажмите кнопку Готово.
Выберите файл .xoml и затем в строке меню выберите Вид, Конструктор, чтобы просмотреть импортированного рабочего процесса в конструкторе рабочих процессов.
В узле Windows Workflow v3.0Панель элементов выполните одно из следующих действий:
Открыть контекстное меню действия Код и выберите пункт Копировать.В конструкторе рабочих процессов, чтобы открыть контекстное меню для линии на действие SequenceActivity1 и выберите пункт Вставить.
Перетащите действие Код из окна Панель элементов в конструктор рабочих процессов и подключите его к линии на действие SequenceActivity1.
В результате в конструкторе рабочих процессов добавится действие CodeActivity1.В это действие необходимо добавить код, создающий список Announcements при запуске рабочего процесса пользователем.
Выполните одно из следующих действий.
Дважды щелкните CodeActivity1, чтобы создать обработчик событий и просмотреть код.
В окне Свойства в поле CodeActivity1 задайте свойству ExecuteCode значение codeActivity_ExecuteCode.
Добавьте следующий код под существующие операторы using или Imports.
Imports Microsoft.SharePoint Imports System
using Microsoft.SharePoint; using System;
Замените оператор codeActivity1_ExecuteCode следующим кодом:
Private Sub codeActivity1_ExecuteCode(ByVal sender As System.Object, ByVal e As System.EventArgs) Try ' Get reference to SharePoint site. Dim site As SPSite = New SPSite("http://MyServer") Dim web As SPWeb = site.OpenWeb("SPD2/") ' Get reference to Announcements list. Dim announcementsList As SPList = web.Lists("Announcements") ' Add announcement to Announcements list for the Task. Dim oListItem As SPListItem = announcementsList.Items.Add oListItem("Title") = ("Assigned task on " + DateTime.Now.ToString) oListItem.Update() Catch err As Exception Console.WriteLine(("Error: " + err.ToString)) End Try End Sub
private void codeActivity1_ExecuteCode(object sender, System.EventArgs e) { try { // Get reference to SharePoint site. SPSite site = new SPSite("http://MyServer"); SPWeb web = site.OpenWeb("SPD2/"); // Get reference to Announcements list. SPList announcementsList = web.Lists["Announcements"]; // Add announcement to Announcements list for the Task. SPListItem oListItem = announcementsList.Items.Add(); oListItem["Title"] = "Assigned task on " + DateTime.Now.ToString(); oListItem.Update(); } catch (Exception err) { Console.WriteLine("Error: " + err.ToString()); } }
Выполните развертывание проекта и связывание рабочего процесса
Теперь запустите проект WorkflowImportProject1, чтобы развернуть его на сайте SharePoint, и свяжите его со списком задач, чтобы просмотреть и протестировать измененный преобразованный рабочий процесс.
Развертывание проекта и связывание рабочего процесса
В Visual Studio выберите ключ F5 для запуска и развертывания преобразованного проекта рабочего процесса.
На панели быстрого запуска выберите ссылку Задачи для отображения списка задач.
На вкладке Список средств, нажмите кнопку Элементы, а затем нажмите кнопку Создать элемент.
Будет открыто диалоговое окно Задачи - новый элемент.
В поле Название введите новую задачу, а затем нажмите кнопку Сохранить.
На вкладке Список средств, нажмите кнопку Список, а затем нажмите кнопку Параметры списка.
Появится страница Параметры списка.
В разделе Разрешения и управление выберите ссылку Параметры рабочих процессов.
Появится страница Параметры рабочих процессов.
Выберите ссылку Добавить рабочий процесс.
В списке Рабочий процесс выберите WorkflowImportProject1 - тест рабочего процесса SPD.
В поле Имя введите тест рабочего процесса SPD, а затем нажмите кнопку ОК.
На панели быстрого запуска выберите в списке Задачи.
Нажмите стрелку рядом с кнопкой Новая задача, а затем в списке выберите Рабочие процессы.
В разделе Запуск нового рабочего процесса выберите ссылку для Тест рабочего процесса SPD, а затем нажмите кнопку Запуск, чтобы начать рабочего процесса.
Примечание Также можно автоматически связать рабочий процесс со списком, запустив мастер параметров рабочего процесса и указав автоматическое связывание рабочего процесса.
Обратите внимание, что рабочий процесс выполняет два действия: указывает имя пользователя в столбце задания Состояние назначения и отображает объявление в списке Announcements.
См. также
Основные понятия
Импорт элементов из существующего сайта SharePoint