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


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

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

Дата последнего изменения: 13 апреля 2011 г.

Применимо к: SharePoint Foundation 2010

Доступно на сайте SharePoint Online

Декларативный рабочий процесс создается в Microsoft SharePoint Designer и сохраняется в виде одного или нескольких XOML-файлов, а не в виде скомпилированного кода C# или Microsoft Visual Basic. Затем рабочий процесс сохраняется в библиотеке веб-сайта Материалы сайта в виде пакета решения SharePoint (WSP-файл), который можно загрузить и установить в любом семействе веб-сайтов как для песочницы. Во время выполнения разметка XOML-файла преобразуется в код, компилируется и выполняется. Ниже приведены основные понятия о декларативных рабочих процессах.

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

  • SharePoint Designer позволяет сохранить в виде изолированного решения (для песочницы) только рабочий процесс для повторного использования, но не рабочий процесс списка или рабочий процесс сайта.

  • Декларативный рабочий процесс, созданный при работе SharePoint Designer с веб-сайтом в ферме SharePoint Server 2010, не может быть развернут в семействе веб-сайтов фермы SharePoint Foundation.

  • Рабочий процесс, опубликованный в качестве глобального рабочего процесса для повторного использования, не может быть напрямую сохранен в качестве изолированного решения (для песочницы) в SharePoint Designer. Однако этот процесс можно скопировать в качестве не глобального рабочего процесса, который затем можно сохранить в качестве изолированного решения (для песочницы). Дополнительные сведения см. в следующих разделах.

  • Декларативный рабочий процесс, загруженный из библиотеки Материалы сайта, может быть импортирован в Microsoft Visual Studio и изменен до установки в качестве изолированного решения (для песочницы). Однако этот процесс имеет ряд нюансов. Дополнительные сведения см. в следующих разделах.

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

  1. Убедитесь, что в среде разработки имеется веб-сайт, содержащий все элементы, наличие которых предполагает рабочий процесс, например списки и типы контента.

  2. Откройте веб-сайт в браузере и в меню Действия сайта выберите Изменить в SharePoint Designer. Запустится SharePoint Designer.

  3. В области Навигация щелкните Рабочие процессы.

  4. На ленте щелкните Рабочий процесс для повторного использования. В открывшемся диалоговом окне укажите имя и описание и затем нажмите кнопку ОК.

  5. Создайте рабочий процесс точно так же, как если бы рабочий процесс планировалось использовать только на текущем сайте. То обстоятельство, что рабочий процесс будет упакован в качестве изолированного решения (для песочницы), которое можно развернуть в остальных семействах веб-сайтов, не влияет на способ его создания.

  6. Рекомендация. После завершения создания рабочего процесса сохраните его и затем щелкните Публикация (не Глобальная публикация) на ленте. Протестируйте рабочий процесс на веб-сайте и при необходимости измените его.

Упаковка рабочего процесса в качестве решения SharePoint

  1. После завершения создания рабочего процесса откройте его представление Параметры рабочих процессов в SharePoint Designer. (Если включен режим редактирования, щелкните Параметры рабочих процессов на ленте.)

  2. На ленте щелкните Сохранить как шаблон. Рабочий процесс сохраняется в библиотеке веб-сайта Материалы сайта в качестве пакета решения SharePoint (WSP-файл).

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

    При упаковке рабочего процесса, опубликованного глобально в SharePoint Designer, кнопка Сохранить как шаблон отключена. Чтобы упаковать рабочий процесс, его необходимо сначала скопировать.

    1. Щелкните правой кнопкой мыши рабочий процесс в узле Глобальный рабочий процесс для повторного использования области НавигацияSharePoint Designer и затем выберите Копировать и изменить.

    2. В открывшемся диалоговом окне укажите имя рабочего процесса и затем нажмите кнопку ОК.

    3. Щелкните Сохранить на ленте. Новый рабочий процесс будет создан автоматически в качестве неглобального рабочего процесса, который можно сохранить в виде шаблона.

