Create a new entity type for synchronization and/or provisioning

This feature was introduced in version 13.0.

It is useful to be able to create a custom synchronization of entities from a separate module because it allows for more flexibility and control in the synchronization process. The application is decoupled from the logic in the separate module, thus it cannot support the synchronization of its entities. Additionally, a custom synchronization module can be tailored to the specific needs of the application, allowing for a more efficient and effective synchronization process. This can be especially useful in complex applications with a large number of entities that need to be synchronized. This is not a step-by-step tutorial but rather an overview of changes needed to make to support synchronization or provisioning. For more details, the source code for the technical accounts module is a good starting point.

This is a Spring component implementing the SystemEntityTypeRegistrable interface. It contains information about the entities, module, available attributes, and support for synchronization and provisioning.

This is a Spring component implementing SynchronizationEntityExecutor interface and extending AbstractSynchronizationExecutor<DTO>. It contains the logic needed to create new objects. It can be rather simple or quite complex depending on the logic used.

In the frontend part of the application, under entity > SystemEntityType, add the name of the entity (as used in your SystemEntityTypeRegistrable under SYSTEM_ENTITY_TYPE). Add the label for the entity type, and localization of used attributes.

  • by doischert