Blogroll

Monday, April 7, 2014

The SPListItem provided is not compatible with a Publishing Page

Problem description:
I was facing this error while submitting information via list view webpart, additionally problems with the check-in – checkout functionality.

Note:
If you find a different solution, please report it as a comment to this post. Be sure to double-verify it: undo your solution and verify that the problem comes back, then redo it and verify that the problem goes away.

Error message:
The SPListItem provided is not compatible with a Publishing Page

ULS Logs Findings:
System.ArgumentException: Invalid SPListItem. The SPListItem provided is not compatible with a Publishing Page.    at Microsoft.SharePoint.Publishing.PublishingPage.GetPublishingPage(SPListItem sourceListItem)     at Microsoft.SharePoint.Publishing.Internal.WebControls.PublishingPageStateControl.RaisePostBackEventForPageRouting(String eventArgument, SPRibbonCommandHandler control, RaisePostBackEventDelegate raisePostBackEventDelegate)     at Microsoft.SharePoint.Publishing.Internal.WebControls.PublishingPageCheckinHandler.RaisePostBackEvent(String eventArgument)     at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)b3c1032c-e249-4879-82f6-02e4b3db028c

Troubleshooting done:
o   Checked the ULS logs
o   Tried changing the master page but didn’t resolves the issue
o   Checked with different templates but that also showed the same error message
o   Tried replicating on different web application but same results i.e. same error!

As you can see the error message itself saying that there is some relation with the publishing functionality so what you can do to resolve this issue? Here are the details.

Resolution#1:
1.   Open your SharePoint site
2.   Site actions
3.   Site Settings
4.   Manage site features
5.   Deactivate “Publishing Infrastructure” feature – scope is WEB

Once that done, we need to repeat the same steps at the site level (scope is different)
1.   Site ->Site actions->Site settings
2.   Site collection administration
3.   Site collection features
4.   Deactivate “Publishing Infrastructure” feature
Bottom line: we have deactivated “Publishing Infrastructure” feature at the web as well as site level.

Now, let’s re-activate the same feature one by one (order will be different this time) i.e. site scope first and then web scope.

If the above steps don't resolves the issues then please use the following script to resolve it.

Resolution#2:
$web = get-spweb "http://site-collection/URL-of-the-problem-site"
$correctId = $web.Lists["Pages"].ID
$web.AllProperties["__PagesListId"] = $correctId.ToString()
$web.Update()
$web.AllProperties["__PublishingFeatureActivated"] = "True"
$web.Update()

That’s it – done! –

Product Applies To:
v  SharePoint 2010
v  SharePoint 2013

Post a Comment

ShareThis

snow flakes

blogger widgets Blogspot Tutorial

LinkWithin

Related Posts Plugin for WordPress, Blogger...