none
What is the significance of "Taxonomy Catch all Column" Lookup column?

    Question

  • What is it, why did it suddenly (seemingly) appearing to our Content Type and how to get rid of it? Can it be safely hidden or removed? Can it be related to the fact that we're connecting to Managed Metadata to get some values for other SPFields in the Content Type? We cannot reproduce it in other environments, it is currently only in production environment. We're running Feb 2011 CU.

    It just appeared at some point, why, it is not known, but it is coming from SharePoint and not from our .wsp. Some user might have done something but it is fairly impossible to try to track what has triggered the field to appear, if it is human error.

    Thanks!

    Wednesday, June 29, 2011 1:49 PM

Answers

  • I've found that this column gets introduced into SharePoint 2010 libraries after using the Site Administration > Content and structure tool to move content. That tool has obviously not been upgraded from SharePoint 2007 and therefore doesn't understand managed metadata columns. So if you choose to move content that contains managed metadata columns (or presumably enterprise keywords), the Taxonomy Catch All column shows up after you use the "Content and structure" tool. It shows up as a column in the library and is visible in "Edit Properties" on every document, but what's in it is incomprehensible to any user and prevents them from updating any of the real properties! Arghh! Why SharePoint 2010 includes a tool which can't handle managed metadata is beyond me.


    The solution is to set the column back to its normal hidden state using a PowerShell script like this:

    $web = Get-SPWeb [url]
    $list = $web.Lists["[your library name]"]
    $field = $list.Fields["Taxonomy Catch All Column"]
    $field.Hidden = $true
    $field.Update()
    $list.Update()
    $web.Update()
    $web.Dispose()


    Web Development Analyst, Capital Regional District, BC, Canada

    Thursday, May 17, 2012 6:16 PM
  • I do believe this hidden column is created when you enable "Enterprise Keywords" on your list/document library. The column is used for keyword synchronization when documents are added or updated, and is executed in the event handler of the list/document library.
    Blog | SharePoint Field Notes Dev Tool | ClassMaster
    • Marked as answer by Wayne Fan Thursday, July 07, 2011 8:08 AM
    Wednesday, June 29, 2011 9:43 PM

All replies

  • I do believe this hidden column is created when you enable "Enterprise Keywords" on your list/document library. The column is used for keyword synchronization when documents are added or updated, and is executed in the event handler of the list/document library.
    Blog | SharePoint Field Notes Dev Tool | ClassMaster
    • Marked as answer by Wayne Fan Thursday, July 07, 2011 8:08 AM
    Wednesday, June 29, 2011 9:43 PM
  • I've found that this column gets introduced into SharePoint 2010 libraries after using the Site Administration > Content and structure tool to move content. That tool has obviously not been upgraded from SharePoint 2007 and therefore doesn't understand managed metadata columns. So if you choose to move content that contains managed metadata columns (or presumably enterprise keywords), the Taxonomy Catch All column shows up after you use the "Content and structure" tool. It shows up as a column in the library and is visible in "Edit Properties" on every document, but what's in it is incomprehensible to any user and prevents them from updating any of the real properties! Arghh! Why SharePoint 2010 includes a tool which can't handle managed metadata is beyond me.


    The solution is to set the column back to its normal hidden state using a PowerShell script like this:

    $web = Get-SPWeb [url]
    $list = $web.Lists["[your library name]"]
    $field = $list.Fields["Taxonomy Catch All Column"]
    $field.Hidden = $true
    $field.Update()
    $list.Update()
    $web.Update()
    $web.Dispose()


    Web Development Analyst, Capital Regional District, BC, Canada

    Thursday, May 17, 2012 6:16 PM
  • Tom: Thanks for the script - that worked perfectly for me. I really wish MS would fix that Content & Structure tool!
    Wednesday, July 25, 2012 5:51 PM
  • Thanks again! This helped me too. 
    Tuesday, October 23, 2012 5:04 PM
  • Hi can we get Tom's reply marked as an answer please? I had this problem and it was to do with using the content and structure tool to migrate documents with managed metadata, his script seems to have helped others also.
    Wednesday, May 29, 2013 3:15 PM
  • Hi can we get Tom's reply marked as an answer please? I had this problem and it was to do with using the content and structure tool to migrate documents with managed metadata, his script seems to have helped others also.

    Sure.

    Ed Price, SQL Server Customer Program Manager (Blog, Small Basic, Wiki Ninjas, Wiki)

    Answer an interesting question? Create a wiki article about it!

    Friday, October 18, 2013 10:02 PM
    Owner
  • I am trying to use your script, but seem to be getting errors. I need to get the site collection documents library from the root of our site collection

    $SiteUrl = "https://someplace.somewhere.com"
    $web = Get-SPWeb $SiteUrl
    $list = $web.Lists "[Site Collection Documents]"
    $field = $list.Fields["Taxonomy Catch All Column"]
    $field.Hidden = $true $list.Update()
    $web.Update()
    $web.Dispose()

    Below is the error I receive when running my script. Any additional assistance would be appreciated.

    Thanks.

    Unexpected token '"[Site Collection Documents]"' in expression or statement.
    At line:1 char:51
    + $list = $web.Lists ["[Site Collection Documents]"] <<<<
        + CategoryInfo          : ParserError: ("[Site Collection Documents]":Stri
       ng) [], ParentContainsErrorRecordException
        + FullyQualifiedErrorId : UnexpectedToken

    Wednesday, September 02, 2015 1:54 PM
  • I think your syntax is slightly off, try $list = $web.Lists["Site Collection Documents"]

    Tom


    SharePoint Systems Officer, Capital Regional District, BC, Canada

    • Proposed as answer by Kim MacIntyre Thursday, September 03, 2015 12:19 PM
    Wednesday, September 02, 2015 3:38 PM
  • you can also use the below c# csom code to achieve it.

    ClientContext cont=new ClientContext("https://url");
    Web web = cont.Web;
    List list = web.Lists.GetByTitle("library name");
    Field field = list.Fields.GetByTitle("column name");
    field.Hidden = true;
    field.Update();
    cont.ExecuteQuery();
    • Proposed as answer by Senthil Kumar P Thursday, November 19, 2015 10:56 AM
    Thursday, November 19, 2015 10:54 AM