Understanding domain separation

Separate data, processes, and administrative tasks into logically defined domains.

Domain separation is best for those customers who:

  • Need to enforce absolute data segregation between business entities (data separation).
  • Customize business process definitions and user interfaces for each domain (delegated administration).
  • Maintain some global processes and global reporting in a single instance.
  • Separate data between customers or sub-organizations.
  • Have minor or moderate process differences only among customers or sub-organizations.

Domain separation compared to separate instances

While the behavior offered with domain separation provides multi-tenancy support, multi-tenancy is still contained within a single instance. This means that some global properties, some global data, and some global processes are shared across all domains. For example, the option to have the system Remember me on the login page of the system is global and cannot be specified per domain.

If you need complete and total separation of all system properties and do not require global reporting or global processes, then separate instances is the best option.

Data separation

Members of a domain only see the data contained within their domain or the child domains that are lower in the domain hierarchy. By default, all users and all records are members of the global domain unless an administrator assigns them to a particular domain. Once you assign a user or a record to a domain, the instance compares the user's domain to the record's domain to determine whether the user can view the record. For example, consider the following domain hierarchy:

Figure 1. Sample domain hierarchy

In this domain hierarchy:

  • Bow Ruggeri can see any records in the Database Atlanta or the global domain.
  • Don Goodliffe can see any records in the Database San Diego or the global domain.
  • David Loo can see any records in the NY DB or the global domain.
  • Fred Luddy, ITIL User, Beth Anglin can see any records in the Database, Database Atlanta, Database San Diego, NY DB, or the global domain.

Users in the global domain can see all records, regardless of the record's domain settings. If a user is a member of another domain, then there is no single visibility setting that allows users to see across domains or allows users to see records at a higher level in the hierarchy.

Note: Guest users must be part of the global domain.
In general, data defined at a higher level in the domain hierarchy is not visible at lower levels in the hierarchy. However, the following records behave like policies:
  • Form sections
  • Options in a choice list

When defined at a higher level in the hierarchy, these records are visible in child domains.

Alternatives to domain separation

Alternatives to domain separation include:
  • Before business rules
  • Access control list rules (ACLs)
  • Filters
  • Security on related record
  • Custom views
  • Form layouts
  • Notifications
  • UI action conditions
  • Advanced reference qualifiers
Warning: Before activating domain separation, consult your representative to verify that it is suitable for your environment. Domain separation adds a level of administration overhead. Although it can be disabled, it cannot be removed from an instance.