如何升级已在生产中运行的长时间运行的SharePoint Workflow

时间:2008-12-10 18:13:06

标签: sharepoint

我的任务是帮助部署先前SharePoint部署的第2阶段。

原始部署具有已在阶段2中更新的自定义工作流程。
此类情况是否有“操作方法”?

我们看到的一些陷阱要求您将原始工作流标记为不接受任何新实例,然后将其更新部署为新的worflow。这将允许先前的项目在旧代码和任何新流程下完成处理以启动新工作流程。

这样做的一个问题是我们必须访问附加原始工作流的每个站点并附加新的workflowV2。现在,我们在doc库中有两个工作流状态列。

我刚刚进入项目,这些是开发人员注意到的问题。

您可以向我投掷的任何资源或提示都会受到赞赏,因为我正在学习所有这些。

以下是来自另一个开发者的一些说明,他们给了我一些关于他所看到的背景的背景:

  

如果工作流的某个版本已存在,则将其重新部署为功能将导致现有工作流的状态设置为“无新实例”。通过转到已附加工作流的文档库可以看到这一点,选择设置 - >文档库设置 - >工作流程设置 - >删除工作流程并注意工作流程的单选按钮设置。工作中的任何当前工作流实例仍将正常完成,但此设置将阻止工作流的任何新实例。

     

一旦部署了相同工作流的第二个“版本”,您就需要重新访问要将其关联到的每个文档库,并将其重新添加,就好像它是一个新的工作流程一样。你必须给它一个唯一的名字,比如'MyWorkflow_v2'。另一个副作用是,现在您将在文档库中拥有2个工作流状态列。一旦所有实例完成并且不再需要状态,您可以删除/隐藏第一个。

     

如果使用相同的功能和清单XML文件重新部署工作流,则内部GUID将与第一次部署中使用的内部GUID相同。 SharePoint会将此识别为同一工作流的第二个“版本”,并自动将第一个版本设置为“无新实例”状态。但是,如果您选择在XML文件中使用不同的GUID,则SharePoint会将此视为全新工作流的部署,并且不对现有实例执行任何操作。您需要手动将每个文档库中的每个实例设置为“无新实例”设置。

     

重新部署工作流的第二个“版本”后,您仍然需要手动访问要使用它的每个文档库,并将其添加到文档库中。请记住,其工作流模板名称将显示在工作流模板列表中,因为它在XML文件中命名(可以),但是一旦添加它,您将需要为工作流输入唯一的工作流名称。这是您必须选择“Workflow_v2”之类的新名称。

     

撤消操作会删除解决方案中的所有功能实例,特别是对于我的工作流应用程序,它会从与其关联的所有文档库中删除工作流的所有实例。但是,对于 ,工作流创建任务时,如果用户单击期望获取签名页的任务项,则缩回解决方案后,他们将获得SharePoint “未知错误”页面。原因是撤回过程从数据库中删除了工作流程,并且不再有与该任务相关联的工作流程。

1 个答案:

答案 0 :(得分:2)

我想你已经阅读了Chris O'brien关于这个话题的评论。所以这是第二个链接:http://msmvps.com/blogs/theproblemsolver/archive/2008/09/10/versioning-long-running-workfows.aspx