Поделиться через


Пошаговое руководство. Импорт рабочего процесса 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.

Обязательные компоненты

Ниже приведены компоненты, необходимые для выполнения данного пошагового руководства.

Создайте целевые дочерние сайты SharePoint

Сначала необходимо создать два дочерних сайта SharePoint: один для размещения рабочих процессов с возможностью повторного использования, созданных в SharePoint Designer, другой для размещения преобразованных рабочих процессов.

Создание целевых дочерних сайтов SharePoint

  1. В конструкторе SharePoint 2010 в строке меню выберите Файл, Новый пустой веб-сайт.

  2. В диалоговом окне Новый пустой веб-сайт перейдите на сайт SharePoint, где хотите создать рабочий процесс, или используйте значение http://SystemName/) и затем нажмите кнопку ОК.

    Отобразится домашняя страница.

  3. В разделе дочерние сайты, нажмите кнопку Создать.

  4. В диалоговом окне Создать выберите из списка Шаблоны SharePoint в левой области и выберите Сайт группы из списка в правой области.

  5. В поле Укажите расположение веб-сайта замените ключевое слово дочерний сайт в URL-адрес с SPD1, а затем нажмите кнопку ОК.

    В SharePoint Designer откроется новый дочерний сайт.Закройте этот экземпляр SharePoint Designer и вернитесь к первому экземпляру этого приложения (на сайт верхнего уровня).

  6. Повторите шаги 3–5, чтобы создать второй дочерний сайт, но на этот раз замените слово subsite в URL-адрес на SPD2.

Создайте рабочий процесс с возможностью повторного использования в SharePoint Designer

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

Создание рабочего процесса с возможностью повторного использования в SharePoint Designer

  1. В разделе дочерние сайты выберите сайт SPD1, чтобы изменить его.

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

    Откроется мастер создания рабочего процесса с возможностью повторного использования.

  3. В поле Имя введите рабочий процесс SPD задачи.

  4. В списке Тип содержимого выберите Задача, а затем нажмите кнопку ОК.

    В конструкторе рабочих процессов SharePoint Designer откроется рабочий процесс.

  5. В конструкторе рабочих процессов, выберите шаг 1, а затем на ленте, нажмите кнопку Условие.

  6. В списке условий, выберите Если значение поля текущего элемента равно указанному значению.

    На этом шаге добавляется с именем Если поле равно значению условия.

  7. В условии Если поле равно значению выберите ссылку поле.

  8. В списке " значения " выберите Название.

  9. В условии Если поле равно значению выберите ссылку значение.

  10. В текстовом поле введите Новая задача.

    Теперь оператор условия выглядит следующим образом: Если текущее название:элемента = новая задача.

  11. Выберите линию в выпиской условия, а затем на ленте, нажмите кнопку Действие.

  12. В списке действий, выберите Задать поле в текущем элементе.

  13. В действии В поле " значение выберите ссылку поле и затем в списке выберите Кому назначено.

  14. В действии В поле " значение выберите ссылку значение и затем в списке существующих пользователей и группы, выберите команду Пользователь, который создал элемент.

  15. Нажмите кнопку Добавить, а затем нажмите кнопку ОК.

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

Сохранение и развертывание рабочего процесса с возможностью повторного использования

Поскольку Visual Studio поддерживает импорт только WSP-файлов, необходимо сохранить рабочий процесс с возможностью повторного использования в виде WSP-файла и развернуть его в SharePoint перед импортом в Visual Studio.

Важное примечаниеВажно

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

Сохранение и развертывание рабочего процесса с возможностью повторного использования

  1. В верхней части конструктора SharePoint, нажмите кнопку Сохранить, чтобы сохранить ход выполнения, а затем нажмите кнопку Опубликовать для развертывания рабочего процесса SPD1 на сайте SharePoint.

  2. В области навигации объект, выберите Рабочие процессы.

  3. В разделе Рабочий процесс для повторного использования выберите Рабочий процесс SPD задачи.

  4. На ленте нажмите кнопку Сохранение в качестве шаблона для сохранения рабочего процесса в виде wsp-файла.

  5. Откройте сайт SharePoint SPD1 в браузере для просмотра WSP-файла в SharePoint.

  6. На панели быстрого запуска выберите ссылку Библиотеки.

  7. В разделе Библиотеки документов выберите ссылку Материалы сайта.

    Файл SPD Task Workflow перечислен среди других ресурсов сайта.

  8. В списке файлов, выберите имя этого файла

  9. В диалоговом окне Загрузка файла, нажмите кнопку Сохранить, чтобы сохранить wsp-файл в локальной системе.

Импортируйте WSP-файл в Visual Studio

Импортируйте WSP-файл в Visual Studio с помощью проекта импорта рабочего процесса с возможностью повторного использования.Этот проект преобразует рабочий декларативный рабочий процесс с возможностью повторного использования в рабочий процесс с кодом.Преобразовав рабочий процесс, можно изменять его поведение с помощью кода.

