Domain system properties and user preferences
Summarize
Summary of Domain system properties and user preferences
ServiceNow administrators managing domain separation have access to system properties and user preferences that control domain scope behavior. These settings determine how domain separation restricts data visibility and process execution based on the domain context of records and user sessions. Proper configuration ensures accurate domain-based data segregation and process control across the platform.
Show less
Domain System Properties
Properties primarily control whether domain scope is determined by the record's domain or the user's session domain for data access and process execution:
- glide.sys.domain.userecorddomainforprocesses: When true (default), processes except business rules execute within the record's domain scope.
- glide.sys.domain.userecorddomainfordata: When true (default on new activations from Fuji release onward), data access is restricted to the record's domain.
Enabling either of these properties disables older properties that control domain scope behavior, streamlining domain enforcement.
For business rules executed on domain tables, key properties include:
- glide.sys.domain.skipdomaininsertbusinessrules: Controls whether business rules run according to the user's session domain (true by default in new activations from Jakarta release) or the domain hierarchy (false in older implementations). Setting this to true improves domain insert performance.
- glide.sys.domain.skipnonglobalbusinessruleifnodomain: Ensures only global domain business rules execute when no domain is specified, supporting best practices for domain separation.
ServiceNow recommends domain-separating tables and preferring the record's domain scope over session domain scope for data and processes.
User Preferences
User administrators can configure preferences globally or per user to adjust domain scope behavior in the UI:
- glide.domain.sessionscope: When true, sets default domain scope to the user's session domain; when false (default), defaults to the record's domain. Users with the domainexpandscope role can override this.
- glide.domain.sessionscopenotification: Controls whether a visual notification appears when record values include an expanded domain scope. Default is true (notification shown).
Practical Impact for ServiceNow Customers
By configuring these properties and preferences, administrators can precisely control how domain separation impacts data visibility and process execution. This ensures compliance with organizational data segregation policies and optimizes platform performance, particularly during domain inserts. Understanding and applying these settings enables administrators to tailor domain scope behavior to their deployment needs, enhancing security and operational clarity across domain-separated instances.
Administrators have access to properties and user preferences that control domain scope.
Properties
New activations of domain separation automatically restrict domain scope to the record's domain for all related data or processes. When the user views a record in a form, the record's related data (such as reference picker and related list data) and applied processes (such as business rules and client scripts) are restricted to the record's domain scope. If there are records in multiple tabs, each tab has its own domain scope based on the record opened within that tab. The following properties restrict domain scope to either the record’s domain and the user’s current session domain.
| Property | Details |
|---|---|
| glide.sys.domain.use_record_domain_for_processes | Restricts domain scope to the record's domain for all processes. This
property does not apply to business rules. Business rules are always processed
from the domain record.
|
| glide.sys.domain.use_record_domain_for_data | Restricts domain scope to the record's domain for all data.
|
- glide.sys.domain.use_record_domain
- glide.sys.domain.use_record_domain_for_client_scripts
- glide.sys.domain.domain_change_notify
- glide.sys.domain.no_change_roles
In new activations of domain separation starting with the Jakarta release, the session domain determines the business rules executed on the domain table. In previous versions, business rules executed on the domain table were set based on the newly created domain’s hierarchy. This behavior is modified by the glide.sys.domain.skip_domain_insert_businessrules property. Setting this property to true significantly improves domain insert performance.
| Property | Details |
|---|---|
| glide.sys.domain.skip_domain_insert_businessrules | Specifies the domain scope for business rules executed on the domain table.
In new activations of domain separation, the property default is true and business
rules are determined by the session domain. In existing implementations, the
property default is false and the business rules are determined by the newly
created domain’s hierarchy.
|
| glide.sys.domain.skip_non_global_businessrule_if_nodomain | Ensures that only bus.rules from global domain are executed when using
queryNoDomain() or when table is not domain-separated, so you can skip any other
business rules
|
User preferences
In addition, user administrators can set the following user preference globally or on a per-user basis:
| Preference | Category | Updated By | Details |
|---|---|---|---|
| glide.domain.session_scope | Domain | Admin Only | When true, sets the default scope to the user's session domain rather than
the record's domain. When false, the default scope is the record's domain. Users
with the domain_expand_scope user role can still change the domain scope as needed.
|
| glide.domain.session_scope_notification | Domain | Admin Only | When true, displays a visual cue that record values include an expanded
domain scope. When false, the notification is hidden.
|