This one had me baffled for a few days. We had an SharePoint 2010 environment where a lot of the users My Sites had been upgraded from 2007. When upgrading these sites to SharePoint 2013 format the upgrades were appearing to complete successfully but on closer inspection we noticed that the News Feed function of the site was broken with a message “We’re almost ready” that never goes away. After spending a very long time trawling the internet reading various blogs and MSDN articles we were no closer to the resolution. There is quite a bit of configuration work that goes on with the My Site host particularly around permissions for the various service applications.
It soon became apparent that the user had a 2010 only site (i.e. has joined the company after the 2007-2010 migration) their My Site would upgrade successfully and the News Feed would be working. This proved that the system configuration was ok and there was another problem with these earlier My Sites.
Ok, so what is causing the News Feed to fail, in a 2013 My Site there is a list called “MicroFeed” which is pivotal to the News Feed feature….feature…that’s an idea. Using SharePoint Manager I could see there was a hidden feature enabled called “MySute MicroBlogging List”, this feature was present on the upgraded 2010 My Sites and I took a stab that it was this feature that should create the “MicroFeed” list.
Time for some ULS-ing
2010 My Site Upgrade
Watching the ULS I could see the following happen:
- Upgrade MicroBlogFeatureReceiver aj06r INFO FeatureActivated: MicroBlogFeatureReceiver Updating Private Folder ACL http://mysites/personal/user
- Set PrivateFolder Permissions for ListOwner domain\user
- UpdatePrivateFolderPermissions : Updating permissions for domain\user
- SharePoint Foundation Upgrade MicroBlogFeatureReceiver aj06s INFO FeatureActivated: MicroBlogFeatureReceiver Updating Folder Permissions [http://mysites/personal/user/Lists/PublishedFeed]
- SharePoint Foundation Upgrade MicroBlogFeatureReceiver aj06t INFO FeatureActivated: MicroBlogFeatureReceiver Setting to RestrictedList [http://mysites/personal/user/Lists/PublishedFeed]
- Upgrade MicroBlogFeatureReceiver aj06u INFO FeatureActivated: MicroBlogFeatureReceiver Granting Cross Farm Access [http://mysites/personal/user/Lists/PublishedFeed]
- MicroBlogFeatureReceiver aj06v INFO FeatureActivated: MicroBlogFeatureReceiver: Web = [http://mysites/personal/user
However on the upgarded 2007 sites I get this
- FeatureActivated: MicroBlogFeatureReceiver Updating Private Folder ACL [http://mysites/personal/user2/Lists/PublishedFeed
- MicroogFeatureReceiver.UpdatePrivateFolderACL: failed – Exception [Microsoft.SharePoint.SPException: User cannot be found
- FeatureDeactivating: MicroBlogFeatureReceiver About to Delete List [PublishedFeed], on Web = [http://mysites/personal/user2
Well that was a short process, but I could see that something was causing the feature to fail and thus the “MicroFeed” list wasn’t being created. The “User cannot be found” error seemed out of place, what user?
Off to PowerShell
Forcing the feature to deactivate and then forcing to re-activate gave me the same “User cannot be found” error. Ok we’re onto something here.
At a point of desperation one of our developers pulled apart the DLLs of the update process to see if we could work out what user it was looking for. And there was the answer, the upgrade process looks for the “Author” of the site and uses that to set the permissions on the new list. Low and behold all the upgraded 2007 my sites “Author” properties boxes were empty.
A quick bit of PowerShell run against the My Site host
$webApp = Get-SPWebApplication http://mysites
$sites = $WebApp.Sites
foreach ($site in $sites)
$web1 = $site.RootWeb
if($web1.Author -eq $null)
$web1.Author = $Site.Owner
And the “Author” properties as populated from the site collection owners property.
We ran the 2013 upgrade against the problem My Sites and we now have a “MicroFeed” list and the New Feed is working properly.
What a nightmare of a job, but very satisfying to watch all the My Sites upgrade without a single failure.