Data Sources
Data Sources are designed to answer the common issue of storing unique ids from 3rd party systems (often multiple) for integration, reconciliation and reporting. This functionality allows you to define as many unique data sources as required for each 3rd party system. That is then available as a key field against every record in the system. You can use this to find data by the 3rd party keys and to reconcile back to those systems.
Data Sources Features
Most legacy software products have a hard time integrating with 3rd party systems. They often require custom work-arounds, external reference systems, or specific vendor help in order to be able to automate getting data feeds from other systems.
Some make this a little easier by have a hard coded "SourceID" field you can use for arbitrary keys to reference 3rd party systems. But that doesn't help if you have more than one system to integrate with for the same data. This isn't as uncommon as it sounds, in financial services it's common to have systems "sitting" on top of transactional systems for the trade data, whilst also having 3rd party administrators/auditors who have their own systems replicating that same transactional data. Your system now needs 2 foreign key fields for the same data in your system, one for the source and the other to reconcile with administrators/auditors.
To make matters worse the hard coded "Source ID" is just a reference data field, it's not integrated into the system as a key you can lookup or use for importing/exporting/reporting/etc. It's just a reference field you have to do all the manual work with.
Data Sources offer a solution for all these common problems with integration. You can create as many different Data Source Types as you like in the system. Each Data Source Type has the following features:
- Every record in the system, including custom entities and entities you've created through the API all now have this data source type effectively as a new field.
- This field, like all other properties of the entity, is immediately part of all export/import routines.
- The field is available in data mappings so you can use it as a key field (just like you can any other fields) when importing data from that source system.
- You can search for a 3rd party system key across all data in the system using that data source type.
- Within the user interface itself there is a data source tool window which ensures you can always see all 3rd party keys for any record in the system. The view is also available to be made part of any custom layout should you want to just integrate it into the standard view of any entity.
Views
Data Sources can be edited using the following views: