How the BDC Columns actually work

This post explains how the BDC works under the hood.
It does however miss out on fully updating the underlying data – you need to update each BDC field explicitly.

The big flaw with the BDC is that the externally referenced data is cached in the list itself.  The user needs to update the list (which can be time consuming) or the host app must do it for the user.

Sharepoint gotcha

The GetSiteData method on the SPWeb returns all of the columns as datatype string.  This does not appear to be documented anywhere.  It is however the only single method that can query across lists.

CAML is a very weak query language.  You can’t do much in the way of joins.

A tale of three guids

A tale of three guids:

Sharepoint

Features require a guid of the form “this-is-a-guid”

For a content type you need a guid of the form “0x100thisisaguid”

For a field definition you need a guid of the form “{this-is-a-guid}”

 

One team, three distinct guid formats WTF

Debugging Feature Receivers

A great technique when developing a sharepoint feature receiver:

Create yourself an announcements list and have the feature log the install (or failure to do so) to this location.

 This is much less messy than debugging on a production box.

 This announcement list can be locked down so only developers and admin’s can read it.

 I have found that you can create and populate a custom list and a view in 20 lines of code (genericly).

 This contrasts to 4000 lines of xml per list/view.