工作流操作架构概述
上次修改时间: 2011年2月24日
适用范围: SharePoint Foundation 2010
通过使用声明性的、无代码工作流编辑器(如 Microsoft SharePoint Designer 2010),可以构建强大而可靠的工作流以实现大多数常见业务方案的自动化操作。但有时必须根据无法由 Microsoft SharePoint Foundation 2010 提供的条件和操作的默认列表解决的非常复杂且唯一的业务需求来构建工作流。
为了允许无代码编辑器处理更加复杂的业务逻辑,您必须创建自定义的工作流对象并将其部署到运行 SharePoint Foundation 2010 的服务器。在部署自定义的工作流对象之后,新的操作和条件将对工作流编辑器可见。
有关如何创建自定义操作和条件的详细信息,请参阅白皮书"将自定义操作导入 Microsoft Office SharePoint Designer 2007"。本文在 SharePoint Server 2007 SDK:软件开发工具包 (https://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=6d94e307-67d9-41ac-b2d6-0074d6286fa9) 下载文件中提供。
有关创建无代码工作流编辑器的信息,请参阅创建声明性、无代码工作流编辑器。
工作流操作架构包含以下元素:
<WorkflowInfo 元素 (WorkflowActions)>
<Conditions 元素 (WorkflowActions)>
<Default 元素 (WorkflowActions)>
<Condition 元素 (WorkflowActions)>
<Actions 元素 (WorkflowActions)>
<Default 元素 (WorkflowActions)>
<RuleDesigner 元素 (WorkflowActions)>
<FieldBind 元素 (WorkflowActions)>
<Parameters 元素 (WorkflowActions)>
<Parameter 元素 (WorkflowActions)>
备注
XML 架构定义文件通常用于验证 XML 结构和语法。不过,对于 Action 和 Condition 元素,通常包含在 XSD 文件中且易于读取的信息将包含在 SharePoint Foundation 内部代码中。
示例
说明
下面的 XML 示例演示如何构建 .ACTIONS 文件,以便 SharePoint Foundation 能够为声明性的、基于规则的无代码工作流编辑器正确显示 Action 和 Condition 元素。
备注
已经对下面的代码示例中的元素进行编辑以便于阅读。
代码
<?xml version="1.0" encoding="utf-8" ?>
<WorkflowInfo>
<Actions Sequential="then" Parallel="and">
<Action
Name="Get Manager from Active Directory"
ClassName="FindManagerActivity.FindManager"
Assembly="FindManagerActivity, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=ec457ebe7d96977c"
AppliesTo="all"
Category="Extras">
<RuleDesigner Sentence="Get Manager information for %1
(Output: %2 %3 %4 %5 %6) ">
<FieldBind
Field="AccountName"
DesignerType="SinglePerson"
Text="this user"
Id="1"/>
<FieldBind
Field="ManagerAccountName"
DesignerType="ParameterNames"
Text="ManagerAccountName"
Id="2"/>
<FieldBind
Field="ManagerEmailAddress"
DesignerType="ParameterNames"
Text="ManagerEmailAddress"
Id="3"/>
<FieldBind
Field="ManagerDisplayName"
DesignerType="ParameterNames"
Text="ManagerDisplayName"
Id="4"/>
<FieldBind
Field="Outcome"
DesignerType="ParameterNames"
Text="Outcome"
Id="5"/>
<FieldBind
Field="SearchSuccessful"
DesignerType="ParameterNames"
Text="IsSuccess"
Id="6"/>
</RuleDesigner>
<Parameters>
<Parameter
Name="AccountName"
Type="System.String, mscorlib"
Direction="In" />
<Parameter
Name="ManagerAccountName"
Type="System.String, mscorlib"
Direction="Out" />
<Parameter
Name="ManagerEmailAddress"
Type="System.String, mscorlib"
Direction="Out" />
<Parameter
Name="ManagerDisplayName"
Type="System.String, mscorlib"
Direction="Out" />
<Parameter
Name="Outcome"
Type="System.String, mscorlib"
Direction="Out" />
<Parameter
Name="SearchSuccessful"
Type="System.Boolean, mscorlib"
Direction="Out" />
</Parameters>
</Action>
</Actions>
</WorkflowInfo>