在Schema设计中,我们经常把一些公用的代码写入Base Action的hook,这样可以减少我们的工作量与Schema的复杂性。然而,ClearQuest关于Base Action的设计并不完善,BaseAction的hook只能先于顶层Action运行,而不能晚于顶层Action的hook运行,这种缺失导致有时候无法利用BaseAction的便利。下面结合具体的经历说一下这种缺失带来的不便。
我们的Schema中主Entity叫Issue,通过一种叫Change_Log的Entity来记录字段的改动,所有这些改动都记录在Issue的Reference List类型字段log中。Schema中的逻辑是这样,在Base Action的Validation hook中检测Issue字段的变动,并根据这些变动生成相应的Change_Log并添加到Issue的字段log。其他Action的Validation hook中也有逻辑代码,这些代码有时会导致Issue的提交失败。于是,问题就出来了,CQ中经常出现没有被关联到Issue上的Change_Log,即没有实际意义的log。这些log是这样产生的:首先,对Issue的修改通过了Base Action的验证并执行了生成Change_Log的代码,接着执行外层Action的Validation hook,如果外层hook验证失败且用户撤销了这次改动,那么对Issue字段的改动也会被撤销,先前生成的Change_Log也就失去了意义,但是这些无意义的log却遗留在了CQ中。
然而很多应用都依赖Issue的Change_Log,由于无意义log的存在,我们的脚本不得不从Issue来查询log,因为直接从Change_Log查询会不可避免的抓到脏数据(无意义的log)。但是从Issue查询log效率低下,尤其是哪些数据量庞大的CQ,与直接从Change_Log查询相比效率下降的非常明显,甚至不可接受。
意识到这种问题后我们开始设法避免这种无意义的log产生,提高CQ的效率。开始想到用Commit hook,然而Validation hook是最后一次修改Entity的机会,Commit hook不允许再修改Entity,而我们的Change_Log还必须关联到Issue上,所以用Base Action的Commit hook无法解决这个问题。后来将记录log的代码从Base Action移到外层Action的Validation hook中,即每一个外层Action的Validation hook中都把记录log的代码重写一遍,才避免了无意义的log的产生。
如果ClearQuest有在外层Action执行完之后才执行的Base Action,那么像无意义log这种问题就很容易解决了。遗憾的是ClearQuest没有提供这样的功能,我们不得不曲线处理。
分享到:
相关推荐
Rational的ClearQuest就是其中比较强大的一种缺陷跟踪工具。ClearQuest类似一个开发平台,可以很方便的配置各种需要的选项。 我这里单纯的把CQ用于缺陷管理,其实有些浪费了。在Rational的套件中,ClearQuest应该是...
ClearQuest_中文使用说明书.doc
IBM Rational ClearQuest是一个缺陷和变更追踪系统,组织和自动化处理与提交、分配、追踪、测试和发布变更请求相关的过程。Eclipse是一个可扩展的平台,其为工具集成提供了一个媒介。ClearQuest的Eclipse插件使你...
ClearQuest基本使用手册,适合初学者对CQ工具的了解和使用
很多大公司现在都用ClearQuest,ClearCase管理代码版本和BUG。资源是公司内部关于ClearQuest,ClearCase的操作使用指南,对使用ClearQuest,ClearCase有很好的指导意义
ClearQuest的配置方法
Rational ClearQuest操作手册.pdf
Rational Clearquest 基本使用
clearcase clearquest集成使用指南 1 ClearCase和ClearQuest的集成 4 2 集成过程 4 2.1 创建CQ Enabled Project 4 2.2 设置策略 6 2.3 关联活动 7 2.4 在ClearQuest界面执行ClearCase的一些操作 9 2.5 如何取消...
Rational ClearCase是一个业界领先的软件配置管理工具,Rational ClearQuest则是IBM Rational在变更管理和缺陷跟踪方面的软件。业界对于变更管理软件和配置管理软件的集成有着强烈的需求,因此IBM Rational也提供了...
这是一份参考别人并加以自己编辑的Rational ClearQuest的使用手册,内容讲解比较详细。...Rational的ClearQuest就是其中比较强大的一种缺陷跟踪工具。ClearQuest类似一个开发平台,可以很方便的配置各种需要的选项。
Clearquest是Rational开发的一种缺陷跟踪工具,它类似一个开发平台,可以很方便的配置各种需要的选项,用于对缺陷的提交、处理以及统计。它最显著的优点是可以对缺陷和记录的变化进行跟踪管理,体现了一个缺陷的完整...
自己亲自测试安装,历时1周时间,IBM rational ClearQuest 8 最详细的安装步骤文档。参考无数网上资料,分类加工整理。数据库采用oracle。
软件配置管理:基于UCM方式。包括clearcase,clearquest的使用等内容
ClearCase/ClearQuest使用手册
Rational ClearQuest使用说明书1-7.
IBM提供的官方API 包含多种实体,支持VBS 以及PEAR脚本开发
1、CLEARQUEST客户端安装及设置 2、基本操作 3、高级使用 4、帮助
《ClearQuest配置手册发布版》(中文),适合新手学习ClearQuest
有图片 一步一步指导安装配置 有图片 一步一步指导安装配置