在BI 4.0的what's new文档中,我们可以发现这样一段描述:
Secure 'Refresh on open' option
The "Refresh on open" option is dependent on two CMS settings (document-related and user-related
security settings): "Check automatic refresh on open" in the CMC/Application/WebI properties and the
"Disable automatic refresh on open" in the CMC/Application/user security settings.
?
也就是说关于webi文档的refresh on open控制变得似乎稍微复杂了一些。尤其当我们按照文档去CMC里去寻找这个选项时:
Automatic Document Refresh on Open Security Right Setting
?Check the "Disable Automatic Refresh on Open for all documents" security right |
而这是access level中相关的设置:
?
当我第一次看到这样的设置描述时,我有撞墙的冲动。可能没有比这更让人迷惑的选项设置了。而webi的用户手册里概述了如何联合使用它与access level来控制refresh on open,但是我依然觉得是晦涩的(可能我太笨了)。我们还是做一些实验来确认这个新功能。
?
场景1:CMC应用中不勾选;access level中授权"Disable automatic refresh on open"
测试结果表明,是由webi文档本身的属性来控制是否在打开文档时刷新的。
?
场景2:CMC应用中勾选;access level中授权"Disable automatic refresh on open"
测试结果与场景1相同,即CMC的选项并未起作用。
?
场景3:CMC应用中勾选;access level中不授权"Disable automatic refresh on open"
即便webi文档不勾选refresh on open,也会执行refresh on open
?
场景4:场景3:CMC应用中不勾选;access level中不授权"Disable automatic refresh on open"
测试结果与场景1相同,即文档设定起作用。
?
结论
那么根据以上结果,我们可得知CMC中的选项是全局控制,可以激活让webi文档一直执行refresh on open。但是如果授权了个别用户/组具备覆盖这一设定的权限,则行为回归正常,由文档的设定起作用。
?
改进
首先CMC与access level中的设定名称是十分让人迷惑的。为什么不简单的称为"Always enable refresh on open(could be overrides by access level xxxx rights)"。
其次,既然提供了全局激活refresh on open的功能,为何不提供全局总是不在打开文档时刷新的功能?
至于名称的设定,我想,可能开发人员是按照开发逻辑来命名的,也就是说因为这是BI 4.0中新引进的应用权限的一种,所以自然实现是靠运行时对这一权限的检查,但是,至少从我个人来讲,不通过文档和测试,我无法理解这个设定背后的逻辑。
好吧,如果你们也同意,让我们提交到SAP IDEA PLACE吧!