none
Managed Metadata changes not applied to list items after term change

    問題

  • I have tried 2 scenarios to update the term store data (on a wiki page content type) 1.) I update a term and hit up and the changes are not reflected on a content type (wiki page) where I am using that meta data item. After making the term item update (changing text) and navigating back to the wiki page I inspect the properties and the value is not showing the updated value.

    2.) The other scenario...I have also tried to merge term store items. In view mode the page property shows the old label value. When I go into edit mode it shows the correct value which is good however this also would require me to navigate to every page go into edit mode and hit update/save on the page (in order to get the correct property value).

    How can I get the label value of the meta data to update (when making changes to the term store).

    I have found this article and ensured that the Taxonomy Update Scheduler is executing but the term values are not getting updated.
    http://www.paulgrimley.com/2011/02/managed-metadata-changes-not-applied-to.html

    NOT sure where to look now. Any ideas would be appreciated.

    thx


    dave
    2011年12月1日 下午 10:42

解答

  • I think it is by design that once you have applied a value on a list item for a managed meta data field, It does not get changed if you change it in the term store. It is like the choice column. you add choices and use them, You go back on the field setting and update values to change spelling etc, It will not be reflected on the field, It is becuase a string value is copied on the list item. It is not a lookup. If you use lookup columns, then you should expect the changes of the value as lookup type columns store the item ID etc. Similarly once you update a value in term store, it can be used on new list items but any old list item will still show the old value as it is only a string value. you can further confirm by writing a managed meta data value of a list item to Event viewer. If it would be storing any kind of IDs, then you would expect the desired result. Otherwise it is by design.
    Moonis Tahir MVP SharePoint,MCTS SharePoint 2010/2007, MCPD.net, MCSD.net, MCTS BizTalk 2006,SQL 2005
    2011年12月1日 下午 11:54

所有回覆

  • Dave,

    Which patch level are you up to? I believe this behaviour was updated in the June 2011 CU.

    See this blog post which outlines an outdated workaround and states that it was resolved in June CU.

    http://blogs.msdn.com/b/joerg_sinemus/archive/2011/03/03/terms-and-how-to-update-taxonomyhiddenlist-when-the-timer-job-was-not-able-to-update.aspx


    Paul Olenick SharePoint/FAST Architect , MCTS http://olenicksharepoint.wordpress.com/
    2011年12月1日 下午 11:18
  • Yes, i saw that post and checked

    14.0.6109.5002 (which is Aug CU after SP1)

     

    Are there other things that I can check to ensure things are working correctly?


    dave
    2011年12月1日 下午 11:38
  • I think it is by design that once you have applied a value on a list item for a managed meta data field, It does not get changed if you change it in the term store. It is like the choice column. you add choices and use them, You go back on the field setting and update values to change spelling etc, It will not be reflected on the field, It is becuase a string value is copied on the list item. It is not a lookup. If you use lookup columns, then you should expect the changes of the value as lookup type columns store the item ID etc. Similarly once you update a value in term store, it can be used on new list items but any old list item will still show the old value as it is only a string value. you can further confirm by writing a managed meta data value of a list item to Event viewer. If it would be storing any kind of IDs, then you would expect the desired result. Otherwise it is by design.
    Moonis Tahir MVP SharePoint,MCTS SharePoint 2010/2007, MCPD.net, MCSD.net, MCTS BizTalk 2006,SQL 2005
    2011年12月1日 下午 11:54
  • Even with sp1 , aug cu the terms are not being updated.  It seems we have to do 2 things

    1) after a term store update (rename existing term), we have to run the powershell script

    2) visit each page in the wiki and put in edit mode and save

     

    (without doing step 2 - if we view the property via spsitedataquery we still see the old value, in addition if we view the property via SharePoint Manager utility we see the old value HOWEVER if we access the property through the SharePoint API we get the new value like it is doing a quick lookup immediately).

    It is frustrating the we have to edit/save each page in order for the metadata property to be fully reflected in the properties.

    I have created a powershells script to touch each page, edit something and update but this has no effect on updating the appropriate meta data values.

    At this point, we are forced to do #2 above (touch each page edit/save)..very tough as we have 600 pages.

     


    dave
    2011年12月9日 下午 01:22
  • not sure Moonis Tahir's comment should be marked an answer and I am not sure if you are saying metadata fields on a list item do not update?  Metadata fields on a list item use the hidden taxonomy list as their source for their lookup value.  The sync job updates this table to keep the list item value fresh from the term store.  So while there is a latency, it is a lookup.
    2012年6月14日 下午 06:42
  • I had the similar Issue ,By running the below script, The Problem is resolved.

    Put the following code lines into a text file and save it as e.g. UpdateTaxonomyHiddenList.ps1.

    $Assem = (     "Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" ,     "Microsoft.SharePoint.Taxonomy, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"          )             $Source = @"

    usingMicrosoft.SharePoint;

    usingMicrosoft.SharePoint.Taxonomy;

    usingSystem;

     

    namespaceTaxonomyUpdater

    {

        public static class TaxonomyHiddenList

        {

            public static void Update(string SiteUrl)

            {

                SPSite Site2Update = new SPSite(SiteUrl);

                TaxonomySession.SyncHiddenList(Site2Update);

                Site2Update.Dispose();

            }

        }

    }

    "@

    Add-Type -ReferencedAssemblies $Assem -TypeDefinition $Source -Language CSharp

     

    Run the script above one time.

    After that you can start on the command line to update the TaxonomyHidden List with:

    [TaxonomyUpdater.TaxonomyHiddenList]::Update(“http://SharePointServer”)

    • 已提議為解答 SP Support 2013年9月30日 上午 03:03
    2013年9月30日 上午 03:03