Data Aggregation
Overview
Most of our components aggregate data from a third-party application. Source systems can be SharePoint itself, LiveTiles Reach, Microsoft Graph or any other system that provides an API. We will extend the available connectors based on our customers needs.
Different widgets and web parts render data in a different visual manor. However they all use the same technical concepts and configurations:
- A ConfiguredDataProvider defines where to get which data.
- An ILayoutTemplateConfig defines how to arrange the items within the widget. For example using a list or flow.
- An IItemTemplateConfig defines how to render one specific item. For example as a simple item with basic information or a tile with lots of information.
The basic flow is as follows:
When a widget is rendered, it internally loads the ConfiguredDataProvider and fetches data from the source system. Based on the ConfiguredPropertyMappings, the item from the source system - for example a SharePoint search result item - is translated to one of "our" items. The configured ILayoutTemplateConfig renders the basic layout of the widget and the configured IItemTemplateConfig is called to render every item.
Additional notes
- A list of all available IItemTemplateConfigs can be found here.
- A list of all possibe items, please view the implementations of IItem.
- A list of all possible item properties mappers ca be found here. Please note that the string value of the enum can be used in ConfiguredPropertyMappings. The key is always built up as follows:
propertyMapper_{sourceSystem}_{contentType}_{itemTemplate}
(e.g.propertyMapper_reach_news_simple
).