Table of Contents

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:

  1. In the list menu, click on the Overridden metadata entry and enable the Includes external overrides switch in order to see business assemblies and report overrides. Then add a filter on the Override module field to filter the list by the tenant module.

  2. 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.