当前位置: 首页>>WEB开发>>正文


SharePoint Designer 2010工作流生命周期

webfans WEB开发 , , , , 去评论

问题描述

我在开发计算机上使用SharePoint Designer 2010构建工作流程。我们假设它在V1中。

现在我想将工作流程移至生产环境。什么是正确的方法来做到这一点?

我已将工作流作为模板(在wsp文件中)导出,然后将该解决方案添加到服务器场解决方案中(不适用于沙盒解决方案)。然后,我可以激活该功能,并且我的工作流程模板位于目标计算机中。这是正确的方式吗?

这种方法导致了一些问题:

  • 导出的WSP包含OOB <Field Id="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" Name="Title" ... />。因此,只要停用该功能,Title字段将被删除,并且该网站中的所有内容都会中断

  • 如果我更新开发计算机上的工作流程,我无法再导出它并在目标计算机上升级解决方案。生成新的解决方案ID和功能ID,并且无法完成升级。

我如何正确管理wokflow的生命周期?如果我将它导入到Visual Studio中,我以后可以在SPD中设计工作流程,然后升级Visual Studio项目?

PS:不知道它是否重要,但工作流程是针对自定义内容类型的可重复使用的工作流程。

[编辑]这个问题仍然是开放的,但我发现了我的问题的根源;我对由自定义任务进程生成的内容类型进行了重命名。不知道为什么,但它破坏了一些东西。我从头开始了set-up的任务过程并且工作正常。我可以实际导出WF,并使用网站解决方案导入它

最佳解决方法

如果您不需要在VS2010中进行其他自定义开发,则可以使用您在SharePoint Designer中创建的可重用工作流模板,使用解决方案包将工作流部署到生产环境。将其上传到网站集的解决方案库后,您需要将其激活,然后在网站中将其激活。它应该出现在工作流程列表中。

如果将.wsp导入Visual Studio,则需要成为一个服务器场解决方案,因为定制工作流需要完全信任。你不能把你的VS2010.wsp移回SPD。如果您需要一些自定义行为,请考虑在VS2010中开发自定义操作,而不是完整的VS2010工作流模板。尽可能保持工作流程的陈述性。

升级工作流程有点复杂,因为可能存在工作流程”in flight”。当SPD re-publishes工作流程re-names它和旧的工作流程停留在运行工作流程。 VS2010工作流程升级的推荐方法是使用新功能和程序集来执行此side-by-side,并使用脚本修改工作流程关联。版本控制工作流程非常痛苦,您可能希望有一个相当保守的发布时间表来尽量减少升级需求。

次佳解决方法

实际上,您可以导出SharePoint设计器工作流并将它们导入到Visual Studio 2010中以重新部署为声明性(no-code)工作流,但它需要一些自定义工作,主要是整理硬编码的ListId引用和使用正确的功能接收器等。一系列关于此的博客帖子,从这篇文章开始:

http://henry-chong.com/2011/06/manually-export-spd-2010-reusable-workflow-to-visual-studio-2010/

这意味着你可以控制你的工作流/wsp的所有内容 – 任务表单,内容类型等等。

参考资料

本文由朵颐IT整理自网络, 文章地址: https://duoyit.com/article/1985.html,转载请务必附带本地址声明。