venerdì 17 gennaio 2020

Come sistemare un campo Taxonomy che dia l’errore “The SPListItem being updated was not retrieved with all taxonomy fields” in fase di update


  1. Con uno script powershell creare un CSV con l'URL delle pagine contenenti il campo in questione e il valore dello stesso (un esempio è riportato in fondo a questo post)
  2. Rimuovere il campo dalla Document Library "Pages"
  3. Rimuovere il campo dai content types che lo contengono
  4. Cancellare la Site Column dalla site collection
  5. Ricrearla con lo stesso Internal Name
  6. Aggiungerla di nuovo tutti i Content Type interessati
  7. Reinserire i valori nelle pagine con uno script powershell che legga il file creato al punto 1 (lo script di inserimento lo lascio a voi, io l'ho già scritto, ma è un po' troppo corposo per inserirlo nel post)

filter Get-PublishingPages {
       $pubweb = [Microsoft.SharePoint.Publishing.PublishingWeb]::GetPublishingWeb($_)
       $query = new-object Microsoft.SharePoint.SPQuery

       $query.ViewAttributes = "Scope='Recursive'"
       $pubweb.GetPublishingPages($query)
}

$str = "https://[sitecollectionURL]"
$site = Get-SPSite -Identity $str

$web = $site.RootWeb

$web | Get-PublishingPages | select Uri, @{Name="[Display Name colonna]";Expression={$_.ListItem["[Internal Name colonna]"]}}| Export-CSV -Append  "[Path File CSV]"

Script di esportazione valori taxonomy

Nessun commento:

Posta un commento