Multi-tenancy Tenants
Multi-tenant settings
There is a range of features and settings in Moodle Workplace that are tenant-aware. By default, each setting applies to all tenants, but you can configure it individually for each tenant. For each tenant-aware setting, an additional option is displayed. We will demonstrate this using the "Enable App Banners" setting described in the Moodle Workplace App Tenants section:

If your site has more than one tenant, the value established for this setting will serve as the default for all tenants. By enabling or disabling the Allow tenants to override '<Setting>' option, you can permit or restrict other tenants from overriding this setting value:
Disabled: The value of this setting will be the default for all tenants, and tenant administrators will not have the ability to override its value for their specific tenants.
Enabled: Tenant administrators can override this setting for their specific tenant, which will only affect that tenant. In our particular example, the capability tool/tenant:mobileconfig must be granted to the Tenant administrator role in the System context. The following two options are available from the Edit... dropdown:
- Edit this setting for '<Current tenant>...': On this screen you can override the value of the site-wide setting for the current tenant. In our example, App banners are disabled for all tenants, but are enabled for the current tenant.

- Edit this setting for each tenant...: This screen displays all active tenants. You can select the Edit option for each tenant to override its value. The screen for this action is itentical to the edit screen for the current tenant mentioned above.

The list of tenant-aware elements is expected to grow over time. Once a core feature or plugin supports multi-tenancy, the override mechanism described here will be available.
Sharing Entities
There are two ways to facilitate sharing across tenants:
- Shared Content: This involves sharing courses and certificates
- Shared Space: This refers of sharing Moodle Workplace data, such as programs or organisation structure
Typically, each tenant has its own course category and, consequently, its own courses. The manual enrolment method has been modified so that the user picker only displays users from the current tenant. However, there are scenarios where a business may want to share courses among tenants.
To provide courses across tenants, you need to create a course category and adjust the permissions as follows:
- In Site administration > Learning > Course and category management, select Permissions from the options drop-down of the category that will contain the shared courses
- Filter by or search for the capability moodle/category:viewcourselist
- Grant permission to the Authenticated user role
Any courses that will be placed in the 'shared courses" category will be visible across tenants. This work-around is necessary because the moodle/category:viewcourselist capability is removed from the 'Authenticated users' role during the installation of Moodle Workplace to implicitly support multi-tenancy without compromising the compatibility with Moodle LMS.
Please note that multi-tenancy does not apply to course content. This means that if a user (either a learner or a trainer) is enrolled in a course, they will see users from other tenants while browsing the course. This includes forum posts, the list of course participants, gradebook, reports, or any other module that displays course participants.
There are various reasons for this behaviour:
- If the organisation wants to have shared courses, they may expect this behaviour so that learners to study together. Additionally, a trainer from one tenant may need to train all learners, regardless of their tenant.
- It is impractical to modify all activity modules and reports to add multi-tenancy restrictions, especially considering that there can be third-party plugins.
- The same functionality can be achieved by using separate group mode if needed. If you share courses between different tenants and want users from each tenant to learn independently, they must belong to different groups, and the course has to be in separate group mode (preferably forced). Review the "Trainer" and "Non-editing trainer" roles in the course and ensure that they do not have the moodle/site:accessallgroups capability. The trainers are also allocated to the relevant groups. Allocation to separate groups occurs automatically when a shared course is part of a program. For more information, see how to share content across tenants via programs.
Shared space enables the sharing of entities across all tenants. It functions like a special tenant where users can create supported entities that are available in other tenants. The following Workplace tools are supported in Shared space:
The site administrator must enable the Shared space feature once using one of these two options:
- Choose Shared space from the tenant switcher and select Enable Shared space. If you click the Not now button, the option will be removed from the tenant switcher, and enabling the feature will only be possible from the tenant menu.
- Go to the tenant menu (via the Workplace launcher) and select Enable Shared space. The shared space will be created as before, and the option will reappear in the tenant switcher.


When you are in the Shared space, any supported entities created are available in all tenants. You can think of them as site-wide entities. Shared entities are labelled with a Shared space indicator.