Understanding Content Types Sync Engine
This article explains the basics of the Content Types Sync Engine in Brief Connect and how it works in relation to SharePoint.
A Record Type in Brief Connect has a 1:1 mapping to a SharePoint Content Type. Each Record Field associated with a Record Type must have a corresponding SharePoint Site Column associated with the content type.
Configuration Process
There is a two-stage process to customise the configuration of Record Types and fields:
- Configuration Change: The configuration must first change in the associated
RecordTypesandRecordFieldstables. - Synchronisation: Next, we must synchronise the configuration between the
RecordTypesandRecordFieldswith associated Content Types and Site Columns. Additionally, Site Columns should be mapped to the Site's Search Schema to allow for column sorting and filtering on the Dashboard, ensuring correct search behaviour.
Sync Functionality
To assist with the synchronisation process, Brief Connect includes a /ContentTypes endpoint in the web API resource. When a POST request is successfully received by this endpoint, a sync function will run, querying Azure Table Store to:
- Check for New Record Types: Programmatically create new Content Types in SharePoint.
- Check for Modified Record Types: Update Content Type settings in SharePoint for existing Record Types.
- Check for New Record Fields: Create new Site Columns in SharePoint and associate them with the Content Type defined in the
RecordField's PartitionKey. - If the field has a
FieldTypevalue corresponding to a Managed Metadata field, and theDataSourcevalue is empty or theDataSourceNamevalue has been set, the function will search for a Term Set within the Term Group for the Brief Connect Site Collection. If found, it will write the GUID/ID to theDataSourceNamevalue for the RecordField. If no Term Set with the same name as defined inDataSourceNameexists, an error will be written to the Log field for the RecordField. - Additionally, the Site Column is mapped to a managed property and incorporated into the SharePoint Search Schema.
- Check for Modified Record Fields: Update existing Site Columns in SharePoint and associate them with the Content Type defined in the
RecordField's PartitionKey. This will also synchronise any changes to DataSource mappings or SharePoint Search Managed property names.