I'm planing a new application for a customer that requires to read data from an external system.

Basically, the external system will expose a read-only OData service (to be defined actually). The service will expose a very simple type with 4 fields (technical ID, business ID, Title and country in iso format). However, the number of items can be very large (nearly 10000 records in the DB).

The requirement is to be able to link documents in SP with an item in the remote list.

My first idea is to use BCS to create an external content type and a list bound to this type, then add a lookup column in the doc lib to this list. However I'm new to the BCS world and I have several questions :

  1. Can I access OData endpoints with BCS ? Eric white answered this question, but I think it's a bit complicated versus a SQL data source. Moreover, his sample does not implement paging (the whole table is red).
  2. when accessing such endpoint, how should I handle paging ? I don't want to read the whole data each time a user open the picker.
  3. how does BCS behaves when the external source is down ? My few tries let me think the SP site still works, but without the possibility of creating or changing items, as the external fields won't be validated.
  4. If I'm right, is there a simple way to maintain a local copy of the data (the data is not often changing luckily) ? Both for avoiding system downtime and for lowering pressure on the external system ?
  5. using the picker, how does the search is handled ? should I implement a filter over the OData endpoint to avoid reading the full content ?
  6. any tip a bcs newbie should know ?
  • Have you looked at External Data column? – Anders Aune Apr 17 '12 at 17:14
  • @AndersAune: yes, but my knowledge of these features is very basic. – Steve B Apr 18 '12 at 7:01
  • I'm no expert myself :) But from your requirements it looks like you could have done all this with just an External Data column instead. I was just wondering if External Data column didn't meet your needs in some way – Anders Aune Apr 18 '12 at 11:32
  • @AndersAune: I'm not sure to understand... isn't an external column just a specialized lookup to an external content type? this is only the consuming part of the problem – Steve B Apr 18 '12 at 11:36
  • External Datasource, but it looks like you planned to add it as a list and then use a lookup column to that list in SharePoint, with the External Data column you could search directly in the Datasource from a SharePoint-form. I have only tested this with SQL and Oracle databases – Anders Aune Apr 18 '12 at 11:42

Your Answer

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

Browse other questions tagged or ask your own question.