Recently I was at a client that was experiencing an odd issue: they couldn’t activate the SharePoint Server Publishing Infrastructure site collection feature. In this post I’ll walkthrough some of the processes that we went through to diagnose the error. For those wanting the short version it turns out the web application policy for “Create Subsites” had been disabled. You can jump to the Solution section jump to the solution section below.
To start we checked the ULS logs to see what showed for the correlation ID. Results were inconclusive. We found a whole host of errors, but nothing seemed definitive. The most promising error was related to an “access denied” and failure to create site PressReleases (remember this point.) The logged in user had full control access to the site, was a site collection administrator, and had no other warning signs of why it would get an access denied error.
We checked the web application policies applied to the permission levels (Full Control, Contributor, etc.) to see if any had denied any permissions. All were showing as enabled.
We then tried to replicate the error in a different site collection in the same web application. That attempt failed. This verified that it wasn’t an issue with just that site collection so we went one level higher and created a new web application. On the new web application we attempted to activate the feature in a new site collection which succeeded. This led us closer to determining it was an issue with the web application.
In order to get more information about the above errors we turned verbose logging on for all options. We then triggered the error and read through the ULS logs (now with verbose details). After a bit of digging we found the following line that stuck out.
“PermissionMask check failed. asking for 0x00800000, have… <permission mask we had>”
I looked up the permissions masks within the SPRights class (click here) to find out the permission it was asking for. It turns out 0x00800000 corresponds to the “ManageSubwebs” right. Looking back this validated our error for failure to create site PressReleases.
We then decided to create a blank subsite to see if that also had an issue. This is where we really honed in on the issue: the menu option to create a subsite was missing! The create list, page, and other options were available but not create subsite.
Here is a screenshot of the out of the box action menu for comparison. Notice that “New Site” is an available option.
Now that we found we couldn’t create subsites we returned again to Central Administration for the web application policy. The previous time we checked the policies applied to permission levels but not the overall policy. As we scrolled down the allowed permissions lo and behold we found something disabled: Create Subsites.
Navigate to Central Administration and click Manage Web Applications. Click the picture of a person with a key in front. Scroll down until you see the Create Subsites permission. Check the box for this permission.
In summary the client was experiencing issues with activating the publishing infrastructure features. A side issue we noticed was that we couldn’t create subsites which also turned out to be the root cause. Although we took a few twists and turns while troubleshooting this issue I hope you see some of the common areas and thought processes to go through.
SPRights permissions masks