Déplacez le site de publication entre les sous-sites en utilisant Gérer le contenu et la structure

sharepoint.stackexchange https://sharepoint.stackexchange.com//questions/62731

  •  10-12-2019
  •  | 
  •  

Question

J'essaie de déplacer des pages de publication dans un site de publication vers un autre site de la même collection.L'opération est toujours échouée` [LISTITEM] [DragenimalaysSjungleforvandlerPalmEfibretilbioéthanol.aspx] ne peut pas être null.Nom du paramètre: g

Cela survient 4 fois. Ensuite, j'ai utilisé le Stsadm`-O GL-Importlistitem ExportSitem, les résultats sont les mêmes.La page que j'essaie de bouger toujours ne pas apparaître sur le site cible.Lorsque j'ouvre l'export.log, il n'y a aucune erreur.Mais quand j'ouvre l'import.log, il y a 4 erreurs.Voici les erreurs:

ExtendedVerbose: Updating field TaxKeywordTaxHTField.
ExtendedVerbose: Updating field TaxKeyword.
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx] Progress: Importing
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Verbose: List URL: /en/News/ArchivedNews/Pages
Warning: User or group 27 cannot be resolved.
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Error: Value cannot be null.
Parameter name: g
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Debug:    at System.Guid..ctor(String g)
at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateFieldData(SPListItem listItem, SPLoggerObject loggerObject, ImportObjectManager objectManager, Guid docId, String fieldName, String value, String value2, Guid gFieldId, Boolean& bCreated, Dictionary`2 brokenFields)
at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateFieldData(SPListItem listItem, SPLoggerObject loggerObject, Guid docId, Boolean& bCreated, SPContentTypeId contentTypeId, ImportObjectManager objectManager, Object data)
   at Microsoft.SharePoint.Deployment.ListItemVersionSerializer.AddListItemVersion(SPWeb web, SPListItem listItem, SPLoggerObject loggerObject, Guid newId, Boolean editHistory, Boolean existsInDb, Boolean isFirst, Boolean isLast, Boolean isDocLib, StreamingContext context, XmlElement listItemData, SerializationInfoHelper listItemInfoHelper, String& listItemServerRelativeUrl, ISurrogateSelector selector)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateListItemVersionData(SerializationInfoHelper infoHelper, SPWeb web, SPListItem& listItem, Guid newId, Boolean existsInDb, Boolean isDocLib, String& listItemServerRelativeUrl, StreamingContext context, ISurrogateSelector selector)
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Error: Value cannot be null.
Parameter name: g
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Debug:    at System.Guid..ctor(String g)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateFieldData(SPListItem listItem, SPLoggerObject loggerObject, ImportObjectManager objectManager, Guid docId, String fieldName, String value, String value2, Guid gFieldId, Boolean& bCreated, Dictionary`2 brokenFields)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateFieldData(SPListItem listItem, SPLoggerObject loggerObject, Guid docId, Boolean& bCreated, SPContentTypeId contentTypeId, ImportObjectManager objectManager, Object data)
   at Microsoft.SharePoint.Deployment.ListItemVersionSerializer.AddListItemVersion(SPWeb web, SPListItem listItem, SPLoggerObject loggerObject, Guid newId, Boolean editHistory, Boolean existsInDb, Boolean isFirst, Boolean isLast, Boolean isDocLib, StreamingContext context, XmlElement listItemData, SerializationInfoHelper listItemInfoHelper, String& listItemServerRelativeUrl, ISurrogateSelector selector)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateListItemVersionData(SerializationInfoHelper infoHelper, SPWeb web, SPListItem& listItem, Guid newId, Boolean existsInDb, Boolean isDocLib, String& listItemServerRelativeUrl, StreamingContext context, ISurrogateSelector selector)
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Error: Value cannot be null.
Parameter name: g
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Debug:    at System.Guid..ctor(String g)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateFieldData(SPListItem listItem, SPLoggerObject loggerObject, ImportObjectManager objectManager, Guid docId, String fieldName, String value, String value2, Guid gFieldId, Boolean& bCreated, Dictionary`2 brokenFields)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateFieldData(SPListItem listItem, SPLoggerObject loggerObject, Guid docId, Boolean& bCreated, SPContentTypeId contentTypeId, ImportObjectManager objectManager, Object data)
   at Microsoft.SharePoint.Deployment.ListItemVersionSerializer.AddListItemVersion(SPWeb web, SPListItem listItem, SPLoggerObject loggerObject, Guid newId, Boolean editHistory, Boolean existsInDb, Boolean isFirst, Boolean isLast, Boolean isDocLib, StreamingContext context, XmlElement listItemData, SerializationInfoHelper listItemInfoHelper, String& listItemServerRelativeUrl, ISurrogateSelector selector)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateListItemVersionData(SerializationInfoHelper infoHelper, SPWeb web, SPListItem& listItem, Guid newId, Boolean existsInDb, Boolean isDocLib, String& listItemServerRelativeUrl, StreamingContext context, ISurrogateSelector selector)
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Error: Value cannot be null.
Parameter name: g
[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx]   Debug:    at System.Guid..ctor(String g)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateFieldData(SPListItem listItem, SPLoggerObject loggerObject, ImportObjectManager objectManager, Guid docId, String fieldName, String value, String value2, Guid gFieldId, Boolean& bCreated, Dictionary`2 brokenFields)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateFieldData(SPListItem listItem, SPLoggerObject loggerObject, Guid docId, Boolean& bCreated, SPContentTypeId contentTypeId, ImportObjectManager objectManager, Object data)
   at Microsoft.SharePoint.Deployment.ListItemVersionSerializer.AddListItemVersion(SPWeb web, SPListItem listItem, SPLoggerObject loggerObject, Guid newId, Boolean editHistory, Boolean existsInDb, Boolean isFirst, Boolean isLast, Boolean isDocLib, StreamingContext context, XmlElement listItemData, SerializationInfoHelper listItemInfoHelper, String& listItemServerRelativeUrl, ISurrogateSelector selector)
   at Microsoft.SharePoint.Deployment.ListItemSerializer.UpdateListItemVersionData(SerializationInfoHelper infoHelper, SPWeb web, SPListItem& listItem, Guid newId, Boolean existsInDb, Boolean isDocLib, String& listItemServerRelativeUrl, StreamingContext context, ISurrogateSelector selector)

