Передо мной была оказана помощь в развертывании этапа 2 предыдущего развертывания SharePoint.
Исходное развертывание имеет настраиваемые рабочие процессы, которые были обновлены на этапе 2.
Есть ли "How-To" для этого типа ситуации?
Некоторые из обнаруженных нами подводных камней требуют, чтобы вы пометили исходный рабочий процесс, чтобы не принимать новые экземпляры, а затем развернули его обновление как новый рабочий поток. Это позволило бы предыдущим элементам завершить обработку под старым кодом, а любые новые процессы ускорить новый рабочий процесс.
Одна проблема с этим заключается в том, что мы должны были бы посетить каждый сайт, к которому был прикреплен исходный рабочий процесс, и присоединить новый рабочий процессV2. Теперь у нас есть два столбца состояния рабочего процесса в библиотеке документов.
Я только вхожу в проект, и эти проблемы заметили разработчики.
Буду признателен за любые ресурсы или советы, которые вы можете мне дать, поскольку я изучаю все это по ходу дела.
Вот некоторые заметки от другого разработчика, который дает мне некоторое представление о том, что он видел:
Если версия рабочего процесса уже существует, то ее повторное развертывание в качестве функции приведет к тому, что для существующего рабочего процесса будет установлено состояние «Нет новых экземпляров». Это можно увидеть, перейдя в библиотеку документов, к которой прикреплен рабочий процесс, выберите «Настройки» -> «Настройки библиотеки документов» -> «Настройки рабочего процесса» -> «Удалить рабочий процесс» и отметьте параметр переключателя для рабочего процесса. Любые текущие рабочие экземпляры рабочих процессов по-прежнему завершаются в обычном режиме, но этот параметр предотвращает появление новых экземпляров рабочего процесса.
После того, как 2-я "версия" того же рабочего процесса была развернута, вам нужно будет вернуться к каждой библиотеке документов, где вы хотите, чтобы она была связана, и повторно добавить ее, как если бы это был новый рабочий процесс. Вам нужно дать ему уникальное имя, например «MyWorkflow_v2». Другой побочный эффект заключается в том, что теперь у вас будет 2 столбца состояния рабочего процесса в библиотеке документов. Вы можете удалить / скрыть первый, когда все его экземпляры завершены и статус больше не нужен.
Если вы повторно развернете рабочий процесс, используя ту же функцию и манифест XML-файлов, то внутренний GUID будет таким же, какой был использован при первом развертывании. SharePoint распознает это как «версию» того же рабочего процесса и автоматически установит для первой версии статус «Нет новых экземпляров». Однако, если вы решите использовать другой GUID в файлах XML, то SharePoint будет рассматривать это как развертывание совершенно нового рабочего процесса и ничего не делать с существующими экземплярами. Вам нужно будет вручную установить для каждого экземпляра в каждой библиотеке документов значение «Нет новых экземпляров».
После повторного развертывания второй «версии» рабочего процесса вам все равно придется вручную посетить каждую библиотеку документов, где вы хотите ее использовать, и добавить ее в библиотеку документов. Имейте в виду, что его имя шаблона рабочего процесса будет отображаться в списке шаблонов рабочего процесса в том виде, в каком оно названо в файлах XML (и это нормально), но после его добавления вам потребуется ввести уникальное имя рабочего процесса для рабочего процесса. В этот момент вы должны выбрать что-то вроде «Workflow_v2» в качестве нового имени.
Действие retract удаляет все экземпляры функций в решении, особенно для моего приложения рабочего процесса, оно удаляет все экземпляры рабочего процесса из всех библиотек документов, с которыми оно было связано. Однако в случае , когда задача создается рабочим процессом, после того как решение отозвано, если пользователь нажимает на элемент задачи, ожидающий получить страницу подписи, он вместо этого получает SharePoint « Неизвестная ошибка ». Причина в том, что процесс отвода удалил рабочий процесс из базы данных, и рабочий процесс больше не связан с задачей.