如何创建快速步骤和自定义操作以启动 SharePoint 2013 工作流

原文发布于 2012 年 9 月 28 日(星期五)

大家好,我是来自 SharePoint 设计团队的 JongHwa Lim。jonghwal's pic

今天,我将与你们分享用于在 SharePoint 服务器 UI 上创建功能区按钮的功能。按此按钮时将启动 SharePoint 2013 工作流。事实上,您可以通过实际上共享许多共同事务的两个不同功能来实现此目标 – 它们就是“快速步骤”和“自定义操作”。我首先将介绍“快速步骤”,其针对此目标提供了更合适的用户体验,然后再简要地说明“自定义操作”。

如果您已习惯于用来启动 SharePoint 2010 工作流的“自定义操作”或“快速步骤”,那么只需尝试创建一个来启动 SharePoint 2013 工作流。由于 UX 基本上相同,因此对于以前曾这样做过的用户而言应该很容易。

快速步骤

我将详细地解释如何创建“快速步骤”来启动 SharePoint 2013 工作流。

准备

创建“快速步骤”需要一些必备条件。

首先,您需要准备“功能区”图标文件,以显示在将在以下步骤中定义的“快速步骤”的功能区。我决定使用的是“网站资产”(Site Assets) 文档库并在那里上传了图像文件。

clip_image001

其次,您必须拥有要在其中创建“快速步骤”的列表或文档库。在本示例中,我将使用“假期请求”(Vacation Request) 列表,并创建一个可启动工作流来请求批准假期的快速步骤。

clip_image002 

创建快速步骤

既然您有了要使用的列表,现在就可以创建“快速步骤”了。这非常容易。只需单击“列表”(LIST) 功能区选项卡中“自定义列表”(Customize List) 组下的“新建快速步骤”(New Quick Step) 按钮(如下面突出显示)即可。

clip_image003

clip_image004

如果您使用文档库,则可以在“库”(LIBRARY) 功能区选项卡中的“自定义库”(Customize Library) 组下找到它,如下所示。

clip_image005

clip_image006

单击该按钮即会将您带到以下对话框,您只需在其中选择“允许”(Allow)。

clip_image007

SPD 接着便会启动,其中显示“假期请求”(Vacation Request) 列表,并且弹出以下对话框。

clip_image008

请花些时间探索此对话框上的 UI。您将会发现可以基于 SharePoint 2013 工作流或 SharePoint 2010 工作流创建新的工作流,或者使用一些现有的工作流。您还将注意到可以定义按钮标签和按钮图像。在基于 SharePoint 2013 工作流创建新的工作流时,请选择“启动新工作流”(Start a new workflow) 选项,然后选择“SharePoint 2013 工作流”(SharePoint 2013 Workflow) 作为“平台类型”(Platform Type)。针对“按钮标签”(Button Label) 字段键入“Vacation Approval”。最后,单击“浏览”(Browse) 按钮找到我们在“准备”部分上传的图标图像。您的对话框应看起来如下所示:

clip_image009

单击“确定”(OK) 后,针对 SharePoint 2013 工作流而设计的工作流将如下所示。请尽管完成工作流逻辑。在本示例中,如之前所述,我们将创建“假期审批”(Vacation Approval) 工作流。

clip_image010

一旦发布工作流,您就已完成创建新的快速步骤。如果转到“项目”(ITEMS) 功能区选项卡,您将会发现创建了一个新的功能区组“快速步骤”(Quick Steps),同时还创建了一个新的功能区菜单“假期审批”(Vacation Approval)。

clip_image011

而如果您转到 SPD 中“假期请求”(Vacation Request) 列表的列表摘要页面,将会发现存在名为“按钮 – 假期审批”(Button – Vacation Approval) 的工作流,并且创建了名为“假期审批”(Vacation Approval) 的自定义操作。事实上,快速步骤是一种特定类型的自定义操作。因此,如果您熟悉自定义操作的功能,那么也可以将它们应用到快速步骤。

clip_image012 

修改快速步骤(高级)

由于快速步骤是由自定义操作(“查看功能区”类型的自定义操作)和列表工作流混合组成,因此您可以应用某些自定义操作功能来修改所创建的快速步骤。如果单击“自定义操作”平板中的“假期审批”(Vacation Approval),将会显示以下对话框。

您可以更改按钮的名称,甚至更新快速步骤以执行不同的工作,如导航到某些表单或网页,或者启动不同的工作流。

clip_image013

如果您向下滚动一点,就可以找到一些高级的设置。如果您使用“功能区位置”(Ribbon Location) 字段和“序列号”(Sequence number) 字段,则可以更改功能区按钮的位置。

clip_image014

例如,我们希望该按钮显示在“工作流”(Workflows) 组,而不是“快速步骤”(Quick Steps) 组中,并且希望它在组中最后一个显示。那么可以通过修改以下各项的值轻松地实现此目标:

clip_image015

这样即会使该按钮显示在目标位置,如下所示。

clip_image016

如果您想要了解有关“功能区位置”(Ribbon Location) 中可用的值的更多信息,请参考以下文章或搜索一些其他说明自定义操作的博客文章。

https://msdn.microsoft.com/zh-cn/library/ee537543(office.14).aspx

对于权限掩码,您可以使用下面网站中用分号分隔的值,以仅允许获得许可的用户查看/使用自定义操作。

https://msdn.microsoft.com/zh-cn/library/microsoft.sharepoint.spbasepermissions(office.12).aspx(该链接可能指向英文页面) 

自定义操作

现在假设,在拥有用来启动“假期请求”(Vacation Request) 工作流的新功能区菜单之后,您想要在列表项菜单上有一个类似的菜单,以便用户右键单击某个项目即可启动工作流,如下所示:

clip_image017

为此,您需要创建一个类型为“列表项菜单”(List Item Menu) 的新自定义操作。您可以在 SPD 中“假期请求”(Vacation Request) 列表的列表摘要页面中找到“自定义操作”(Custom Action) 功能区按钮。如果您单击该按钮,即会向您显示以下选项。在本示例中,请选择“列表项菜单”(List Item Menu)。

clip_image018

在随后的对话框中,请选择“启动工作流”(Initiate workflow) 选项,然后选择在创建快速步骤过程中所创建的“按钮 – 假期审批”(Button – Vacation Approval) 工作流,以便这两个 UI 将启动同一个工作流。最后单击“确定”(OK)。

clip_image019

这样就完成了。您已创建菜单。如果您转到“假期请求”(Vacation Request) 列表,选择一个项目,然后查看列表项菜单,那么就可以找到它。 

已知问题

针对”快速步骤“和”自定义操作“功能,存在一些已知问题。

  • 在启动工作流之后,其转到网站的默认页面,而不是列表
  • 默认情况下,针对从快速步骤创建的工作流,会关闭工作流摘要页面中的以下选项
    clip_image020
  • 如果您单击”自定义操作“(Custom Actions) 平板中的”新建“(New) 按钮,即会自动创建”查看功能区“(View Ribbon) 类型的自定义操作clip_image021 

这是一篇本地化的博客文章。请访问 How to create a Quick Step and Custom Action to start SharePoint 2013 workflow 以查看原文。