After enabling the module and creating some domains go to Administration > People > Permissions (http://example.com/admin/people/permissions) to configure the module permissions.

Module Permissions

There are multiple submodules under the 8.x version of the Domain module. Keep in mind that domains on 8.x are Entities so all the permissions to CRUD domains are extending the core Entity permissions.

Domain module creates an entity for each domain and there are entity references with users as also as other content entities (eg content types) so a user that has a reference to a domain may have some or all of the defined permissions for that domain. Other domain related permissions are based to these entity references. Here is the UI on the User edit profile page where domains can be assigned to the User.

Image A: Domain access settings on user profile edit page (assigned domains)

Domain access settings on user profile edit page (assigned domains)


1. Module: domain

Image B: Domain module permissions UI

domain module permissions UI

Access inactive domains

This permission allows users to navigate to domains which are marked as inactive. Users with this permission may also assign content to an inactive domain.

Access the domain switcher block

Show the domain switcher block that allows a user to change current domain and move across domains.

Administer all domain records

This permission allows users to create, delete, edit and manage in general all the domain records and settings. Use with caution.

Create domain records

This permission allows users to create domain records.

Delete assigned domain records

This permission allows users to delete the domain records that have been assigned to on the user edit page (see image above for the assigned domains).

Edit assigned domain records

This permission allows users to edit the domain records that have been assigned to on the user edit page (see image above for the assigned domains).

View debugging information for domain handling

View the Domain server information block (if set on theme). The debug block is a display of all the configuration values for the current viewed domain taken from the relative yml file.


2. Module: domain_access

Domain_access sub-module manages permissions for CRUD operations on Drupal entities (node, taxonomy, block etc). See the domain_access.module for technical details.

Notice that generic permissions such as Node > Page: Delete any content will allow users to delete content for every domain event if that domain was not set as an affiliated domain to the user profile page (see Image A).

Image C: Domain_access module permissions UI

domain access module permissions UI

Assign additional editors to any domains

Users with this permission will be able to add themselves and other users as affiliate editors. For those users to act as editors, their role(s) must also have the 'Edit any content on assigned domains' permission. This is a global permission designed for admins, use with caution.

Assign additional editors to assigned domains

Same as above for only for the assigned domains (assigned domains refer to the granted user).

Create any content on assigned domains

User will be able to add new Content of any type to every assigned domain. This permission is for advanced use and substitutes for the normal 'Bypass content access control' permission for sites that give restricted administrative privileges. Use with caution.

Delete any content on assigned domains

Same as above but for Delete option on Content.

Edit any content on assigned domains

Same as above but for Edit option on Content.

Publish content to any assigned domain

This permission provides a limited set of options for users to create and edit content on your site. The node editing form is shown normally, and the user is presented a list of checkboxes or a multiple select list. These options represent the affiliate domains that the user is allowed to publish content to, according to the domains assigned to their user account.

Note that if this option is selected, users will also be shown a list of affiliates to which the node is assigned. This list shows only the affiliates that the user cannot edit.

Warning: If this option is selected and the user has no domain publishing options, the user will not be allowed to post or edit!

Publish to any domain

The user will be able to view and check the option of the field "Send to all Affiliates" [3]. If an Entity (eg Content type) has this field set as true that Entity will be available (for CUD operations) for all the domains. This field is independent from the field "Domain Access" [1] that exists on the bundle edit form. See image below:

Image D: Domain modules provide 3 fields on bundle edit form

domain modules provide 3 fields on bundle edit form

View unpublished content on assigned domains

The user will be able to View unpublished content on the assigned domains.

[bundle_name]: Create new content on assigned domains

Same as "Create any content on assigned domains" but only for the bundle [bundle_name]. These permissions are generated dynamically for every bundle.

[bundle_name]: Edit any content on assigned domains

Same as "Edit any content on assigned domains" but only for the bundle [bundle_name]. These permissions are generated dynamically for every bundle.

[bundle_name]: Delete any content on assigned domains

Same as "Delete any content on assigned domains" but only for the bundle [bundle_name]. These permissions are generated dynamically for every bundle.


3. Module: domain_content

This module provides some Views with an overview and other statistics for the (assigned) domains and by domain.

Image E: domain_content module permissions UI

domain_content module permissions UI

Access domain content pages

User will be able to see the "Affiliated Content" views page under admin/content/domain-content/%.

Access domain editors pages

User will be able to see the "Affiliated Editors" views page under admin/content/domain-editors/%.


Examples of permissions