Изменение рабочего процесса в Visual Studio (дополнительно)

  1. Загрузите пакет решения рабочего процесса из библиотеки Материалы сайта.

  2. В Visual Studio запустите проект с помощью шаблона Импорт пакета решения SharePoint. Не используйте шаблон Импорт рабочего процесса для повторного использования. Этот шаблон автоматически преобразует декларативный рабочий процесс в рабочий процесс с кодом и не может быть развернут в качестве изолированного решения (для песочницы).

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

    Альтернативный способ завершения этой процедуры описан в разделе How to: Import and Package a Declarative Workflow in Visual Studio. Преимущество альтернативного способа заключается в том, что если в качестве области действия компонента проекта выбран Сайт, при активации компонента в коллекции компонентов семейства веб-сайтов он становится доступным для всех веб-сайтов в семействе. Таким образом, активация компонента на каждом веб-сайте, на котором планируется его использовать, не требуется. Недостаток альтернативного способа заключается в том, что полученный пакет решения (WSP-файл) может быть установлен только в семействе веб-сайтов Microsoft SharePoint Server, а не в семействе веб-сайтов SharePoint Foundation. После выполнения шагов этой процедуры полученный пакет может быть развернут в любом семействе веб-сайтов SharePoint, однако потребуется активация компонента по отдельности на каждом веб-сайте, на котором планируется его использовать.

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

  4. Выберите изолированное решение и затем нажмите кнопку Далее.

  5. На следующей странице мастера введите путь к пакету решения, который был загружен на шаге 1, и затем нажмите кнопку Далее.

  6. На следующей странице мастера оставьте выбранные элементы (по умолчанию) и затем нажмите кнопку Готово. После открытия проекта в Visual Studio убедитесь, что файлы C# или Visual Basic отсутствуют. При этом рабочий процесс определен в XOML-файле. Кроме того, убедитесь, что в Visual Studio был создан компонент для проекта.

  7. В окне Обозреватель решений дважды щелкните файл *.feature, чтобы открыть Конструктор компонентов, и затем в качестве области действия компонента выберите Интернет.

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

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

  8. Добавьте элементы, которые необходимо упаковать и развернуть вместе с рабочим процессом. (Убедитесь, что добавлены только те элементы, которые можно развернуть в изолированном решении (для песочницы.) Например, если рабочий процесс предполагает наличие некоторого настраиваемого типа контента, а семейство веб-сайтов, в котором планируется развернуть рабочий процесс, не имеет этого типа контента, потребуется добавить тип контента в проект Visual Studio.

  9. В окне Обозреватель решений откройте файл *.oxml.wfconfig.xml.

  10. Убедитесь, что атрибут Visibility элемента Template имеет значение "Public". В противном случае измените значение на "Public".

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

    SharePoint Designer должен всегда работать с некоторым конкретным веб-сайтом, даже если он используется для создания рабочего процесса для повторного использования, который планируется развернуть на других сайтах. Если на любом этапе разработки рабочего процесса в SharePoint Designer нажать кнопку Публикация (как на шаге 6 в процедуре Создание декларативного рабочего процесса в SharePoint Designer, описанной выше), атрибут Visibility элемента Template возвращает значение "Public". Однако если рабочий процесс не опубликован перед сохранением в качестве шаблона, атрибут Visibility элемента Template возвращает значение "DraftPublic". Это значение необходимо изменить на "Public" перед повторной упаковкой решения в Visual Studio.

  11. Откройте файл elements.xml в папке PropertyBags окна Обозреватель решений.

  12. Прокрутите вниз до элемента PropertyBags, атрибут Url которого указывает на файл .xoml.config.xml, и затем убедитесь, что свойство NoCodeVisibility имеет значение "Public". В противном случае измените его на "Public".

  13. Дополнительно можно изменить XOML-файл, однако в этом случае следует помнить следующее:

    • Если дважды щелкнуть XOML-файл в окне Обозреватель решений, он откроется в Visual Studio Workflow Designer. Не рекомендуется использовать этот конструктор. Это связано с тем, что между SharePoint Designer и Visual Studio Workflow Designer существует ряд несовместимостей. (При открытии файла в Workflow Designer в элементах на области проектирования появляются символы ошибок, т. е. белый восклицательный знак в красном круге.) Поэтому, чтобы открыть XOML-файл, необходимо щелкнуть его правой кнопкой мыши и затем в диалоговом окне Выбор программы выбрать редактор XML или текстовый редактор.

    • При изменении XOML-файла высока вероятность появления ошибок. Изменение XOML-файла вручную выполняется только в том случае, если его невозможно изменить в SharePoint Designer.

  14. После завершения изменения проекта в меню Построение выберите команду Развернуть и проверьте решение.

Развертывание рабочего процесса в семействе веб-сайтов

  1. Если решение готово для распространения, необходимо сделать окончательный пакет решения (WSP-файл) доступным администраторам семейства веб-сайтов.

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

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

  2. Изолированное решение (для песочницы) устанавливается и развертывается администратором семейства веб-сайтов, который устанавливает решение в коллекции решений семейства веб-сайтов. Этот процесс осуществляется в два этапа:

    1. Администратор семейства веб-сайтов загружает пакет решения в коллекцию.

    2. Администратор семейства веб-сайтов развертывает пакет, который называется "активацией" для песочницы. На этом шаге все компоненты пакета активируются автоматически. Если в семействе веб-сайтов зарегистрированы какие-либо средства проверки решения, они также запускаются на этапе активации (развертывания).

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

См. также

Концепции

Что можно реализовать в изолированном решении

Ограничения для изолированных решений

Архитектура изолированных решений