Client Script overrides don't work in domain separated Quebec release.


Description

In domain separated Quebec release instances, overridden client scripts are running when the 'glide.domain.strict_override' System Property is disabled (set to 'false').

By default, since the Fuji release, this property has been set to 'true' in out of box (OOB) instances though, so no issue is seen unless it has been altered.


This is reproducible in an OOB domain separated Quebec instance in the following manner:

Prerequisite: Install plugin com.glide.domain.msp_extensions.installer, with demo data

1. Set glide.domain.strict_override to false (OOB value since Fuji is true)

2. Create an incident in the ACME domain

3. Create an onLoad client script in the global domain. Set the script to something like:
function onLoad() {
g_form.addInfoMessage('global client script');
}

4. Create an onLoad client script in the ACME domain. Set the script to something like:
function onLoad() {
g_form.addInfoMessage('acme client script');
}

5. Open the incident form from step 2.

Expected Result: Only the ACME domain client script should run.

Actual Result: Both of the above messages are displayed, meaning both client scripts ran.



Release or Environment

Quebec

Cause

Problem PRB1497494 has been raised to investigate this behaviour.

Resolution

One of the suggested workarounds for this is to set the 'glide.domain.strict_override' System Property to 'true', if currently set to 'false'.

However, this must be done with great caution as it can potentially cause other issues with process separated tables.


The other suggested workaround for this behaviour is to check the 'Inherited' flag against the overriding client script. This should be considered as a possible first approach to take.