My client has a contacts list in some other system and this data needs to be displayed in SharePoint as a Contacts list. This external system can provide an xml periodically with the contacts data.

Am I able to feed this XML into a SharePoint list of Contacts type using Business Data Connectivity? I need to have it as a Contacts list and not a Custom List as this needs to be able to be synchronised to Outlook. I know that using BDC I can define an External Content Type that will use some .NET code I write to parse my XML and present it as a ShP list. But because I cannot currently test it, I'd like to know if I will be able to present it specifically as Contacts list.

Or is there any other way?

Also, is the data loaded each time it is called? Or can I define any caching frequency?

1 Answer 1


If you go BCS route then you will be able to get the data into SharePoint as External Lists. You won't be able to define any automatic synchronization out of the box.

The easiest solution to your problem is to implement a custom timer job. The job you can schedule based on how frequently you need to update. The duty of the job will be to parse the XML document (there are plenty of libraries available in .Net) and insert/update/delete the contact list.

  • but I guess that data is not read only once from the file (or a .NET assembly I will develop to read the file), but is refreshed every once in a while. If yes, then if the file is replaced with a new one - the new data will be presented. this is a synchronization right?
    – agnieszka
    Nov 25, 2014 at 13:02
  • Are you looking for two way sync? Nov 25, 2014 at 13:10
  • no, i'm just looking for a way to display the master data that is in an external source, which in here will be an xml lying somewhere.
    – agnieszka
    Nov 25, 2014 at 13:20
  • therefore I was thinking about a read-only list based on an external content type which would use some .NET assembly that reads a source XML file. if a file is replaced - the new data should be displayed. possible?
    – agnieszka
    Nov 25, 2014 at 13:21
  • Each contact should be identified using a unique id (ex: email) then use that to refresh the data. Nov 25, 2014 at 13:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.