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


Пошаговое руководство. Создание и отладка решения рабочих процессов SharePoint

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

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

  • Создание проекта определения списка последовательного рабочего процесса SharePoint в Visual Studio.

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

  • Обработка событий действий рабочего процесса.

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

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

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

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

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

Добавление свойств в библиотеку общих документов SharePoint

Чтобы отслеживать состояние рецензирования документов в библиотеке Общие документы, создадим три новых свойства для общих документов на сайте SharePoint: Status, Assignee и Review Comments.Определим эти свойства в библиотеке Общие документы.

Добавление свойств в библиотеку общих документов SharePoint

  1. Откройте в веб-браузере сайт SharePoint, например http://<имя_системы>/SitePages/Home.aspx.

  2. На панели быстрого Запуска выберите общиеДокументы.

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

  4. Назовите состояния документа столбца, типом *** Выбор (меню для выбора) *** укажите следующие 3 выбора, а затем нажмите кнопку ОК:

    • Требуется рецензирование

    • Рецензирование завершено

    • Запрос изменений

  5. Создайте еще два столбца и присвойте им имена Уполномоченный и Комментарии.Для столбца "Уполномоченный" задайте тип "однострочный текст", а для столбца "Комментарии" — "многострочный текст".

Включение редактирования документов без необходимости их извлечения

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

Включение редактирования документов без извлечения

  1. На панели быстрого Запуска, выберите ссылку Общие документы.

  2. На ленте *** средства библиотеки *** выберите вкладку Библиотека, а затем нажмите кнопку *** параметры библиотеки ***, чтобы отобразить страницу *** параметры библиотеки документов ***.

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

  4. Убедитесь, что в поле Требовать извлечения документов перед редактированием? выбрано Нет.Если нет, измените его в *** нет *** а затем нажмите кнопку ОК.

  5. Закройте браузер.

Создание проекта последовательного рабочего процесса SharePoint

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

Создание проекта последовательного рабочего процесса SharePoint

  1. Запустите Visual Studio.

  2. В строке меню выберите Файл, Создать, Проект для отображения диалогового окна Создать проект.

  3. Разверните узел SharePoint под или *** Visual C# *** или Visual Basic, а затем выберите узел 2010.

  4. В панели Шаблоны выберите шаблон Проект SharePoint 2010.

  5. В окне Имя введите MySharePointWorkflow а затем кнопку ОК.

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

  6. На странице Укажите сайт и уровень безопасности для отладки выберите переключатель Развернуть как решение фермы, а затем нажмите кнопку Готово для принятия уровень доверия и по умолчанию сайт.

    На этом этапе для решения задается уровень доверия "решение фермы" — единственно возможный вариант для проектов рабочего процесса.Дополнительные сведения см. в разделе Замечания об обезвреженных решениях.

  7. В Обозреватель решений выберите узел проекта, а затем в строке меню выберите Проект, Добавление нового элемента.

  8. В группе или *** Visual C# *** или Visual Basic разверните узел SharePoint, а затем выберите узел 2010.

  9. В панели Шаблоны выберите шаблон *** Последовательный рабочий процесс (решение фермы) ***, а затем нажмите кнопку Добавить.

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

  10. На странице Имя рабочего процесса для отладки нажмите кнопку "Далее", чтобы принять имя по умолчанию (MySharePointWorkflow - Workflow1).Оставьте значение по умолчанию для типа шаблона рабочего процесса, Рабочий процесс списка, а затем нажмите кнопку Далее.

  11. На странице *** Пользователь, такими как Visual Studio автоматически связать рабочий процесс отладки сеанса? ***, нажмите кнопку Далее принимать все параметры по умолчанию.

    На этом этапе рабочий процесс автоматически связывается с библиотекой "Общие документы".

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

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

Создание действий рабочего процесса

Рабочие процессы содержат одно или несколько выполняемых действий.Действия в рабочем процессе можно организовать с помощью конструктора рабочих процессов.В этой процедуре в рабочий процесс будут добавлены два действия: HandleExternalEventActivity и OnWorkFlowItemChanged.Эти действия отслеживают состояние рецензирования документов в списке Общие документы

Создание действий рабочего процесса

  1. Процесс должен быть открыт в конструкторе рабочих процессов.Если это не так, то открыть или Workflow1.cs или *** Workflow1.vb *** в Обозреватель решений.

  2. В конструкторе выберите действие onWorkflowActivated1.

  3. В окне Свойства введите onWorkflowActivated рядом с свойством *** Вызывается ***, а затем выберите входной ключ.

    Откроется редактор кода, и в файл кода Workflow1 будет добавлен обработчик событий onWorkflowActivated.

  4. В конструкторе рабочих процессов откройте панель элементов и разверните узел Рабочий процесс Windows версии 3.0.

  5. В узле *** рабочий процесс v3.0 окон ***Панель элементов, выполните одно из следующих действий:

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

    2. Перетащите действие *** пока *** из Панель элементов в конструктор рабочего процесса и подключите работа на линии под действием *** onWorkflowActivated1 ***.

  6. Выберите действие whileActivity1.

  7. В окне Свойства, установите Условие для реализованы условие.

  8. Разверните свойство Условие введите isWorkflowPending рядом с свойством Условие дочернего элемента, а затем выберите входной ключ.

    Откроется редактор кода, и в файл кода Workflow1 будет добавлен метод isWorkflowPending.

  9. В конструкторе рабочих процессов откройте панель элементов и разверните узел Рабочий процесс SharePoint.

  10. В узле Рабочий процесс SharePointПанель элементов, выполните одно из следующих действий:

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

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

  11. Выберите действие onWorkflowItemChanged1.

  12. В окне Свойства задайте значения свойств, указанные в следующей таблице.

    Свойство.

    Значение

    CorrelationToken

    workflowToken

    Invoked

    onWorkflowItemChanged

