Issues Setting Up External Content Type Filters in SharePoint Designer

I was recently investigating some of the options with External Content Type (ECT) filters that you can setup in SharePoint Designer. In particular, the following 2 settings did not appear to make any difference if I enabled or disabled them.

  • Is Default
  • Use to create match list in external item picker

bcs-external-content-type-filters-default-create-match-list

At first I thought I has misunderstood the effect of these settings. The hover over text in SharePoint Designer is actually quite informative and provides the following.

Is Default: This filter is used by default when searching for items in the external picker

Use to create match list in external item picker: Used to create a list of possible matches in the external item picker when user input cannot be resolved

Ok, so this goes some way to confirming what these settings should do, but this is what I see when using the external picker in SharePoint.

The default filter in the external picker is simply the last filter (that accepts user input) I have configured (even if I haven’t checked “Is Default”). No matter what I do in SharePoint Designer I can’t get this setting to work. The only way to set the default filter is to make it the last filter in the list of filters.

As for the match list… if I uncheck the “Use to create match list in external item picker” for all the filters SharePoint still seems to match against all filters. Again this setting appears to have no effect.

Enter much scratching and searching before the answer surfaced. The issue is actually a common issue in both cases and I found it first when investigating the create match list setting. This setting actually corresponds to a property of the filter called UsedForDisambiguation. Here’s an extract from an MSDN article on recommendations for setting up filters for BDC Model Best Practices for Duet Enterprise.

bcs-usedfordisambiguation-property-filter-external-content-type

So I wonder what the underlying BDC Model (xml) looks like that SharePoint Designer is creating. Here’s the result of exporting the BDC Model.

bcs-bdc-model-export-default-filter

As suspected SharePoint Designer is ALWAYS creating elements in the xml model for these settings with a value of either true or false (as you have configured it in SharePoint Designer). But reading the MSDN documentation, SharePoint only looks to see if the element is PRESENT in the xml, and it doesn’t care what value it is. This now explains the behaviour I was experiencing, it was as though every filter had “Is Default” checked and “UsedForDisambiguation” checked.

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Create a website or blog at WordPress.com

Up ↑

%d bloggers like this: