SharePoint 2010

Site column with external data

What do to if you want to create a site column that refers to external data?

As you can see in the image below i is not posible to create a site column of the type “external data”.

ExtData1

Dispite you can not create a site column of the type “external data” there is a workaround for getting a site column of this type.

First of al what you need to do is create a list of external data.

You can create this list by going to (or create) the external content type (in the SharePoint designer). In the following image you can see (in red) that it is posible to create a SharePoint list that refers to the external data.

ExtData2If you click this button you will be asked to select an existing list (if you want to update the list) or give the name of the list that needs to be created.

ExtData3

In my case I created a list ExternalContacts. This is a testlist so don’t mind the content of the list. After creating the list you can check it by going to the list.

This list should look like this:

ExtData4

Now we are going to create the site column.

As you saw in the first image there is no type called “external data”. Instead of endlessly searching for this specific type we just will create a site column of the type “lookup”.

When you select this type, you can select the list with external data.

ExtData5

When we save the site column it will be created.

If we go and take a look at the site column you will see that the type of the site column isn’t “lookup” anymore but it is changed to “external data”.

Here it is proved that it is posible to create site columns with external data.

ExtData6If you open the site column you will see that the list is changed in the “external content type”.

ExtData7

Dispite of the fact it is posible to create external data site columns with the workaround there are some disadvantages with the “external data”-site columns.

One of the disadvantages could already be seen in the creation of the “lookup”-site column.

When you create a “lookup”-site column that refers to values from a non-external data list it is posible specify that “multiple values” are allowed.

ExtData8When you create a “lookup”-site column that refers to values from an external data list it is not posible to specify this option.

ExtData9

So SharePoint already knows while creating the site column if it refers to external or non-external data.

I hope this workaround will help you a lot further with your problems connecting to the external data.

3 thoughts on “Site column with external data

  1. This is interesting but it lacks one major piece of functionality. Whenever returning other fields in the same BCS connection, I get errors. The minute I select only the one field it works. There are instances where I am pulling a name field from CRM and related data tied to that name in that record and I need to make sure this linked data comes across. This method pulls only one field in the BCS connection and that is it.

  2. BTW, I used a single field, put in into a custom list in 2010 and the list errors out and cannot be managed. The BCS columns work fine if you add the columns as external data; however this fix doesn’t seem to work in my current environment.

  3. We implemented your Workaround and since then, we cannot save sites as template, resp. we cannnot acivate them. “Error saving site as template: BDCField not allowed”.
    BUT: Delete the site column doesn’t make it work again! It still does not work although I deleted the site column!
    Now, at the whole site collection we cannot save our Project templates!
    I reproduced this on several site collections. It doesn’t matter if the external site column is used or not. Just configuring the external site column creates the error. And it cannot be undone.
    We have SharePoint 2013. I can find this error also for Moss 2007 and SharePoint 2010 – but I cannot find any solution!
    Any idea?

Leave a Reply

Your email address will not be published. Required fields are marked *