CMS and Domain Separation
The Content Management System (CMS) is a ServiceNow application that primarily enables users to create a custom interface for the ServiceNow platform and ServiceNow applications.
Domain Separation is a way to separate data into (and optionally to separate administration by) logically-defined domains. Domain separation is typically only considered if you are working with an MSP (Managed Service Provider) or if you cannot use other methods (see below) to separate data and processes.
This article addresses questions about whether CMS can be Domain Separated.
Details about domain separation and CMS
By default, when Domain Separation is enabled on an instance it adds a domain field [sys_domain] to task and configuration item records as well as many other tables throughout the instance. The CMS is only partially domain separated because the Content Page [content_page] table extends Portal Pages [sys_portal_page] which is domain separated. The CMS Site [content_site] records and underlying Service Catalog tables, categories, items, etc., do not have the domain field and are not domain separated. The global CMS Configuration Page [content_config] cannot be domain separated.
In general, if a table is part of the base instance and that table does not have a sys_domain field, it is strongly recommended that you leave it that way and consider the following alternatives to Domain Separation:
- ACLs (Contextual Security)
- Form views
- Separate instances (ServiceNow Express may even be considered)
- User Criteria introduced with Fuji (Entitlements prior to Fuji)
- Filters, Dictionary Overrides, and Reference Qualifiers (condition-based processing such as before query business rules, workflows, and UI Policies)
While the CMS can be customized with Domain Separation, this is not an out-of-box feature and implementation is going to fall beyond the scope of Customer Support.
One option is to create a CMS site for each company within a MSP (Managed Service Provider) instance.
While the out-of-box provided CMS site (Employee Self-Service) could be used as a baseline template and the Copy option utilized to create a new, duplicated site for each company, careful consideration needs to be made for the number of records this generates and the number of companies in the instance. This may not be a scalable option.
Parameterization within the Company table can be utilized to drive underlying CMS functionality; however this involves a knowledge of scripting to implement (for example, Login Rules, UI Scripts, and UI Macros) which falls outside the scope of ServiceNow Customer Support.
For general information and questions, please see the ServiceNow Community and the following existing links:
The following ServiceNow Community posts are related to CMS and Domain Separation:
If you are considering implementing Domain Separation, we highly recommend contacting an experienced partner or ServiceNow Professional Services.
|Important: Customizations applied to CMS in an effort to domain separate are done at the customers own risk and fall outside the scope of ServiceNow Customer Support where focus is on break/fix issues in the base instance.|