Импорт рабочего процесс из WSP-файла и его редактирование

  1. В Visual Studio в строке меню выберите Файл, Создать, Проект.

  2. В диалоговом окне Создать проект разверните узел SharePoint, расположенный в области Visual C# или Visual Basic, а затем выберите узел 2010.

  3. В области Шаблоны выберите шаблон Импорт рабочего процесса SharePoint 2010 для повторного использования оставьте имя проекта в WorkflowImportProject1, а затем нажмите кнопку ОК.

    Появится окно "Мастер настройки SharePoint".

  4. На странице Укажите сайт и уровень безопасности для отладки введите URL-адрес второго дочернего сайта SharePoint, созданного ранее: http://имя_системы/SPD2.

  5. В разделе Какова степень доверия для этого решения SharePoint? выберите переключатель Развернуть как решение фермы, а затем нажмите кнопку Далее.

    Дополнительные сведения о сравнительных особенностях обезвреженных решений и решений фермы см. в разделе Замечания об обезвреженных решениях.

  6. На странице Укажите новый источник проекта перейдите к нужному в системе, где ранее сохраненной в wsp-файл, откройте файл, а затем нажмите кнопку Далее.

    ПримечаниеПримечание

    Нажмите кнопку Готово, чтобы импортировать все доступные элементы в wsp-файл.

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

  7. В поле Выберите элементы для импорта выберите рабочего процесса Рабочий процесс SPD задачи, а затем нажмите кнопку Готово.

    По завершении операции импорта создается проект WorkflowImportProject1, содержащий рабочий процесс с именем SPD_Workflow_TestFT.В этой папке содержится файл определения рабочего процесса Elements.xml и файл конструктора рабочих процессов (XOML-файл).В конструкторе содержатся два файла: файл правил (с расширением RULES) и файл с выделенным кодом (с расширением CS или VB, в зависимости от языка программирования проекта).

  8. В Обозреватель решений удалите папку Другие импортированные файлы.

  9. В файле Elements.xml, удалите InstantiationURL="_layouts/IniErkflIP.sspx".

  10. В списке Обозреватель решений выберите WorkflowImportProject1, а затем в строке меню выберите Проект, Назначить запускаемым проектом, чтобы задать для параметра WorkflowImportProject1 автозапускаемым проектом.

    Это позволяет немедленно отображать список при отладке проекта.

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

    1. В Обозреватель решений выберите узел SPD_Workflow_TestFT.

    2. Нажмите кнопку с многоточием (Эллипс конструктора ASP.NET для мобильных устройств) рядом с одним из списка свойств, например свойство Конечный список.

    3. Введите недостающие значения в мастере настройки SharePoint, а затем нажмите кнопку Готово.

  12. Выберите файл .xoml и затем в строке меню выберите Вид, Конструктор, чтобы просмотреть импортированного рабочего процесса в конструкторе рабочих процессов.

  13. В узле Windows Workflow v3.0Панель элементов выполните одно из следующих действий:

    • Открыть контекстное меню действия Код и выберите пункт Копировать.В конструкторе рабочих процессов, чтобы открыть контекстное меню для линии на действие SequenceActivity1 и выберите пункт Вставить.

    • Перетащите действие Код из окна Панель элементов в конструктор рабочих процессов и подключите его к линии на действие SequenceActivity1.

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

  14. Выполните одно из следующих действий.

    • Дважды щелкните CodeActivity1, чтобы создать обработчик событий и просмотреть код.

    • В окне Свойства в поле CodeActivity1 задайте свойству ExecuteCode значение codeActivity_ExecuteCode.

  15. Добавьте следующий код под существующие операторы using или Imports.

    Imports Microsoft.SharePoint
    Imports System
    
    using Microsoft.SharePoint;
    using System;
    
  16. Замените оператор 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, и свяжите его со списком задач, чтобы просмотреть и протестировать измененный преобразованный рабочий процесс.

Развертывание проекта и связывание рабочего процесса

  1. В Visual Studio выберите ключ F5 для запуска и развертывания преобразованного проекта рабочего процесса.

  2. На панели быстрого запуска выберите ссылку Задачи для отображения списка задач.

  3. На вкладке Список средств, нажмите кнопку Элементы, а затем нажмите кнопку Создать элемент.

    Будет открыто диалоговое окно Задачи - новый элемент.

  4. В поле Название введите новую задачу, а затем нажмите кнопку Сохранить.

  5. На вкладке Список средств, нажмите кнопку Список, а затем нажмите кнопку Параметры списка.

    Появится страница Параметры списка.

  6. В разделе Разрешения и управление выберите ссылку Параметры рабочих процессов.

    Появится страница Параметры рабочих процессов.

  7. Выберите ссылку Добавить рабочий процесс.

  8. В списке Рабочий процесс выберите WorkflowImportProject1 - тест рабочего процесса SPD.

  9. В поле Имя введите тест рабочего процесса SPD, а затем нажмите кнопку ОК.

  10. На панели быстрого запуска выберите в списке Задачи.

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

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

    ПримечаниеПримечание

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

    Обратите внимание, что рабочий процесс выполняет два действия: указывает имя пользователя в столбце задания Состояние назначения и отображает объявление в списке Announcements.

См. также

Основные понятия

Импорт элементов из существующего сайта SharePoint

Другие ресурсы

Разработка решений SharePoint

Создание многократно используемых пользовательских элементов управления для веб-частей или страниц приложений