Overview of the ContactManager entity domain graph
The aggregate cluster of associated objects in an entity domain graph has a root and a boundary.
- The root
is a single specific entity that the aggregate cluster contains. The
root entity is the main entity in the graph. A root entity is application-specific
and must implement DestructionRootPinnable. Pinnable root is another term for one
of these root entities.
In the base configuration of ContactManager, the root entity is ABContact.
- The boundary defines what is inside the aggregate cluster of objects. It identifies all the entities that are part of the graph.
In ContactManager, the boundary defines the entities that relate to an ABContact object, such as Address, ABContactSpecialistService, ABContactContact, and so on.
The unit of work for the destruction process is a single instance of the domain graph, such as a single ABContact object and all its associated entities.
To enforce the boundaries of the domain graph, all objects participating in the destruction process must implement the Extractable delegate.
You cannot define a new entity domain graph for use in personal data destruction. However, you can configure an existing entity domain graph. For example, use the archivingOwner data model attribute and the CrossDomainPublicID data model tag.
At server startup, the entity domain graph is validated. If the domain graph fails validation, the action taken depends on whether or not personal data destruction is enabled.
- If the configuration parameter
PersonalDataDestructionEnabled
is set to
true, a failed graph validation prevents the server from starting. In this case, you must make graph corrections. Without a proper graph, ABContact purge will not work. - If the configuration parameter
PersonalDataDestructionEnabled
is set to
false, a failed graph validation logs warning messages indicating that a graph is invalid and needs correction. However, the server does start up. If you do not use personal data destruction, you can safely ignore these warnings.
