Tenant module
What is a tenant module?
A tenant module is a module that is created to meet the specific needs of a tenant.
Like other modules, it can override the metadata of a parent module. However, it can override only some metadata of the parent module.
This ovverriding is done in the context of a specific tenant. This means that the changes made in the tenant module will not affect other tenants.
How to create a tenant module?
When you create a module, if you fill the Tenant identifier field, the module will be created as a tenant module.
Warning
The Tenant identifier field must be filled with the tenant identifier defined in the Tenant Management cluster.
The tenant identifier is case sensitive, so you must respect the casing used in the Tenant Management cluster.
Note
The icon of a tenant module is different from the icon of a standard module.
Supported overriding
Only the following metadata can be overridden in a tenant module. All other metadata cannot be overridden, an error will be thrown if you try to override them.
Warning
If you try to override unsupported metadata, an error will be thrown only when you try to save the metadata, Neos Studio will not warn you when you modify the metadata.
Reports
You can override the report or its style for a specific tenant. The report of the parent module will not be modified, only the report of the tenant module will be modified.
When deployed, the tenant report is deployed to a subdirectory named after the tenant identifier.
Note
To remove an overridden report, you must remove the report mrt file from the tenant module.
To do this, remove the file named [ReportName].mrt in the reports folder of the module (modules/[ModuleName]/reports/[ReportName].mrt).
Entity and entity view event rules code
You can override the event rules code for a specific tenant like you override the event rules code for a module, see this article for more information.
Entity and entity view validation rules code
You can override the validation rules code for a specific tenant like you override the validation rules code for a module, see this article for more information.
Note
You can override only the code of the validation rules. You cannot override the trigger condition or the execution scope of the validation rules.
Server methods code
You can override the server methods code for a specific tenant like you override the server methods code for a module, see this article for more information.
Note
You can override only the code of the server methods. You cannot override the advanced options of the server methods.
See overridden metadata
To see the overridden metadata of a tenant module, you have two options:
In the list menu, click on the
Overridden metadataentry and enable theIncludes external overridesswitch in order to see business assemblies and report overrides. Then add a filter on theOverride modulefield to filter the list by the tenant module.In the settings menu above the tree, select the tenant module as "Working Module" and click "OK". Then click the "Filter" icon to the right of the settings icon. The tree will then display only the tenant module's overridden metadata.