| Auszug |
|---|
|
Nuclos mandator multi-tenancy: levels, STRUID_NUCLOSMANDATOR, $mandator, NuclosMandatorProvider, data separation, mandator selection. |
Language: Deutsch · English
Mandator
Multi-tenancy in Nuclos – levels, user assignment, automatic data separation, data sources and the mandator provider.
| Status |
|---|
| colour | Blue |
|---|
| title | Administrator |
|---|
|
| Status |
|---|
| colour | Green |
|---|
| title | Updated: Jul 2026 |
|---|
|
| Status |
|---|
| colour | Grey |
|---|
| title | applies to Nuclos 4.2026.x |
|---|
|
Menu Administration → Mandator. With multi-tenancy you run several independent organizational units in one Nuclos instance. Nuclos separates the data automatically – without manual filtering in rules or searches.
Core principles
- Mandators are instance-bound (not part of a nuclet).
- Users are assigned to mandators m:n.
- Mandators form a hierarchy of levels (e.g. country → state → city).
- For each business object you decide individually whether it is mandator-dependent (and at which level).
- The separation also applies to super users.
Levels & permission
A permission on a higher level includes the ones below. Example: logging in as Bavaria yields the valid mandators Germany, Bavaria, Munich. Nuclos automatically appends WHERE STRUID_NUCLOSMANDATOR IN (…) to all relevant statements.
Login
If a user has more than one mandator, a mandator selection appears after successful authentication; the last used one is preselected (5-second timer). New records are automatically linked to the matching mandator of the required level.
Data sources
- Data sources using the standard model are restricted automatically.
- With manual SQL the parameter
$mandator is available (list of valid mandator UIDs) – always use it with IN:
| Codeblock |
|---|
|
T3.STRUID_NUCLOSMANDATOR in ('$mandator') |
| Info |
|---|
|
Only users with the corresponding right may write custom SQL in data sources – otherwise the mandator separation could be bypassed. |
Mandator in jobs/rules: NuclosMandatorProvider
When a job creates records in a mandator-dependent BO, the mandator must be determined. For this you implement the NuclosMandatorProvider interface (fully qualified) – Nuclos calls it before the insert rule if the mandator is not already known from processed data:
| Codeblock |
|---|
|
public class InvoiceMandatorProvider implements org.nuclos.api.provider.NuclosMandatorProvider<Invoice> {
@Override
public MandatorId getNuclosMandatorId(Invoice invoice) {
// Mandant z.B. aus Land/PLZ/Straße der Rechnung ermitteln
return mapping.resolveMandatorId(invoice);
}
} |
Color coding (from 4.5)
A mandator can be assigned a color in the administration, shown in the toolbar of the detail view – so it is immediately clear which mandator you are working in. Working environments also remember the last opened tabs per mandator, and nuclet parameters can take mandator-specific values.
Related pages
Merging two systems into one system with two mandators
Migration.
Open →