Question

I'm trying to move publishing pages in a Publishing sites to another site in the same site collection. The operation are always failed`[ListItem] [DrageniMalaysiasjungleforvandlerpalmefibretilbioethanol.aspx] Value cannot be null. Parameter name: g

It occurs 4 times. Then I used the stsadm`-o gl-importlistitem exportlistitem, the results is the same. The page that I'm trying to move still not appearing in the target site. When I open up the export.log, there are no errors. But when I open up the import.log, there are 4 errors. Here are the errors:

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)

Please help, I need to move the sites really urgent since the amount of item are reaching 5000 (throttling issue). Is there any other way for me to move a publishing site from site to another site. Thanks

Was it helpful?

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.

OTHER TIPS

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

Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top