发新话题
打印

[已解决] 加载Audit Trail包后创建失败( 此文章被查看:474次,被回复:5篇!! )

加载Audit Trail包后创建失败

加载了Audit Trail的1.2.3版本,使用Perl脚本语言,结果创建和修改记录的时候均发生错误,切换到Basic脚本语言的时候却工作正常.
非常郁闷啊,有哪位遇到过这种问题吗?




问题已经解决 [打开主题]
本主题的最佳答案为 [ 4 楼].



© 本文为 nick_ckSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

是不是CQ本身的bug?
使用的perl脚本怎么会出现AD_VALIDATED呢?



© 本文为 nick_ckSCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

你用的CQ是什么版本?

Audit Trail 1.2.3应该是应用到一个中文的SCHEMA上的



© 本文为 softflySCMLife 共同所有,未经同意,请勿转载 ©如该文侵犯了您的版权,请联系管理员

TOP

CQ的版本是7.0.1
schema肯定是中文的
我感觉象是package自身的问题啊.要不我换个低版本的package试试.


最佳答案
该回答被楼主/管理员列为正解!

© 本文为 nick_ck 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

我看了下,应该是CQ自身的bug,Action Hook中有几句这样的代码:
$logRecord->EditEntity("Modify");
...
$logRecord->Validate();
$logRecord->Commit();

而这样写本身就有隐错的,错误的原因是如果validate失败,commit仍然会执行,就会抛出这个错误。
代码应该写成如下形式才对:
$returnval = $logRecord->Validate();
if ($returnval ne ""){
   $logRecord->Revert():
} else {
   $logRecord->Commit();
}

但Audit Trail包对应的Action Hook是不能修改的,
可以尝试这样去做:
将Audit Trail对应的Base Action:at_Base对应的Validation和Commit Hook拷贝出来,
然后删除此Action,重新创建一个同名的Action,把对应的代码加进去,按照上面说的对代码进行修改,然后测试。

[ 本帖最后由 yunshan 于 2008-1-29 10:14 编辑 ]

© 本文为 yunshan 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

多谢斑竹的回复.
我刚才试了下Audit Trail 1.2就没有问题,可以正常使用.

另外斑竹说的方法我也试了一下,也是可行的,非常牛X,赞一个!
好象Audit Trail的package有个限制,那就是必须存在名字是"Modify"的action,通过斑竹的方法可以直接修改代码,就可以无视这个约束了.

[ 本帖最后由 nick_ck 于 2008-1-29 10:43 编辑 ]

© 本文为 nick_ck 所有,未经同意,请勿转载
©如该文侵犯了您的版权,请联系管理员

TOP

发新话题