aide s'il vous plaît, j'ai besoin de déplacer les sites vraiment urgents car la quantité d'élément atteint 5000 (problème d'étranglement). Y a-t-il une autre façon pour moi de déplacer un site de publication de site vers un autre site. Merci

Était-ce utile?

La solution

The problem lies with the creation of 2 fields of User Type which were created using XML (Visual Studio). There fields were not provisioned correctly, the atrribute List="UserInfo" was not defined in the field definition. I've created the below script to fix this issue.

Write-Host Adding SharePoint PowerShell Snapin
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

$contentOwner = "ContentOwner"

$contentResponsible ="ContentResponsible"

function ProcessPublishingSite()
{
    $SiteUrl = (Get-SPWebApplication -Identity "WebAppName" -ErrorAction stop).Url

$Site = Get-SPSite $SiteUrl

$newsSite = $Site.AllWebs["News"] #News is the source site that contains the library of pages I want to move

$lib = $newsSite.Lists["Pages"]

Write-Host "***Look for List=""UserInfo"" <------------ " -ForegroundColor DarkGreen

Write-Host Editing $contentOwner -ForegroundColor DarkGray

EditFieldXML $lib $contentOwner

Write-Host ________________________________________________________________________________________________________________ -ForegroundColor Blue

Write-Host Editing $contentResponsible -ForegroundColor DarkGray

EditFieldXML $lib $contentResponsible
}

function EditFieldXML($lib,$targetField)

{
    $fld = $lib.Fields.GetFieldByInternalName($targetField)

Write-Host Current field definition $fld.SchemaXml

Write-Host ________________________________________________________________________________________________________________ -ForegroundColor Green

$fld.Sealed = $false

$fld.PushChangesToLists = $true
$fld.Update()

$schema = [xml]$fld.SchemaXml

$schema.Field.SetAttribute("List","UserInfo")

$fld.SchemaXml = $schema.PSBase.OuterXml

$fld.PushChangesToLists = $true
$fld.Update()

Write-Host New Field definition $fld.SchemaXml
}

ProcessPublishingSite

This script will add the missing attrubute at the library column level. Can be modified to add at the site column level.

Hope this help other people that came across this problem.

Autres conseils

This is probably due to a Custom User field that is incorrectly created. MOst possibly because of lack of setting the property List to "UserInfo". At least that was the case when i got this error.

This post is talking about the exact same issue. The solution is tricker though, if the system is already in production. If not, just update your user field xml:s

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top