操作是将新记录提交至数据库、将记录从一个状态变迁到另一个状态以及修改或删除记录的机制。
用户单击表单上的操作按钮或打开工具栏上的操作菜单时,会显示有效的操作列表,并会以粗体文字突出显示缺省操作。可以通过使用“状态属性”窗口中的缺省操作选项卡定义缺省操作。请参阅缺省操作。还可以通过挂钩调用缺省操作。
根据用户许可权和记录的状态,将只显示当时可用的操作。为了避免可能发生的性能问题,计算有效操作时不会运行访问控制挂钩。
可以通过定义操作以执行以下任务:
- 创建新的记录并将其添加到数据库中。
- 修改记录中的信息。(与每个字段关联的行为还可限制对该记录中特定字段的访问。)
- 将记录从一个状态变迁到另一个状态:
- 将一条记录标记为另一条记录的复本。
- 执行挂钩。操作挂钩可处理访问控制、初始化、验证和通知。请参阅通过添加挂钩定制操作。
- 删除数据库中的记录。
您可以控制哪些用户可以访问哪些操作以及何时执行这些操作。
这里支持常用操作的一些预定义操作类型,例如,“提交”操作和“更改状态”操作。请参阅受支持的操作类型。
在 Designer 中,每种记录类型均具有一个“操作”网格,它定义了该类型的记录可用的操作。
您可使用“操作”网格来添加、修改和删除操作,以及创建状态过渡。
受支持的操作类型
Rational® ClearQuest® 软件支持以下类型的操作:
- 操作类型
- 描述
- 基本
- “基本”操作属于辅助操作,作为其他每个操作的结果而运行。您可为“基本”操作编写一个操作挂钩,而这个挂钩可用于多个操作。每次执行操作时,“基本”操作均会验证挂钩条件是否满足;如果满足,那么“基本”操作会执行其过程。例如,您可给“基本”操作添加“通知”操作挂钩,从而在执行“关闭”操作(将记录变迁到“关闭”状态的“更改状态”操作类型)时,让“基本”操作发送电子邮件通知。“基本”操作不会出现在 Rational ClearQuest 客户机的操作列表中。
对“基本”操作设置访问控制会影响模式中的所有操作。
可以修改对操作(包括可通过应用程序包添加到模式的操作)的访问控制。
然而,对基本操作的任何访问控制限制也适用于所有其他操作。
- 更改状态
- “更改状态”操作只可用于基于状态的记录类型。“更改状态”操作将记录从源状态变迁到目标状态。“更改状态”操作可引用多个源状态,但是目标状态只有一个。仅当当前记录处在某个源状态时,“更改状态”操作才会出现在 Rational ClearQuest 客户机的操作列表中。
- 删除
- “删除”操作允许用户删除数据库中的记录。
“删除”操作会出现在 Rational ClearQuest 客户机的操作列表中。
- 重复
- “重复”操作只可用于基于状态的记录类型。此操作会将记录链接到另一条包含类似信息的记录。仅当当前记录处在某个源状态时,“重复”操作才会出现在 Rational ClearQuest 客户机的操作列表中。
- 隐藏
- “隐藏”操作支持模式设计人员对由于操作访问控制挂钩导致用户无权执行的操作进行隐藏。
- 导入
- “导入”操作可导入来自其他源的记录。在执行导入操作时,会验证要导入的记录内容,但不会执行字段级的验证。此外,导入一组基于状态的记录时,会给这些记录指定数据文件中所指定的状态,而不会对其是否能够变迁到该状态进行验证。“导入”操作不会出现在 Rational ClearQuest 客户机的操作列表中。
- 修改
- “修改”操作允许用户修改记录中的字段值,而不变迁记录的状态。“修改”操作会出现在 Rational ClearQuest 客户机的操作列表中。
- 记录脚本别名
- “记录脚本别名”会将操作名称与记录脚本关联。
这样就使“记录脚本别名”操作出现在 Rational ClearQuest 客户机的操作列表中。
但是,“记录脚本别名”操作不是实体操作,因为它们不属于记录类型状态,并且不会自动处理实体 - 这些操作的行为由记录脚本别名的编码方式决定。
因此,“记录脚本别名”操作不属于如 GetActionName 和 GetActionType 之类的实体函数或其他处理实体操作的函数的有效参数。
- 提交
- “提交”操作会将新记录输入到 Rational ClearQuest 用户数据库中。对于基于状态的记录,此操作会指定目标状态,但无需源状态。每种记录类型均只能有一个“提交”类型的操作。
- 消除重复
- “消除重复”操作可用于基于状态的记录类型。
此操作会除去重复记录之间的链接。
创建状态过渡
Rational ClearQuest 模式开发者定义了用户如何变迁记录状态的规则。
状态过渡由操作实施。要创建状态过渡,可定义一个类型为“更改状态”的操作,然后为该操作选择源状态和目标状态。
通过添加挂钩定制操作
您可添加操作挂钩,从而在活动记录的生命周期中一些关键点执行任务。
例如,缺省情况下,所有用户均可访问每个操作。您可通过使用访问控制挂钩,限制对某个操作的访问。
受支持的几个操作挂钩包括:访问控制、初始化、验证、落实和通知。
对于操作挂钩的描述以及如何一起使用操作挂钩与字段挂钩的信息,请参阅使用挂钩来定制工作流程。
要了解如何创建访问控制操作挂钩,请参阅操作访问控制挂钩示例。
另请参阅脚本语言和操作访问控制。
缺省操作
您可以定义状态的缺省操作。在 Rational ClearQuest 客户机的“操作”菜单中以粗体显示状态的缺省操作。
缺省操作对于指导用户了解状态模型很有用。某些模式和程序包(如 UCM 模式和程序包)需要缺省操作。如果使用 UCM 模式或程序包,那么状态的缺省操作必须通过状态的类型模型提供有效路径。有关更多信息,请参阅添加 IBM® Rational UCM 集成。此外,还可从挂钩代码调用缺省操作。
定义状态的缺省操作之前,必须先创建状态过渡。
删除操作
删除操作可能需要对模式进行其他更改。例如,如果删除“更改状态”操作,那么可能需要修改“状态过渡矩阵”以弥补丢失的操作。如果在脚本中引用了已经删除的操作,那么必须修改脚本以删除所有对该操作的引用。