The CreatorCon Call for Content is officially open! Get started here.

Dictionary entry mandatory vs ACLs

Dominik15
Tera Contributor

Hi All,

I am wondering what takes priority when in Dictionary entry for a field I will set to be readonly and also for this field I will configure ACL which controls if field should be readonly. What happens when ACL returns answer = false; and checkbox for readonly field in Dictionary entry is checked?

1 ACCEPTED SOLUTION

Yousaf
Giga Sage

Hi Dominik,

 

They all are created for different purpose. Please don't get confused with each other.

ACL - Purpose of this is to ensure what data users can access and how they can access it

 

Client Script - This is for Client side (or browser side) validation. Client side validation includes, making a field mandatory, read-only, hidden etc. This will get applied only at the browser.

 

UI Policy - This is similar to Client Script, except that not need to write a script

 

Business Rule. This script runs at the server side when a form Insert, Update etc. This can do some action that can be achieved only by running from Server.

 

 

 

Field State (Mandatory,Visible, Read only) is generally applied in the following order of preference, where one is the top preference:

 

  1. ACL (Visible/Disabled)
  2. Dictionary Entry (Mandatory/Disabled)
  3. UI Policy (Mandatory/Visible/Disabled)
  4. Data Policy as UI   (Mandatory/Disabled)
  5. Client Script (Mandatory/Visible/Disabled)

 

 

Examples:

 

If the user does not have write access to a field (ACL), a UI Policy to make it editable will do nothing.

 

If a field is set to disabled on a Dictionary Entry, a UI Policy to make it mandatory or editable disabled will do nothing.

 

If a field is made read only by a Client Script, a UI Policy to make it editable will take preference.

 

3,4 or 5 may be variable based on order.

 

 

 

Reference: Hierarchy of Client Script, UI Policy and Business Rule and ACL

https://community.servicenow.com/community?id=community_question&sys_id=7033c7e1dbd8dbc01dcaf3231f96...

 

Mark Correct or helpful if it helps.


***Mark Correct or Helpful if it helps.***

View solution in original post

4 REPLIES 4

Yousaf
Giga Sage

Hi Dominik,

 

They all are created for different purpose. Please don't get confused with each other.

ACL - Purpose of this is to ensure what data users can access and how they can access it

 

Client Script - This is for Client side (or browser side) validation. Client side validation includes, making a field mandatory, read-only, hidden etc. This will get applied only at the browser.

 

UI Policy - This is similar to Client Script, except that not need to write a script

 

Business Rule. This script runs at the server side when a form Insert, Update etc. This can do some action that can be achieved only by running from Server.

 

 

 

Field State (Mandatory,Visible, Read only) is generally applied in the following order of preference, where one is the top preference:

 

  1. ACL (Visible/Disabled)
  2. Dictionary Entry (Mandatory/Disabled)
  3. UI Policy (Mandatory/Visible/Disabled)
  4. Data Policy as UI   (Mandatory/Disabled)
  5. Client Script (Mandatory/Visible/Disabled)

 

 

Examples:

 

If the user does not have write access to a field (ACL), a UI Policy to make it editable will do nothing.

 

If a field is set to disabled on a Dictionary Entry, a UI Policy to make it mandatory or editable disabled will do nothing.

 

If a field is made read only by a Client Script, a UI Policy to make it editable will take preference.

 

3,4 or 5 may be variable based on order.

 

 

 

Reference: Hierarchy of Client Script, UI Policy and Business Rule and ACL

https://community.servicenow.com/community?id=community_question&sys_id=7033c7e1dbd8dbc01dcaf3231f96...

 

Mark Correct or helpful if it helps.


***Mark Correct or Helpful if it helps.***

Dominik15
Tera Contributor

Thanks for explanation

Srinivasulu Lag
ServiceNow Employee
ServiceNow Employee

Hi Dominik,

Dictionary entry takes precedence and overwrites ACL.

Please look at the following thread for similar question.

Please Mark ✅ Correct/helpful, if applicable.

Thanks,

Srinivasulu Laggala

 

Hi Srinivasulu, thank you for resposne. I think you forgot to add link to the thread mentioned.