Обработка событий действий

Последний шаг — проверка состояния документа в каждом действии.Если документ рецензирован, рабочий процесс завершается.

Обработка событий действий

  1. В файле Workflow1.cs или Workflow1.vb добавьте следующее поле над классом Workflow1.При выполнении действия с помощью этого поля определяется, завершен ли рабочий процесс.

    Dim workflowPending As Boolean = True
    
    Boolean workflowPending = true;
    
  2. Добавьте приведенный ниже метод в класс Workflow1.Данный метод выполняет проверку значения свойства Document Status списка документов, чтобы определить, выполнялось ли рецензирование документа.Если свойство Document Status имеет значение Review Complete, метод checkStatus присваивает полю workflowPending значение false, чтобы указать, что рабочий процесс готов к завершению.

    Private Sub checkStatus()
        If CStr(workflowProperties.Item("Document Status")) = "Review Complete" Then
            workflowPending = False
        End If
    End Sub 
    
    private void checkStatus()
    {
        if ((string)workflowProperties.Item["Document Status"] == "Review Complete")
        workflowPending = false;
    }
    
  3. Для вызова метода checkStatus необходимо добавить в методы onWorkflowActivated и onWorkflowItemChanged приведенный ниже код.При запуске рабочего процесса метод onWorkflowActivated вызывает метод checkStatus, чтобы определить, было ли уже выполнено рецензирование документа.Если рецензирование документа не производилось, рабочий процесс продолжает работу.При сохранении документа метод onWorkflowItemChanged вызывает метод checkStatus, чтобы определить, было ли уже выполнено рецензирование документа.Пока поле workflowPending имеет значение true, рабочий процесс продолжает работу.

    Private Sub onWorkflowActivated(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ExternalDataEventArgs)
        checkStatus()
    End Sub
    
    Private Sub onWorkflowItemChanged(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ExternalDataEventArgs)
        checkStatus()
    End Sub
    
    private void onWorkflowActivated(object sender, ExternalDataEventArgs e)
    {
        // Check the status.
        checkStatus();
    }
    
    private void onWorkflowItemChanged(object sender, ExternalDataEventArgs e)
    {
        // Check the status.
        checkStatus();
    }
    
  4. Добавьте следующий код в метод isWorkflowPending, чтобы проверить состояние свойства workflowPending.При каждом сохранении документа действие whileActivity1 вызывает метод isWorkflowPending.Этот метод проверяет свойство Result объекта ConditionalEventArgs, чтобы определить, должно ли действие WhileActivity1 продолжать работу или завершиться.Если свойство имеет значение true, действие продолжает свою работу.В противном случае действие завершается; также завершается рабочий процесс.

    Private Sub isWorkflowPending(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ConditionalEventArgs)
        e.Result = workflowPending
    End Sub
    
    private void isWorkflowPending(object sender, ConditionalEventArgs e)
    {
        e.Result = workflowPending;
    }
    
  5. Сохраните проект.

Тестирование шаблона рабочего процесса SharePoint

При запуске отладчика Visual Studio развертывает шаблон рабочего процесса в сервере SharePoint и связывает рабочий процесс со списком Общие документы.Чтобы протестировать рабочий процесс, запустите экземпляр рабочего процесса из документа в списке Общие документы.

Тестирование шаблона рабочего процесса SharePoint

  1. В файле Workflow1.cs или Workflow1.vb установите точку останова после метода onWorkflowActivated.

  2. Выберите ключ F5 для построения и выполнения решения.

    Открывается сайт SharePoint.

  3. В области навигации в SharePoint выберите ссылку Общие документы.

  4. На странице Общие документы выберите ссылку Документы на вкладке *** средства библиотеки ***, а затем нажмите кнопку Отправить документ.

  5. В диалоговом окне Отправить документ, нажмите кнопку Обзор выберите любой файл документа, нажмите кнопку Открыть, а затем нажмите кнопку ОК.

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

  6. В Visual Studio следует убедиться, что отладчик остановился в точке останова рядом с методом onWorkflowActivated.

  7. Выберите ключ F5, чтобы продолжить выполнение.

  8. Можно изменить параметры для документа, но оставить их на значения по умолчанию для теперь с помощью кнопки Сохранить.

    В результате вы вернетесь на страницу Общие документы для веб-сайта SharePoint по умолчанию.

  9. На странице Общие документы , убедитесь, что значение в столбце *** MySharePointWorkflow – Workflow1 *** установлено в *** выполняется ***.Это означает, что рабочий процесс выполняется, и документ ожидает рецензирования.

  10. На странице Общие документы выберите документ выберите стрелку, которая появится, а затем выберите пункт меню *** свойства правки ***.

  11. Установите *** состояние документа *** к *** Анализ полное ***, а затем нажмите кнопку Сохранить.

    В результате вы вернетесь на страницу Общие документы для веб-сайта SharePoint по умолчанию.

  12. На странице Общие документы , убедитесь, что значение в столбце *** состояние документа *** установлено в *** Анализ полное ***.Обновите страницу Общие документы и убедитесь, что значение в столбце *** MySharePointWorkflow – Workflow1 *** установлено в Завершено.Это означает, что рабочий процесс завершился, и рецензирование документа было выполнено.

Следующие действия

Дополнительные сведения о создании шаблонов рабочих процессов см. в следующих разделах:

См. также

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

Создание решений рабочих процессов SharePoint

Шаблоны проектов и элементов проектов SharePoint

Построение и отладка решений SharePoint