The data hub is designed to consolidate data from multiple sources. Some entities may have some or all fields sourced from two different systems.
In these cases, you need to have a rule to decide which system is more authoritative. This is done with priorities, and can be set at the entity or field level. It is generally done using entity mappings and field mappings. You can set priorities on entities and fields, but since these would then apply to all sources, little is achieved by this.
The rules are:
- An entity will not be deleted if it was created by a source with a higher priority, and will not be re-created after a delete if it was deleted by a source with a higher priority.
- A field will not be updated if it was set by a source with a higher priority for that field.
- Field priorities default to those of the entity.
Let's assume we have two systems - personnel and payroll - both of which define the "person" entity.
We might decide that the personnel system has the definitive version of the person. So we could give the personnel system a priority of 2, and the payroll system a priority of 1. This means that the person feed from the payroll system can be used to create new people, but once the person's details have been set up on the personnel system, data from the personnel system will take precedence.
There might be some data - say tax code - that also comes from each system, but where the payroll system is the definitive source. In this case, we would make the priority of the field from the payroll system higher. We do this by creating a field mapping, either one for the personnel system with a lower priority, or one for the payroll system with a higher priority.