SharePoint Designer 2013 中的复制和粘贴支持
原文发布于 2012 年 8 月 10 日(星期五)
各位 SPD 用户,大家好!我是 JongHwa Lim,SharePoint Designer(也称 SPD)的项目经理。我现在来介绍 SharePoint Designer 2013 工作流设计器中的一项新功能。
这项新功能就是可以在基于文本的设计器内进行复制和粘贴。复制和粘贴功能曾经是用户在旧 SPD 版本中请求最多的功能之一。我们收到大量客户反馈,说他们不得不花太多无谓的时间甚至数天来重新创建曾经创建过的逻辑。if 语句内的 Else 分支以及当流程需要“重复”时,通常要进行这种重复性劳动。现在,有了新的复制粘贴功能,那种情况已经成为历史。
我会用一些基本示例场景来解释此功能以及具体支持什么和不支持什么。
请注意,本文包含一些新的可在新工作流平台上使用的工作流操作和构造,很快将通过本博客和帮助文章对其进行介绍。敬请关注!!
示例 – 简单批准流程
假设您在 SharePoint 2013 服务器上有一个 SharePoint 2013 类型的工作流。您必须创建一个文档审批工作流来发送批准/拒绝事件的电子邮件通知,然后根据审批状态将文档复制到相应的文件夹中。
基本上,可以通过先把注意力放在当文档被批准时工作流应作什么来构建此工作流。这是因为,当文档被拒绝时,遵循的逻辑几乎完全相同。“文档已批准”逻辑如下所示:
而电子邮件内容看起来应是这样。
以往,由于不支持复制和粘贴,用户通常不得不为“已拒绝”阶段再次重写所有逻辑,所幸这里只有 3 个操作和 1 个阶段,但仍然麻烦。但是,您现在知道了,SPD 2013 提供复制和粘贴功能,您可以选择“已批准”(Approved) 阶段,按 Ctrl-C,然后直接在其下方按 Ctrl-V,结果如下。
您会发现,未保留“阶段”标题,但保留了所有其他参数值。您可以单击“已批准文档”(Approved Documents) 链接,将其改为“已拒绝文档”(Rejected Documents),编辑电子邮件操作来更改邮件内容,以反映“已拒绝状态”,如下所示。
将阶段标题更新为“已拒绝”(Rejected) 并更新过渡部分内“等待批准”(Wait For Approval) 阶段的逻辑后,所完成的工作流逻辑看起来像下面这样。
那么,您意下如何?即使在这个短短的工作流场景中,它也很有用。由于我们支持多个相邻选定区域,因此这一新功能真能让事情变得更简单。您可以选择多行操作、步骤和条件块,或选择多个阶段,然后将其复制并粘贴到需要逻辑的地方。选定的项目用天蓝色突出显示,如下所示。
然后,您可以选择使用大家所熟知的热键:Ctrl-C、Ctrl-V 或 Ctrl-X,或者使用功能区菜单或任何选定项目的上下文菜单。
好,现在您知道我们可以使用复制和粘贴功能,您一定很好奇复制和粘贴所展现的一些不同场景吧。我会在下面解释几个常见的与复制和粘贴有关的问题。
对于 SharePoint 2010 工作流类型,情况如何?
我们也支持将复制和粘贴功能用于 SharePoint 2010 工作流类型(也称 WF3.5 类型)。无论在 SPD 中使用 WF4 工作流还是 WF3.5 工作流,用户体验基本相同。
假设您具有以下工作流,它只处理“已批准”(Approved) 状态。
插入一个“else”分支并选择两个以蓝色突出显示的操作后,可以将它们直接粘贴到“else”部分。
将生成以下逻辑。
注意:我更新了最终操作的属性,以便反映正确的“已拒绝”(rejected) 状态。
如果操作包含另一个列表的查找值,当它们被粘贴到另一个没有该列表的站点时,情况怎样?
以此为例。如果将查找另一个列表中的值的操作粘贴到不同的服务器上,会发生以下情况。
图 1. 源服务器中的操作
图 2. 目标服务器中的操作
如果按“检查错误”(Check for Errors) 或“发布”(Publish) 按钮,SPD 将指出没有错误,但工作流会在运行时失败。
所以,在将其粘贴到另一个站点时,务必要清理查找值并进行相应更新。
如果目标工作流/区域不允许这样的操作,情况如何?
假设您复制一个只在列表工作流中有意义的操作,并将其粘贴到站点工作流中。那么,当按下“检查错误”(Check for Errors) 或“发布”(Publish) 按钮时,您会看到以下错误或验证错误。
粘贴为文本
有时,您只想记录工作流逻辑。一种办法是使用可视化设计器,将图表导出到 Visio。但是,以下办法会更快捷:选择要记录的区域,复制并将其粘贴到 Word 或记事本中。下面是上面所用的逻辑被粘贴到 Word 中时的结果。
太方便了!
不支持的功能
尽管我们尝试启用大多数编辑工具内存在的常用功能,但仍应注意下列限制:
- 不支持撤消 (Ctrl-Z)
- 不能通过单击和拖动来选择多个对象
- 不能通过单击和拖动对象来移动选定项目
- 可以使用 Shift+鼠标左键单击选择多项操作,但不能使用它来选择如“阶段”、“步骤”或“并行块”之类的多个构造。
- 也不支持跨不同工作流平台类型进行复制和粘贴。否则,您会看到以下消息之一:
- 在基于文本的设计器中,工作流操作的复制和粘贴没有与剪贴板完全集成,所以剪贴板中的“粘贴”按钮无法正常工作
- 如果尝试跨远程桌面复制和粘贴内容,则不会起作用,因为我们不支持跨具有不同 PID 的 SPD 的复制和粘贴
- 粘贴后,“生成词典”操作不会保留其属性
谢谢,
JongHwa
这是一篇本地化的博客文章。请访问 Copy-and-Paste support in SharePoint Designer 2013 以查看原文