Как обновить длительный рабочий процесс SharePoint, уже работающий

Передо мной была оказана помощь в развертывании второго этапа предыдущего развертывания SharePoint.

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

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

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

Я только вхожу в проект, и эти проблемы заметили разработчики.

Любые ресурсы или советы, которые вы можете мне дать, будут приветствоваться, так как я учусь всему этому на ходу.

Вот некоторые заметки от другого разработчика, который дает мне некоторое представление о том, что он видел:

Если версия рабочего процесса уже существует, то ее повторное развертывание в качестве функции приведет к тому, что для существующего рабочего процесса будет установлено состояние «Нет новых экземпляров». Это можно увидеть, перейдя в библиотеку документов, к которой был присоединен рабочий процесс, выберите «Настройки» -> «Настройки библиотеки документов» -> «Настройки рабочего процесса» -> «Удалить рабочий процесс» и отметьте параметр переключателя для рабочего процесса. Любые текущие рабочие экземпляры рабочих процессов будут по-прежнему завершаться в обычном режиме, но этот параметр предотвратит любые новые экземпляры рабочего процесса.

После того, как 2-я «версия» того же рабочего процесса была развернута, вам нужно будет вернуться к каждой библиотеке документов, где вы хотите, чтобы она была связана, и повторно добавить ее, как если бы это был новый рабочий процесс. Вам нужно дать ему уникальное имя, например «MyWorkflow_v2». Другой побочный эффект заключается в том, что теперь у вас будет 2 столбца состояния рабочего процесса в библиотеке документов. Вы можете удалить / скрыть первый, как только все его экземпляры завершены и статус больше не нужен.

Если вы повторно внедрите рабочий процесс, используя ту же функцию и манифест XML-файлов, то внутренний GUID будет таким же, какой был использован при первом развертывании. SharePoint распознает это как вторую «версию» того же рабочего процесса и автоматически установит для первой версии статус «Нет новых экземпляров». Однако если вы решите использовать другой GUID в файлах XML, то SharePoint увидит это как развертывание совершенно нового рабочего процесса и ничего не сделает с существующими экземплярами. Вам нужно будет вручную установить для каждого экземпляра в каждой библиотеке документов значение «Нет новых экземпляров».

После повторного развертывания второй «версии» рабочего процесса вам все равно придется вручную посетить каждую библиотеку документов, где вы хотите ее использовать, и добавить ее в библиотеку документов. Имейте в виду, что имя шаблона рабочего процесса будет отображаться в списке шаблонов рабочих процессов, как оно указано в файлах XML (и это нормально), но после его добавления вам потребуется ввести уникальное имя рабочего процесса для рабочего процесса. В этот момент вы должны выбрать что-то вроде «Workflow_v2» в качестве нового имени.

Действие retract удаляет все экземпляры функций в решении, особенно для моего приложения рабочего процесса, оно удаляет все экземпляры рабочего процесса из всех библиотек документов, с которыми оно было связано. Тем не менее, в случаегде задача создается рабочим процессом, после того как решение отозвано, если пользователь нажимает на элемент задачи, ожидая получить страницу подписи, он вместо этого получает страницу SharePoint «Неизвестная ошибка». Причина в том, что процесс отвода удалил рабочий процесс из базы данных, и рабочий процесс больше не связан с задачей.

10.12.2008 18:13:06
1 ОТВЕТ

Я думаю, что вы уже читали комментарии Криса О'Брайена на эту тему. так вот вторая ссылка: http://msmvps.com/blogs/theproblemsolver/archive/2008/09/10/versioning-long-running-workfows.aspx

2
22.10.2009 12:35:16