Haaron Gonzalez Rotating Header Image

BCS

Just make sure your Read List and Read Item operation in your ECT have the same fields

Had some fun during the weekend. Customer asked me to add 3 new fields to an existing External Contents Type hosted on a SharePoint 2010 farm. Simple right?

  • SQL Server
    • Modify the pre-production database and alter the table to create 3 new varchar fields
    • Add some dummy content to some records in pre-production farm
  • SharePoint Designer
    • Open the pre-production site collection and locate the External Content Type
    • Open the external content type look at the operations and update the fields including the new ones

After saving the changes I proceeded to test, and got an error, the view was not displaying the data and gave me a correlation ID, after running a Merge-SPLogFile powershell command this is what I got:

Error while executing web part: System.InvalidOperationException: The Finder ‘SiteCodesRead List’ cannot be found in ViewGroup associated with SpecificFinder (Read Item) operation ‘SiteCodesRead Item’ in EntityNamespace ‘http://preportal.zzzz.com/sites/it’, Entity ‘YYY_SiteCodes_IT_Master’.

What this wonderful error description was trying to tell me is:

Just make sure your Read Item and Read List operation in your ECT have the same fields you dummy

Will not charge the customer for the time I spent figuring out this issue

BCS Limitatios to keep in mind

Have you wonder about the limitations of BCS in SharePoint 2010? Well Chakkaradeep Chandran a Program Manager from Microsoft SharePoint Development Team blog about it here on August 2010. As long customers require SharePoint 2010 support I will continue sharing information like this. So, please take a look:

BCS Limitations

Even though BCS is great and can do wonders when you want SharePoint 2010 to interact with your external systems or other LOB applications, it has its own limitations. Understanding these limitations will help you build good BCS solutions.

Below are some/all of the BCS/External Lists limitations:

  1. Workflows cannot be associated with external lists
    • However, you can use the external data columns and manipulate the external lists in a workflow
  2. No RSS feed support for external lists
  3. No REST based access for external lists
  4. LINQ to SharePoint spmetal.exe does not support external lists
  5. Cannot configure alerts for external lists
  6. Cannot export external list items to Excel (Export to Excel feature)
  7. Item-Level permissions is not available for external lists
  8. Versioning cannot be configured on external lists
  9. Item History is not available on external lists
  10. Datasheet view cannot be used in external lists
    • XSLT is supported though
  11. You cannot create a site column of type ‘External Data Column’
    • External data columns can be created only as list based columns and cannot be consumed in site level content types
  12. No Write support for BLOB
    • You cannot write back to BLOB fields using BCS unless you write your own method
    • You can access BLOB columns by defining a StreamAccessor method and presenting the external data via the BCS Data List web part by checking the Display stream fields property
  13. Ratings feature is not supported for external lists
  14. Metadata based navigation is not supported for External Lists

Some of the limitations are quite obvious as the data does not reside in SharePoint and it is not SharePoint’s responsibility on how the data behaves. SharePoint is here to just present the external data. That said, I do think some are not limitations, but Microsoft just didn’t have time to implement, like:

  1. RSS feed support
  2. External data site columns
  3. Export to Excel

If I have missed any limitations, please feel free to comment and I will add them to the list.

This post was originally published by Chakkaradeep Chandran here http://chakkaradeep.com/index.php/bcs-limitations/