1. 程式人生 > >UI Action中Action name需保持有效的可讀性和唯一性

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

ServiceNow UI Action Bugfix

在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的時候應該盡量讓其具有可讀性和唯一性。

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