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


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

В этом пошаговом руководстве показано, как импортировать повторно используемый рабочий процесс, созданный в SharePoint Designer 2010, в проект рабочего процесса SharePoint Visual Studio.

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

Рабочие процессы, созданные в Visual Studio 2012, такие как последовательные и рабочие процессы компьютера состояния, называются рабочими процессами кода. Рабочие процессы кода состоят из XML-файлов и модулей кода, в которых пользователи могут настраивать поведение рабочего процесса.

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

В этом пошаговом руководстве демонстрируются следующие задачи:

  • Создание простого повторного рабочего процесса в SharePoint Designer.

  • Экспорт повторно используемых рабочих процессов SharePoint Designer в WSP-файл и в SharePoint.

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

  • Изменение рабочего процесса путем добавления кода.

  • Использование импортированного рабочего процесса на сайте SharePoint.

    Примечание.

    Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Персонализация среды IDE.

Необходимые компоненты

Для выполнения этого пошагового руководства требуются следующие компоненты:

  • Поддерживаемые редакции Microsoft Windows и SharePoint.

  • Visual Studio.

  • Microsoft Office SharePoint Designer 2010.

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

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

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

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

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

    Откроется домашняя страница.

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

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

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

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

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

Создание повторно используемых рабочих процессов SharePoint Designer

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

Создание повторно используемых рабочих процессов SharePoint Designer

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

  2. На ленте нажмите кнопку "Повторно используемый рабочий процесс ".

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

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

  4. В списке "Тип контента" нажмите кнопку "Задача" и нажмите кнопку "ОК ".

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

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

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

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

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

  8. В списке значений выберите Title.

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

  10. В поле введите новую задачу.

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

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

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

  13. В поле "Задать значение" выберите ссылку поля, а затем в списке выберите "Назначено".

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

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

    Теперь инструкция действия считывает набор назначенных текущему элементу:CreateBy.

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

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

Важно!

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

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

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

  2. В области навигации выберите объект Workflows .

  3. В разделе "Повторно используемый рабочий процесс" выберите рабочий процесс задачи SPD.

  4. На ленте нажмите кнопку "Сохранить как шаблон ", чтобы сохранить рабочий процесс в виде WSP-файла .

  5. Откройте сайт SharePoint SPD1 в браузере, чтобы просмотреть WSP-файл в SharePoint.

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

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

    Файл рабочего процесса задачи SPD отображается с другими ресурсами сайта.

  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. В xml-файле Elements.xml удалите файлInstantiationURL="_layouts/IniErkflIP.sspx".

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

    Этот список отображается сразу при отладке проекта.

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

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

    2. Нажмите кнопку с многоточием (ASP.NET Mobile Designer ellipse) рядом с одним из свойств списка, например свойство Target List .

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

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

  13. В узле рабочего процесса Windows версии 3.0 панели элементов выполните одно из следующих действий:

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

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

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

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

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

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

  15. Добавьте следующие элементы в существующие директивы using или Import :

    using Microsoft.SharePoint;
    using System;
    
  16. Замените следующим образом codeActivity1_ExecuteCode :

    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 и нажмите кнопку "Пуск", чтобы инициировать рабочий процесс.

    Примечание.

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

    Обратите внимание, что два действия выполняются рабочим процессом: ваше имя отображается в столбце "Назначено" задачи, а объявление отображается в списке объявлений.