Recently noticed that External Content Types can be accessed across sites and even site collections. This makes me think that since many different sites will be using the same ECTs, that they should be in a common area. Is this the best way to go about things by having a single site that contains all ECTs that are referenced throughout SharePoint 2010? Should they be kept closer to where the actual lists will be held? What is the best way to store External Content Types so that reusability is maximized across SharePoint without sacrificing (much...if at all) maintainability.
1 Answer
Ultimately they are stored in the BCS service application, but you do need some way of surfacing the information.
What I've done is host them in the "root" site of my solution (we have 1 global SC and 4 regional SCs). That said, the right answer is requirements driven and is dependent upon the appropriate architecture for your solution.
-
Right, the connections are stored in the BCS, but not the ECTs. ECTs are data definitions, and not connections themselves. I'm not worried so much as to where to store connections, as they all reside in BCS and have their own site. I'm talking about the External Content Types that can serve up multiple views of the same underlying connection. Commented Mar 8, 2011 at 21:36
-
Hi Ryan, So I'm not sure I agree based on a poke around my dev environment. I can delete my web-app content database and my ECT will persist in the BCS. Its not accessible via a profile page, but as soon as you create a new web-app + site collection then you can provision an ECT profile page into it. All of this can be done without re-specifying the ECT. All of this is based upon what I'm seeing on my server. It looks like any connection to a specific Site Collection is superficial. It's hardly iron-clad evidence, but maybe try playing around with the persistence of an ECT? Commented Mar 8, 2011 at 21:50