Navigation Menu

Skip to content

Multi Tenant Synchronization

Axel Faust edited this page Nov 14, 2016 · 4 revisions

This module enhances the Synchronization subsystem to support synchronization with user and group registries for all / any tenant of an Alfresco system.

Activation

The enhancement to the Synchronization subsystem is enabled by default when the module is installed but only processes the default tenant unless configured via the synchronization.enabledTenants configuration property, i.e.:

# list multiple tenants in comma-separated form - "-default-" is special name for the default/global tenant
# note that Alfresco always handles tenants with lower-cased names
synchronization.enabledTenants=-default-,firsttenantdomain,secondtenantdomain

In order to completely disable the enhancement the property "acosix.mtsupport.synchronization.enableMultiTenantUserRegistrySynchronization" can be set to false in the alfresco-global.properties file.

Differences to default Alfresco Synchronization

The multi-tenant synchronization feature of this module will disable the default synchronization job and set up an individual job for each of the enabled tenants. These will trigger synchronizations only for their respective tenant and use only those user / group registries that are enabled for that tenant. For any tenant other than the default system tenant, the only user / group registries that are capable of handling a tenant are provided by the Multi-Tenant LDAP/AD subsystems.

Tenant-specific Configuration

This module allows a system administrator to individually define some configuration properties relevant to the synchronization process for each tenant. If not configured for a specific tenant, the global settings will be used.

# global schedule for all synchronizations
synchronization.import.cron=0 0 0 * * ?
# run the synchronization for tenant "myDomain" at a different time
synchronization.mydomain.import.cron=0 0 1 * * ?
# perform differential synchronization by default
synchronization.synchronizeChangesOnly=true
# always perform full syncs for the default system tenant
synchronization.-default-.synchronizeChangesOnly=false

All other properties of the Synchronization subsystem (as defined in the documentation) remain unchanged as global settings. Future versions of this module may add support for tenant-specific overrides to these settings as well.