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?


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.

| improve this answer | |
  • 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 '14 at 13:02
  • Are you looking for two way sync? – Amal Hashim Nov 25 '14 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 '14 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 '14 at 13:21
  • Each contact should be identified using a unique id (ex: email) then use that to refresh the data. – Amal Hashim Nov 25 '14 at 13:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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