Использование визуального конструктора SharePoint Designer 2013 для перемещения рабочих процессов между сайтами
Исходная статья опубликована во вторник, 18 сентября 2012 г.
Меня зовут Сэм Чанг (Sam Chung); я — руководитель проектов в группе SharePoint Designer. В этой статье я хочу рассказать о новой замечательной возможности, которую мы реализовали с помощью функций импорта и экспорта, представленных в визуальном конструкторе.
Введение
В деятельности многих разработчиков наступает момент, когда возникает острая потребность в распределении рабочих процессов. В частности, может появиться необходимость перемещения рабочих процессов между сайтами. Это может произойти по целому ряду причин, самой распространенной из которых является потребность в перемещении рабочего процесса между средой разработки, промежуточной средой и рабочей средой. Надеюсь, что эта статья поможет вам справиться с перемещением рабочих процессов с одного сайта на другой.
Прежде чем читать эту статью дальше, изучите следующие.
В первой дан общий обзор визуального конструктора:
https://msdn.microsoft.com/en-us/library/jj163272(office.15).aspx
Эта статья поможет понять принципы работы визуального конструктора.
Следующая статья посвящена упаковке списков и рабочих процессов с помощью функции упаковки:
https://blogs.technet.com/b/office_ru/archive/2012/10/11/3525386.aspx
Эта статья поможет понять принцип упаковки нужных списков, на которые может ссылаться ваш рабочий процесс.
Создание рабочего процесса
Ваш рабочий процесс может делать практически что угодно. Технический ограничений, связанных с перемещаемыми элементами, не существует. Чтобы избежать ошибок при публикации и во время выполнения, необходимо учесть следующие моменты.
1. Убедитесь, что все объекты, на которые есть ссылки в рабочем процессе, существуют на конечном сайте.
a. Прочтите статью об упаковке, чтобы понять принципы упаковки списков.
2. Убедитесь, что все действия, выполняемые на исходном сайте, существуют и на конечном.
a. Настраиваемые действия, существующие на исходном сайте, необходимо перенести на конечный сайт до перемещения рабочего процесса.
3. Перемещать рабочие процессы Project с сайта PWA на сайт, отличный от сайта PWA, нельзя.
a. Если SPD обнаружит перемещение рабочего процесса Project на сайт, отличный от сайта PWA, процесс будет заблокирован.
б. В рабочем процессе Project имеется много дополнительных данных, которые следует перемещать только с сайта PWA на другой сайт PWA.
В этой публикации в качестве примера я буду использовать сравнительно простой рабочий процесс. Я включу список Ideas (Идеи) для сценария мероприятия. Рабочий процесс, который я создам, будет простым рабочим процессом для использования в списке Event Ideas (Идеи для мероприятия). Для каждой идеи пользователи будут вводить новый элемент списка. После ввода всех необходимых данных они укажут, что элемент готов для проверки. В этот момент будет запущен рабочий процесс с просьбой к утверждающим одобрить или отклонить идею.
Я буду использовать следующий список.
Как видно, список содержит следующие столбцы:
· Event Idea (Идея для мероприятия)
o Строка
· Location (Расположение)
o Строка· Cost (Стоимость)
o Currency (Валюта)
· Status (Состояние)
o Поле выбора
А сам рабочий процесс выглядит следующим образом.
Здесь показаны действия, выполняемые рабочим процессом.
· Запись в журнале о том, что мы на первом этапе.
· Проверка, установлено ли в столбце Status (Состояние) значение Ready for Review (Готово к проверке).
o Если значение не установлено, дождаться его установки.
· Запись в журнале о том, что мы назначаем задачи для проверки идеи.
· Обновление значения столбца состояния на Under Review (На рассмотрении).
· Назначение задач.
· Если идея была одобрена, мы переходим на этап, где записываем в журнал, что идея была одобрена.
· Назначение столбцу состояния значения Accepted (Принято).
· Если идея была отклонена, мы переходим на этап, где записываем в журнал, что идея была отклонена.
· Назначение столбцу состояния значения Rejected (Отклонено).
Экспорт рабочего процесса
Теперь когда у нас есть рабочий процесс, давайте экспортируем его. Для этого нужно нажать кнопку ленты
Export to Visio (Экспорт в Visio).
ПРИМЕЧАНИЕ. После нажатия кнопки Export (Экспорт) сначала будет автоматически выполнено сохранение рабочего процесса на сервере, а затем запустится процесс экспорта. Это необходимо для того, чтобы в момент экспорта обеспечить синхронизацию экспортированного рабочего процесса с версией на сервере.
После нажатия кнопки откроется следующее диалоговое окно.
Выберите расположение для сохранения файла, а затем нажмите кнопку Save (Сохранить).
Схема Visio будет сохранена в выбранном расположении. При желании схему можно сразу же открыть в Visio 2013.
Примечание. В этом примере рабочий процесс экспортирован из визуального конструктора, однако рабочий процесс можно экспортировать и из следующих мест:
· Текстовый конструктор.
· Страница параметров рабочего процесса.
· Коллекция рабочих процессов.
Во всех этих примерах должен быть включен визуальный конструктор. Для этого на компьютере с SharePoint Designer 2013 необходимо установить Visio 2013 профессиональный.
Импорт рабочего процесса
После экспорта рабочего процесса можно открыть другой сайт SharePoint 2013 в SharePoint Designer 2013 и импортировать рабочий процесс. Выполните следующие действия:
1. Подключите SPD к новому сайту.
2. В области навигации щелкните Workflows (Рабочие процессы).
3. Нажмите нижнюю половину кнопки Import from Visio (Импорт из Visio) и выберите команду Import Visio 2013 Diagram (Импорт схемы Visio 2013).
4. Откроется стандартное диалоговое окно Open File (Открытие файла). Найдите экспортированную схему и откройте ее.
5. Откроется диалоговое окно Create Workflow (Создание рабочего процесса).
а. Присвойте рабочему процессу имя.
б. При желании введите описание.
в. Обратите внимание, что тип рабочего процесса будет отображаться серым цветом со значением List Workflow (Рабочий процесс списка). Это связано с тем, что SPD обнаружил, что импортированный рабочий процесс является рабочим процессом списка. Поэтому он автоматически выбрал правильный тип. Если бы вы импортировали совершенно новую схему из Visio (рабочий процесс, которого никогда не было в SPD), этот параметр был бы включен.
г. Поскольку это рабочий процесс списка, параметр выбора списка для связи с рабочим процессом включен. Выберите список. Этот параметр включен только для рабочих процессов списка. В идеале вы могли бы также экспортировать и импортировать рабочие процессы списка. В таком случае вы смогли бы просто выбрать тот же список, с которым вы работали на предыдущем сайте.
д. Нажмите кнопку "ОК".
6. Откроется схема рабочего процесса в том виде, в котором вы видели ее раньше.
а. Вся логика рабочего процесса сохранена.
б. Все свойства действий сохранены.
в. Все локальные переменные сохранены.
7. Теперь можно продолжить изменение рабочего процесса. Перед публикацией необходимо ознакомиться со следующим разделом.
Действия, выполняемые после развертывания и перед публикацией
После импорта рабочего процесса с другого сайта вы не сможете приступить к его непосредственной публикации. Хотя это может сработать без ошибок, выполнение рабочего процесса почти наверное завершится ошибкой. Осуществив импорт рабочего процесса, убедитесь, что выполнены следующие действия:
1. Откройте страницу параметров рабочего процесса и обновите элементы Task List (Список задач) и History List (Список журнала).
а. Если вы посмотрите на них сейчас, то увидите, что они называются New Task List (Новый список задач) и New History List (Новый список журнала). Однако в связи с последним изменением при публикации рабочего процесса новые списки задач и журналов созданы не будут. Это приведет к возникновению ошибки в рабочем процессе во время выполнения.
б. Списки задач и журналов уже должны существовать. Выберите нужный список.
Примечание. Если вы действительно хотите создать новый список задач или журналов, сначала щелкните другой список, затем повторно выберите параметр New Task List (Новый список задач) или New History List (Новый список журнала). Появятся всплывающие окна с запросами на подтверждение создания нового списка. Получив подтверждение, SPD сразу же создаст новые списки.
2. Согласуйте поиски.
а. Если вы не перенесли списки с VSDX-файлом, то, скорее всего, вы связали рабочий процесс с совершенно другим списком. Поэтому если вы ссылались на элементы списка или свойства, может потребоваться их согласование.
б. Этот момент можно обойти, если упаковать список с исходного сайта и развернуть его на новом сайте до импорта рабочего процесса. Дополнительные сведения об упаковке списка см. в публикации Packaging List, Site, and Reusable Workflow and How to Deploy the Package (Упаковка списка, сайта и многократно используемого рабочего процесса и развертывание пакета).
3. Проверьте наличие настраиваемых действий в рабочем процессе, которые не существуют на новом сайте.
а. Если в рабочем процессе имеются настраиваемые действия, убедитесь, что они развернуты на новом сайте до импорта этого рабочего процесса.
4. Для рабочих процессов Project: убедитесь, что перед импортом рабочего процесса вы перенесли стадии, фазы, страницы продуктов (PDP) и настраиваемые поля.
а. Для рабочих процессов Project требуется, чтобы все предыдущие объекты Project были перенесены со старого сайта на новый. Дополнительные сведения о перемещении объектов Project см. в блогах, посвященных Project.
Приняв во внимание эти моменты, вы сможете избежать проблем при публикации и выполнении рабочих процессов на новом сайте!
Надеюсь, эта статья была вам полезна. Не стесняйтесь оставлять комментарии ниже.
Спасибо,
Сэм
Это — локализованная публикация в блоге. Исходная статья — How to use SharePoint Designer 2013's Visual Designer to Move Workflows Between Sites