67 views

Description

The documented method for adding visibility domains to either a group or a user is to use the related list on either the sys_user_group or sys_user record.

If the glide.sys.domain.use_record_domain_for_data property is set to true (the default value), when you are viewing either the group or the user record, the domain of the record will be used for filtering when searching for any related records (for a reference field or related list, for example).

Because of this domain feature, when you try to add a visibility domain to the group or user, your only choice for domains is restricted to the domain of the record. You will not be able to see any of the other domains where you need to add visibility.

Steps to Reproduce

  1. Activate the Domain Support - Domain Extensions Installer plugin.

  2. Set your domain to /TOP/ACME.

  3. Navigate to sys_user_group.list.

  4. Click the New button, and create a new sys_user_group called ACME perps, with company set to ACME and manager set to ACME Manager.

  5. Click Save to create the new record.

  6. On the Members related list, add ACME Employee, ACME Manager, and ACME ITIL to the group.

  7. Set your domain back to global.

  8. On the Visibility Domains tab, select either the New button or the Edit button to add a visibility domain to the new ACME perps group.

    Note that your only choice for the Visibility Domain is ACME even though you set your domain back to global. Because of the default true setting of the glide.sys.domain.use_record_domain_for_data property, the domain of the sys_user_group record of ACME perps (ACME) causes all the other domains to be filtered.

 

Workaround

  1. Set your domain to global

  2. Navigate to sys_user_group_visibility.list, and use the New button from the list.

  3. Populate the Group and Domain reference fields on the form and click Submit.

Note that you will be able to see the Visibility Domain records from the list view of sys_user_group_visibility, and they will work as expected on the various list views of records and grant visibility to the extra domains. However, when you go into the sys_user_group record and look at the related list, the sys_user_group_visibility records for other domains will be filtered out because they are data and their domain is different from the sys_user_group record you are viewing. that will display is the one that matches the sys_user_group record (if you created it, although it is not needed).

Do not attempt to work around this behavior by setting the glide.sys.domain.use_record_domain_for_data property to false.

Finally, you should design your domain hierarchy from the outset to minimize or eliminate the need for Visibility domains. They are opening holes in your domain security, and can lead to erratic behavior and performance issues.


Related Problem: PRB1280384

Seen In

There is no data to report.

Associated Community Threads

There is no data to report.

Article Information

Last Updated:2018-08-13 15:07:33
Published:2018-05-31