UI Action中Action name需保持有效的可读性和唯一性

在SN中创建UI Action的时候会涉及到Action Name的填写,此Action Name并非显示名称,而是为了其他调用的而使用的名称,这个名称不会自动校验。一般不会提示出错。但碰到问题检查起来会非常苦恼。所以它的名称应尽量具有可读性和唯一性,当然重点在后者。

案例:
点击某条记录的一个自定义取消按钮(cancel button). 点击之后会报如下错误:
Access to api 'setAbortAction' from scope 'x_xxxx' has been refused due to the api's cross-scope access policy。(x_xxxx只是新建的一个APP且没有其他任何多余的动作,所以我们并不认为是cross-scope access的问题)。

于是去检查setAbortAction,这个方法一般用于Business Rule。

我们通过记录去查找特定的Business Rule, 通过排查我们找到了一个"有问题的"BR", 我们将其设置为inactive,问题表面上解决了,没有再报错,但实际上数据并没有被真正处理,因为该数据以前一直运行正常,就因为我们新创建了一个APP?

最后经过更为繁琐的排查,我们发现某位同学在设置UI Action的时候把action 设置成了简单的cancel。所以系统会按照字母顺序去寻找,当找到第一个cancel的时候就会去触发。而新创建的App会自动生成某些特定的字段,所以它的cancel会默认在第一位。这就是出现错误的真正原因。

所以在定义Action Name的时候应该尽量让其具有可读性和唯一性。

猜你喜欢

转载自blog.51cto.com/13716461/2113559