创建声明性、无代码工作流编辑器

上次修改时间: 2011年2月28日

适用范围: SharePoint Foundation 2010

Microsoft SharePoint Foundation 中的 websvcWebPartPages Web 服务包含一些方法,这些方法启用基于规则的声明性无代码的工作流编辑器(如 Microsoft SharePoint Designer 2010)以创建工作流模板并将其与特定的 SharePoint 列表关联。

这些方法包括:

  • FetchLegalWorkflowActions() 方法

    使用此方法可获取为 SharePoint Foundation 安装的有效工作流操作的特定语言的列表。这将使创建的应用程序能够用作声明性的工作流编辑器以便在其用户界面中显示操作。

    返回的列表示一个合并的列表,它包含服务器上安装的所有 .actions 文件的内容以及默认情况下首先列出的 SharePoint Foundation 附带的核心工作流操作。

    有关工作流操作的详细信息,请参阅 SharePoint Designer 工作流概述

  • ValidateWorkflowMarkupAndCreateSupportObjects(String, String, String, String) 方法

    使用此方法可验证声明性工作流的工作流标记并创建运行工作流时必需的支持对象(可选)。其中包括:

    • 如果工作流配置数据中未指定任务列表,或指定的任务列表不存在,则创建工作流任务列表。

    • 将每个工作流任务内容类型设置为指定的编辑表单。

    该方法采用以下参数:

    • 以 XOML 格式表示工作流标记文件的 XML。

    • 以 RULES 格式表示工作流规则标记的 XML。

      有关 XOML 和 RULES 工作流格式的详细信息,请参阅 Windows Workflow Foundation

    • 表示遵循工作流配置架构的完整工作流配置文件的 XML。

      有关工作流配置架构的详细信息,请参阅工作流配置架构概述

    • 一个标志值,指定是仅验证工作流标记,还是既验证工作流标记又创建支持对象。

  • AssociateWorkflowMarkup(String, String) 方法

    使用此方法可创建工作流模板并将该工作流模板与指定的 SharePoint 列表关联。

    该方法采用以下参数:

    • 指向要用于此工作流的工作流配置文件的路径。

    • 要使用的工作流配置文件的版本。

    工作程配置文件包含从指定的工作流标记和规则文件创建 SharePoint Foundation 中的工作流模板并将其关联到特定的 SharePoint 列表时必需的信息。工作流配置文件中包含的信息有:

    • 要使用的工作流标记和规则文件,包括要使用的这些文件的适当版本。

    • 工作流应关联到的 SharePoint 列表。

    • 要使用的工作流的任务列表和历史记录列表。

    • 启动工作流所需满足的条件。

    • 工作流初始表单位置、数据字段和默认值。

    工作流配置文件必须遵循工作流配置架构。有关详细信息,请参阅工作流配置架构概述

当创建声明性工作流模板并将其与指定列表关联时,将创建 SPWorkflowTemplateSPWorkflowAssociation 对象以分别表示工作流模板和关联。对于声明性工作流,每个对象的 IsDeclarative 属性均设置为 True。

SharePoint Foundation 包括用于第一次在项目上启动工作流时编译工作流程序集的实时编译器。SharePoint Foundation 将编译的工作流保留在内存中,直到它再次被调用,这类似于服务器对编译的 ASPX 页进行缓存,以便在下次调用该页时加快执行速度。

每次在项目上启动工作流时,SharePoint Foundation 都会确定是将工作流作为程序集还是声明性标记进行部署。如果存在工作流程序集,则 SharePoint Foundation 将调用该程序集以创建工作流实例。如果将工作流作为声明性标记进行部署,则 SharePoint Foundation 接下来会确定内存中是否已存在从该标记编译的工作流程序集。如果存在,则 SharePoint Foundation 会调用内存中编译的工作流来创建工作流实例。如果不存在,则 SharePoint Foundation 将使用它的实时编译器将工作流标记编译为内存中的工作流,然后对其进行调用以创建工作流实例。

对于给定的网站,声明性工作流必须存储在名为"工作流"的网站级文档库中。每个声明性工作流的文件都必须存储在工作流文档库中的单独文件夹中。其中包括工作流标记 (.xoml) 文件、规则文件和工作流配置文件。强烈建议将工作流表单也存储在工作流文件夹中。

请参阅

概念

SharePoint Foundation 工作流开发

工作流配置架构概述

SharePoint Designer 工作流概述