Saturday, December 7, 2013
Error while executing web part: SharePoint 2010
Recently I was working on user ticket in which we have restored one site collection from development environment to one. This site has been heavily customized using SharePoint designer. Restore was successful and but while opening the of the site, it throws an exception as follows
Error while executing : .SharePoint.WebPartPages.WebPartPageUserException: Personalization has been disabled for this zone.
Let me tell you that this issue was very inconsistent as sometimes it works and sometimes throws the above mentioned error message. It’s been happening with a limited set of users so we checked their permissions; we checked their multiple domains existence etc. but didn’t find any root cause behind the same.
Then we started debugging into SharePoint logs and found the following-
"Error while executing web part: Microsoft.SharePoint.WebPartPages.WebPartPageUserException: Personalization has been disabled for this zone. at Microsoft.SharePoint.WebPartPages.SPWebPartManager.ThrowIfCantModifyZone(String zoneID, Boolean throwIfLocked) at Microsoft.SharePoint.WebPartPages.SPWebPartManager.ProcessZoneId(WebPart webPart, Boolean throwIfLocked) at Microsoft.SharePoint.WebPartPages.SPWebPartManager.SaveChangesInternal(SPLayoutProperties layoutProperties, Boolean skipRightsCheck, Boolean skipSafeAgainstScriptCheck) at Microsoft.SharePoint.WebPartPages.BaseXsltListWebPart.get_CustomizedXsl() at Microsoft.SharePoint.WebPartPages.BaseXsltListWebPart.LoadXslCompiledTransform(WSSXmlUrlResolver someXmlResolver) at Microsoft.SharePoint.WebPartPages.DataFormWe... 97832cag-2721-30a3-8231-7e19h27162g5
From the above error message, we have started investigating the personalization section of the webpart and finally we got it!
Here is the one Resolution:-
To resolve this issue, set the value of the AllowPersonalization attribute to "true" in all Web Parts of the Default.aspx page that has the custom portal site definitions. To do this, follow these steps:
Open the Default.aspx page of the site definition from an editing program.
1- For example, you may find the Default.aspx page in the following :
C:\Program Files\Common Files\Microsoft Shared\web server extensions\60\TEMPLATE\1033\Custom Site Definition Folder
2- Locate the following tag in the Default.aspx file:
3- Set the value of the AllowPersonalization attribute to "true" as in the following example: