Domain system properties and user preferences

  • Release version: Xanadu
  • Updated August 1, 2024
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Domain System Properties and User Preferences

    This document outlines the domain system properties and user preferences that control domain scope in ServiceNow, particularly focusing on how these settings affect data and processes related to domain separation. Understanding these properties enables administrators to manage domain scope effectively, ensuring data integrity and compliance with domain-specific rules.

    Show full answer Show less

    Key Features

    • Domain Scope Restriction: New activations of domain separation automatically restrict domain scope to the record's domain, affecting related data and processes.
    • System Properties: Two key properties, glide.sys.domain.userecorddomainforprocesses and glide.sys.domain.userecorddomainfordata, determine whether the domain scope is restricted to the record’s or the user’s session domain.
    • Business Rules Execution: In new domain activations starting with Jakarta, the session domain dictates the business rules executed, enhancing performance.
    • User Preferences: Administrators can set user preferences that influence the default domain scope for users, allowing for flexibility based on specific needs.

    Key Outcomes

    By effectively configuring these properties and preferences, ServiceNow customers can:

    • Ensure that users interact with data that is relevant to their domain, enhancing data security and compliance.
    • Control the execution of business rules based on session or record domains, leading to improved system performance.
    • Customize user experience by setting preferences for domain visibility, allowing users to work within their required domain context.

    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.

    Table 1. Domain system properties
    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.
    • Type: true | false
    • Default value: true
    • Location: System Property [sys_properties] table
    glide.sys.domain.use_record_domain_for_data Restricts domain scope to the record's domain for all data.
    • Type: true | false
    • Default value: true in new domain activations from Fuji onwards (upgrades from instances older than Fuji do not have this property in the table)
    • Location: System Property [sys_properties] table
    When either the glide.sys.domain.use_record_domain_for_processes or the glide.sys.domain.use_record_domain_for_data property is set to true, the following properties are not used, regardless of their setting:
    • 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
    For a full list of properties see Available system properties.
    Note:

    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.

    Table 2. Domain scope properties for business rules executed on the domain table
    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.
    • Type: true | false
    • Default value: True in new domain activations starting with Jakarta. False in existing implementations.
    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
    • Type: true | false
    • Setting the property to false restores the old behavior and doesn't align with ServiceNow® recommended practices.
    • Recommended: Domain-separate your tables; always try to use the record's domain rather than the session domain.

    User preferences

    In addition, user administrators can set the following user preference globally or on a per-user basis:

    Table 3. Domain scope user preferences
    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.
    • Type: true | false
    • Default value: false
    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.
    • Type: true | false
    • Default value: true