如何创建快速步骤和自定义操作以启动 SharePoint 2013 工作流
原文发布于 2012 年 9 月 28 日(星期五)
大家好,我是来自 SharePoint 设计团队的 JongHwa Lim。
今天,我将与你们分享用于在 SharePoint 服务器 UI 上创建功能区按钮的功能。按此按钮时将启动 SharePoint 2013 工作流。事实上,您可以通过实际上共享许多共同事务的两个不同功能来实现此目标 – 它们就是“快速步骤”和“自定义操作”。我首先将介绍“快速步骤”,其针对此目标提供了更合适的用户体验,然后再简要地说明“自定义操作”。
如果您已习惯于用来启动 SharePoint 2010 工作流的“自定义操作”或“快速步骤”,那么只需尝试创建一个来启动 SharePoint 2013 工作流。由于 UX 基本上相同,因此对于以前曾这样做过的用户而言应该很容易。
快速步骤
我将详细地解释如何创建“快速步骤”来启动 SharePoint 2013 工作流。
准备
创建“快速步骤”需要一些必备条件。
首先,您需要准备“功能区”图标文件,以显示在将在以下步骤中定义的“快速步骤”的功能区。我决定使用的是“网站资产”(Site Assets) 文档库并在那里上传了图像文件。
其次,您必须拥有要在其中创建“快速步骤”的列表或文档库。在本示例中,我将使用“假期请求”(Vacation Request) 列表,并创建一个可启动工作流来请求批准假期的快速步骤。
创建快速步骤
既然您有了要使用的列表,现在就可以创建“快速步骤”了。这非常容易。只需单击“列表”(LIST) 功能区选项卡中“自定义列表”(Customize List) 组下的“新建快速步骤”(New Quick Step) 按钮(如下面突出显示)即可。
如果您使用文档库,则可以在“库”(LIBRARY) 功能区选项卡中的“自定义库”(Customize Library) 组下找到它,如下所示。
单击该按钮即会将您带到以下对话框,您只需在其中选择“允许”(Allow)。
SPD 接着便会启动,其中显示“假期请求”(Vacation Request) 列表,并且弹出以下对话框。
请花些时间探索此对话框上的 UI。您将会发现可以基于 SharePoint 2013 工作流或 SharePoint 2010 工作流创建新的工作流,或者使用一些现有的工作流。您还将注意到可以定义按钮标签和按钮图像。在基于 SharePoint 2013 工作流创建新的工作流时,请选择“启动新工作流”(Start a new workflow) 选项,然后选择“SharePoint 2013 工作流”(SharePoint 2013 Workflow) 作为“平台类型”(Platform Type)。针对“按钮标签”(Button Label) 字段键入“Vacation Approval”。最后,单击“浏览”(Browse) 按钮找到我们在“准备”部分上传的图标图像。您的对话框应看起来如下所示:
单击“确定”(OK) 后,针对 SharePoint 2013 工作流而设计的工作流将如下所示。请尽管完成工作流逻辑。在本示例中,如之前所述,我们将创建“假期审批”(Vacation Approval) 工作流。
一旦发布工作流,您就已完成创建新的快速步骤。如果转到“项目”(ITEMS) 功能区选项卡,您将会发现创建了一个新的功能区组“快速步骤”(Quick Steps),同时还创建了一个新的功能区菜单“假期审批”(Vacation Approval)。
而如果您转到 SPD 中“假期请求”(Vacation Request) 列表的列表摘要页面,将会发现存在名为“按钮 – 假期审批”(Button – Vacation Approval) 的工作流,并且创建了名为“假期审批”(Vacation Approval) 的自定义操作。事实上,快速步骤是一种特定类型的自定义操作。因此,如果您熟悉自定义操作的功能,那么也可以将它们应用到快速步骤。
修改快速步骤(高级)
由于快速步骤是由自定义操作(“查看功能区”类型的自定义操作)和列表工作流混合组成,因此您可以应用某些自定义操作功能来修改所创建的快速步骤。如果单击“自定义操作”平板中的“假期审批”(Vacation Approval),将会显示以下对话框。
您可以更改按钮的名称,甚至更新快速步骤以执行不同的工作,如导航到某些表单或网页,或者启动不同的工作流。
如果您向下滚动一点,就可以找到一些高级的设置。如果您使用“功能区位置”(Ribbon Location) 字段和“序列号”(Sequence number) 字段,则可以更改功能区按钮的位置。
例如,我们希望该按钮显示在“工作流”(Workflows) 组,而不是“快速步骤”(Quick Steps) 组中,并且希望它在组中最后一个显示。那么可以通过修改以下各项的值轻松地实现此目标:
这样即会使该按钮显示在目标位置,如下所示。
如果您想要了解有关“功能区位置”(Ribbon Location) 中可用的值的更多信息,请参考以下文章或搜索一些其他说明自定义操作的博客文章。
https://msdn.microsoft.com/zh-cn/library/ee537543(office.14).aspx
对于权限掩码,您可以使用下面网站中用分号分隔的值,以仅允许获得许可的用户查看/使用自定义操作。
自定义操作
现在假设,在拥有用来启动“假期请求”(Vacation Request) 工作流的新功能区菜单之后,您想要在列表项菜单上有一个类似的菜单,以便用户右键单击某个项目即可启动工作流,如下所示:
为此,您需要创建一个类型为“列表项菜单”(List Item Menu) 的新自定义操作。您可以在 SPD 中“假期请求”(Vacation Request) 列表的列表摘要页面中找到“自定义操作”(Custom Action) 功能区按钮。如果您单击该按钮,即会向您显示以下选项。在本示例中,请选择“列表项菜单”(List Item Menu)。
在随后的对话框中,请选择“启动工作流”(Initiate workflow) 选项,然后选择在创建快速步骤过程中所创建的“按钮 – 假期审批”(Button – Vacation Approval) 工作流,以便这两个 UI 将启动同一个工作流。最后单击“确定”(OK)。
这样就完成了。您已创建菜单。如果您转到“假期请求”(Vacation Request) 列表,选择一个项目,然后查看列表项菜单,那么就可以找到它。
已知问题
针对”快速步骤“和”自定义操作“功能,存在一些已知问题。
- 在启动工作流之后,其转到网站的默认页面,而不是列表
- 默认情况下,针对从快速步骤创建的工作流,会关闭工作流摘要页面中的以下选项
- 如果您单击”自定义操作“(Custom Actions) 平板中的”新建“(New) 按钮,即会自动创建”查看功能区“(View Ribbon) 类型的自定义操作
这是一篇本地化的博客文章。请访问 How to create a Quick Step and Custom Action to start SharePoint 2013 workflow 以查看原文。