使用 SPD 2010 和 Visio 2010 创建 SharePoint 2010 工作流:使用方法与常见问题解答
原文发布于 2011 年 5 月 19 日(星期四)
大家好,我是 SharePoint Designer 团队的项目经理,我叫 Sam Chung。在这篇博客中,我将介绍一下如何结合使用 Visio 2010 和 SPD 2010 创建工作流。此外,对于用户在同时使用这两款工具时遇到的一些常见问题,我将提供一些建议。
在开始前,我们需要了解一些有关 SPD 和 Visio 之间的关系的背景信息。对于如何同时使用这两款工具,您可以参考一些现成的资源。以下博文从 Visio 角度对此进行了说明,请重点关注一下:
但由于这些博客文章年代过于久远,因此我决定对如何同时使用这两款工具重新加以阐述。此外,我还将对某些领域的问题进行较为深入的探讨,并回顾一下用户已碰到过的一些常见问题。
背景
这里,我们假设您之前没有看到过任何有关 Visio 和 SPD 的信息,我将就此设定一些背景。如果您对 Visio 和 SPD 已经非常熟悉,我建议您跳过此部分内容,直接进入下一部分。
SharePoint Designer 2010 团队已与 Visio 合作,以使用户在创建和查看工作流时能够同时使用这两款工具。除要对这一合作关系的建立加以讨论外,本博客还包含了很多其他内容,对于服务器端的可视化问题在这里就不予赘述了(为下一篇博客留些素材)。
目前,创建工作流的方法有两种。用户可以使用 SPD 内基于常规语句的设计器来创建/编辑工作流,也可以使用 Visio 客户端进行操作。大家对在基于语句的设计器内创建工作流已经非常熟悉了,因此,我准备重点介绍一下用户如何使用 Visio 客户端来创建和编辑工作流。
**注意** 需要安装 Visio 2010 Premium 才能执行此操作。而且,SPD 2010 和 Visio 2010 必须同时安装在同一台计算机上
此次工具“联合”是为帮助那些更喜欢使用 Visio 的用户能够使用更为熟悉的设计界面。同时,Visio 设计界面还提供了非常独特的工作流视图,很多用户在设计/检查工作流时可能会感受到它的实用性。虽然 Visio 不能完成整个工作流的创建,但用户可以创建工作流的总体“流”,然后在 SPD 中完成参数设置。
在 Visio 中创建工作流图表
1. 启动 Visio 2010 Premium
2. 创建新图表
3. 在“模板类别”(Template Categories) 下选择“流程图”(Flowchart)。
4. 然后选择“Microsoft SharePoint 工作流”(Microsoft SharePoint Workflow)
5. 按右侧的“创建”(Create) 按钮
***注意*** 选择“美制单位”(US Units) 还是“公制单位”(Metric Units) 没有区别。无论选择哪一个都将创建同一工作流程图。
6. 系统会为您提供一个空白图表画布。在开始之前,您应该了解,您需要插入“开始形状”和“结束形状”。
· 所有 SharePoint 工作流都需要具有这些形状。
· 您添加的所有工作流形状都需要插入到这两个形状之间。
7. 所有工作流形状都已排列到模具窗格内的类别中。
· 快速形状 (Quick Shapes) – 包含位于不同类别下“顶部区域”中的形状。
***注意*** 快速形状是加快工作流创建过程的理想方法。模具内的每个类别都包含快速形状部分。例如,如果您看一下“SharePoint 工作流操作”(SharePoint Workflow Actions) 类别,您会看到顶部操作集和底部操作集由一条细线隔开。
位于顶部的操作便是该类别的“快速形状”(Quick Shapes)。快速形状不是根据使用情况自动选定或类似于自动生成的内容。相反,这部分中的这些形状可以由用户进行设置。继续操作,单击您需要的形状并将其拖动到线上,该形状便成为快速形状。然后您便可以使用这些形状更快速地创建图表。前四个快速形状将在画布内的形状上显示为幻影选项。(只需将鼠标悬停在任何形状一侧的浅蓝色箭头上即可看到该选项)
· SharePoint 工作流操作(XXX 单位) (SharePoint Workflow Actions (XXX units)) – 存储所有 SharePoint 工作流操作的位置
· SharePoint 工作流条件(XXX 单位) (SharePoint Workflow Conditions (XXX units)) – 存储所有 SharePoint 工作流条件的位置
· SharePoint 工作流终止符(XXX 单位) (SharePoint Workflow Terminators (XXX units)) – 您可以在其中找到我在步骤 6 中提到的“开始”和“结束”工作流图形
***注意*** 显示在模具窗格内的“SharePoint 工作流操作”(SharePoint Workflow Actions) 不根据您希望创建的工作流类型筛选。正常情况下,当您在 SPD 中创建工作流时,为您提供的操作列表将仅筛选为与您正在创建的工作流类型相关的操作集中。所以,如果您要创建列表工作流,您只能看到列表工作流,网站工作流和可重用工作流也是如此。但是,在 Visio 客户端中,则不会对可供您使用的操作列表进行筛选。因此,当您使用 Visio 创建工作流时,您需要确保仅使用与您正在创建的工作流类型相关的操作。
此外,这里不能使用任何网站工作流的特定操作。因此,您无法使用 Visio 客户端创建网站工作流。在导入图表过程中,您将注意到没有用于基于 Visio 图表创建网站工作流的选项。
8. 现在我们继续添加您需要的形状,并创建工作流。在本文中,我事先创建了一个非常简单的示例工作流。
***注意*** 不要忘了在所有条件图形上设置“是/否”选项。快速的方法是右键单击源自条件图形的任意连接器,然后选择“是”或“否”。
在 Visio 和 SPD 之间导出/导入
此时,您可能正在尝试将 Visio 图表从 Visio 格式转换为 SPD 格式。接下来的几部分内容介绍了关于此操作的最佳方法。
从 Visio 转换为 SPD
1. 在图表创建完成并准备发送到 SPD 时,首先需要使用“导出”(Export) 按钮。
· 此按钮位于“流程”(Process) 选项卡下
2. 如果您的图表内出现错误,这些错误将显示在错误窗格中。
***注意*** Visio 此时会进行检查,以确保您要发送到 SPD 的图表能够直接转换为工作流。但是仅检查“开始”和“结束”形状之间的部分。您可以在任何其他位置放置您可能需要的任何 Visio 图形。只要确保“开始”和“结束”形状之间的任何内容都是工作流形状且已正确连接即可。
3. 通过验证后(如果未通过验证并出现错误,应先修复错误,然后返回此处),将出现一个“导出工作流”对话框,您可以通过此对话框指定要保存 VWI 文件的位置。选择保存位置,为文件命名,然后按“保存”(我将我创建的文件命名为“简单工作流”,保存到了桌面)。
***注意*** 您要保存的 VWI 文件代表一个 Open XML 文件,从根本上说它是一个包含若干其他文件的 zip 文件。您可以使用自己喜欢的 zip 程序继续解压缩,看看其中包含了哪些文件。通常情况下,您会发现以下文件:
[content_types].xml
Workflow.vdx
Workflow.xoml
Workflow.xoml.rules
通常,您最关心的应该是 .vdx 和 .xoml 文件。vdx 文件是您刚刚创建的 Visio 图表。.xoml 文件代表了工作流发布后实际将运行的工作流 xoml。目前,.xoml 文件中的内容不多,因为尚未在 SPD 中适当配置此工作流。但在我们完成此配置,并要再次从 SPD 导出此工作流后,您会看到 .xoml 文件中包含大量信息。您还会看到一个 workflow.config 文件,其中概述了有关此工作流的更多详细信息。现在,我们先不管这些文件,直接进入下一步。
若要了解有关 Open XML 文件的详细信息,请访问以下链接: https://msdn.microsoft.com/zh-cn/library/aa338205(office.12).aspx(该链接可能指向英文页面)
4. 现在,我们继续操作,将 VWI 文件导入到 SPD 中。打开 SPD,连接到您最喜欢的 SharePoint 2010 网站。
5. 接下来,单击左侧导航栏上出现的工作流链接。
6. 接下来,转到功能区,按“从 Visio 导入”(Import from Visio) 按钮。
7. 这时将显示导入向导。继续操作并选择您的 VWI 文件,然后按“下一步”(Next) 按钮
8. 为您的工作流命名,并选择工作流类型。
9. 如果所有操作均正确无误,您应该看到如下内容:
修改工作流
1. 现在,您可以开始为工作流内的各项操作设置参数。设置完成后,工作流应如下图所示:
2. 在发布工作流之前,让我们再添加一个操作。我在我的工作流的末尾的操作历史记录中插入了一个简单日志。
***注意*** 以下内容非常重要。如果您打算添加/删除/移动工作流中的操作,则非常有可能出现以下情况:您在服务器端可视化中看到的图表与您最初开始使用的图表看起来有些不同。原因在于,当您在 SPD 中修改操作位置时,SPD 的 Visio 加载项需要随之动态重建该图表,继而输出整个图表。这意味着图表看起来可能与您预期的不同。因此,如果服务器端可视化对您很重要,您应该执行以下操作:
a) 首先将工作流从 SPD 导回到 Visio
b) 修复图表
c) 从 Visio 导出到 SPD
d) 重新发布工作流(无需在 SPD 中再次进行修改)
3. 继续发布新建的工作流。
结束语
现在,您已经了解了工作流创建的整个过程,快速集中地学习了从 Visio 转换为 SPD 的全部操作经验。希望这些内容对您有所帮助。我已将上述内容加以总结,要点内容统一放到了下面的“常见问题解答/提示”部分。
如有问题,请随时跟帖发问。我将尽力解答所有问题。
另外,在未来几周内我希望可以针对本文再撰写一篇简短的后续文章,详细介绍从 SPD 转换为 Visio 的经验,以及在使用 Visio 图表更新现有工作流时可能出现的问题。
感谢您阅读本文!
Sam
常见问题解决以及提示和技巧
1. 您需要安装 Visio 2010 Premium 才能够创建 SharePoint 2010 工作流。而且,SPD 2010 和 Visio 2010 必须同时安装在同一台计算机上
2. 在创建新 Visio SharePoint 2010 工作流图表时,选择“美制单位”还是“公制单位”没有区别。无论选择哪一个都将创建同一工作流程图。
3. 快速形状是加快工作流创建过程的理想方法。模具内的每个类别都包含快速形状部分。例如,如果您看一下“SharePoint 工作流操作”(SharePoint Workflow Actions) 类别,您会看到顶部操作集和底部操作集由一条细线隔开。
位于顶部的操作便是该类别的“快速形状”(Quick Shapes)。快速形状不是根据使用情况自动选定或类似于自动生成的内容。相反,这些形状可以由用户进行设置。继续操作,单击您需要的形状并将其拖动到线上,该形状便成为了快速形状。然后您便可以使用这些形状更快速地创建图表。前四个快速形状将在画布内的形状上显示为幻影选项。(只需将鼠标悬停在任何形状一侧的浅蓝色箭头上即可看到该选项)
4. 显示在模具窗格内的“SharePoint 工作流操作”(SharePoint Workflow Actions) 不根据您希望创建的工作流类型进行筛选。正常情况下,当您在 SPD 中创建工作流时,为您提供的操作列表将仅筛选为与您正在创建的工作流类型相关的操作集。所以,如果您要创建列表工作流,您只能看到列表工作流,网站工作流和可重用工作流也是如此。但是,在 Visio 客户端中,则不会对可供您使用的操作列表进行筛选。因此,当您使用 Visio 创建工作流时,您需要确保仅使用与您正在创建的工作流类型相关的操作。
5. 而且,这里不能使用任何网站工作流的特定操作。因此,您将无法使用 Visio 客户端创建网站工作流。在导入图表过程中,您将注意到没有用于基于 Visio 图表创建网站工作流的选项。
6. 不要忘了在所有条件图形上设置“是/否”选项。快速的方法是右键单击源自条件图形的任意连接器,然后选择“是”或“否”。
7. 在尝试从 Visio 导出图表时,Visio 会执行检查,以确保您要发送到 SPD 的图表能够直接转换为工作流。但是仅检查“开始”和“结束”图形之间的部分。您可以在任何其他位置放置您可能需要的任何 Visio 图形。只要确保“开始”和“结束”形状之间的任何内容都是工作流图形且已正确连接即可。
8. 您正在保存的 VWI 文件代表一个 Open XML 文件,它本质上是一个包含若干其他文件的 zip 文件。您可以使用自己喜欢的 zip 程序继续解压缩,看看其中包含了哪些文件。通常情况下,您会发现以下文件:
[content_types].xml
Workflow.vdx
Workflow.xoml
Workflow.xoml.rules
通常,您最关心的将是 .vdx 和 .xoml 文件。vdx 文件是您刚刚创建的 Visio 图表。.xoml 文件代表了发布工作流后实际将运行的工作流 xoml。从新 Visio 图表导出时,.xoml 文件中的内容不多;因为尚未在 SPD 中适当配置此工作流。但在您完成此配置并要再次从 SPD 导出此工作流后,您会看到 .xoml 文件中包含大量信息。您还会看到一个 workflow.config 文件,其中概述了有关此工作流的更多详细信息。
若要了解有关 Open XML 文件的详细信息,请访问以下链接:https://msdn.microsoft.com/zh-cn/library/aa338205(office.12).aspx(该链接可能指向英文页面)
9. 如果您打算添加/删除/移动工作流中的操作,则非常有可能出现以下情况:您在服务器端可视化中看到的图表与您最初开始使用的图表看起来有些不同。原因在于,当您在 SPD 中修改操作位置时,SPD 的 Visio 加载项需要随之动态重建该图表,继而输出整个图表。这意味着图表看起来可能与您预期的不同。因此,如果服务器端可视化对您很重要,您应该执行以下操作:
a) 首先将工作流从 SPD 导回到 Visio
b) 修复图表
c) 从 Visio 导出到 SPD
d) 重新发布工作流(无需在 SPD 中再次进行修改)
这是一篇本地化的博客文章。请访问 Creating a SharePoint 2010 Workflow using SPD 2010 and Visio 2010: How-To & FAQ 以查看原文