When you add a site column or content type to a list through the UI, Share Point automatically adds the Tax Catch All and Tax Catch All Label columns and the taxonomy event receivers.When you create a list definition via a feature, however, these are not added automatically.

view itemupdating-33

If this is working correctly you should be able to click on the crawled property to see the items that contain your managed metadata field as shown below.

This allows us to perform search queries on managed metadata field values, and also allows the refinement panel to display the metadata columns and values.

It does this by creating a special crawled property that starts with ows_tax Id_ and then the name of the field, and a managed property that starts with owstax Id.

For example if we have a field called Regional Office then we will end up with a crawled property named ows_tax_Id_Regional Office automatically mapped to owstax Id Regional Office (in addition to the crawled property ows_Regional Office that is not mapped to any managed properties).

In the case of lookup fields and managed metadata fields (which inherit from the lookup field) these require an additional step to ‘wire them up’ to the correct lookup data programmatically.

Wictor Wilén explains this process in his excellent article on ‘How to provision Share Point 2010 Managed Metadata columns’.

I’ll also include some updates to the process of provisioning Share Point 2010 managed metadata fields to mitigate some of the potential problems I’ve found when using this in real life scenarios. Update 12/3/11 – The next post The complete guide to provisioning Share Point 2010 Managed Metadata fields is now available.

We have explored the basics and adding paging feature to List View control through my previous articles List View Control in ASP. Like my previous articles on List View control, we will add this feature in 2 scenarios.

Simply adding in the Tax Catch All columns isn’t enough as this will be empty as there are no event receivers to populate this field.

As a result the search crawler will not automatically create managed properties to allow the search refinement to work.

These aren’t hard to add in but it took me a lot of investigation to find out so hopefully this saves others some time.