AnsweredAssumed Answered

Nintex “Update Item”-action to update some managed metadata fields leads to wrong “TaxCatchAll”-field.

Question asked by koen.reynaert@ugent.be on Aug 2, 2017

Test listTest ListShort description of problem:
“TaxCatchAll” hidden field contains the “CatchAllData”-representation of each managed metadata term assigned on the item. (CatchAllData-representation of a term can be found in /lists/TaxonomyHiddenList).

  • “TaxCatchAll” is populated in background by native SP code, and is used by search crawler.
  • “TaxCatchAll” is populated correctly when the item is updated via standard SP New/Edit forms.
  • “TaxCatchAll” stays correct after Nintex “Update Item”-action is used to update non-MM fields of the item.
  • “TaxCatchAll” is populated correctly after Nintex “Update Item”-action is updating all MM fields of the item.
  • “TaxCatchAll” is populated incorrectly after Nintex “Update Item”-action is updating some (=not all) MM fields of the item.
  • -- “TaxCatchAll” contains only data of these terms which are updated by Nintex Update-action.
  • -- “TaxCatchAll” doesn’t contains the data of these terms which are NOT updated by Nintex action.

Question: Can you reproduce (we can, in two seperate farms) or have found that SP search is missing some taxfield info of your documents/items?

Test Case:

We have a simple list that contains three managed metadata fields (multiple value):

Simpel ListSimpel WF, manual started

In this workflow we save for each metadata field the value in variable and at the end we update one or more managed metadata fields with the same value as before.

Flow

When we create an item with three managed metadata fields for example:

 

And I look at the field TaxCatchAll from that item via the following PS-code:

$Listname = "TestList1"

$Url = "https://xxxxxx/sites/TestThomas/"

 

$w =get-spweb $Url

$l = $w.Lists[$Listname]

$allItems = $l.Items

 

($allItems|?{$_.id -eq 5 })["TaxCatchAll"]

 

I get the following result:

 

PROBLEM:Whenever I run the workflow(manually) with "update item"-action with only one managed metadata field that is getting updated:

 

This is of course an incorrect result and will create problems in our search results, which use the values in the “TaxCatchAll” field.

I ran a few test to give you an overview (in every scenario we start with all taxonomy fields filled in):

 

Scenario

Output

Remarks

Updating via Edit/New Form

No Nintex workflow

Everything works fine

Nintex “Update Item”-action is updating some (=not all) MM fields of the item : MM_Multi1

Only the updated value is received fro

m the “TaxCatchAll”.

Nintex “Update Item”-action is updating some (=not all) MM fields of the item: MM_Multi1, MM_Multi2

Again only the updated fields in the workflow are updated in the “TaxCatchAll”.

Nintex “Update Item”-action is updating all MM fields of the item

All fields are visible in the “TaxCatchAll”

Outcomes