So you've build your farm, configured Manage Metadata, Search, User Profile Service and Mysites. The first thing you obviously want to check out are the cool new social features.
You login and fire off your first post, in anticipation of the reactions of your fellow social pioneers in your company.
A day goes by but, nothing happens… What is going on here?
You check your feed but it keeps saying "We're still collection the latest news. You may see more if you try again a little later."
There must be something wrong here. When you crank up the ULS logs to verbose on the Microfeeds and User Profiles categories in the ULS logs:
"Microfeeds", "User Profiles" | Set-SPLogLevel -TraceSeverity Verbose
you will find a strange message stating the User Profile Service Application Proxy is not available:
nasq Medium Entering monitored scope (SPMicrofeedFeedCacheService.GetPublishedFeed). Parent FeedCacheService.GetPublishedFeed e554c59b-9365-2015-6119-380e065adfbb
d22b High Failure retrieving application ID for User Profile Application Proxy 'User Profile Service Application 2': Microsoft.Office.Server.UserProfiles.UserProfileApplicationNotAvailableException: UserProfileApplicationNotAvailableException_Logging :: UserProfileApplicationProxy.ApplicationProperties ProfilePropertyCache does not have 5c3e254a-4ab9-4736-a5f1-58d582d1d6d0 at Microsoft.Office.Server.Administration.UserProfileApplicationProxy.get_ApplicationProperties() at Microsoft.Office.Server.Administration.UserProfileApplicationProxy.get_AppID() e554c59b-9365-2015-6119-380e065adfbb
ahv64 High SPMicrofeedFeedCacheService.GetUserProfile() - UserProfileApplicationProxy not available e554c59b-9365-2015-6119-380e065adfbb
b4ly Medium Leaving Monitored Scope (SPMicrofeedFeedCacheService.GetPublishedFeed). Execution Time=2.064 e554c59b-9365-2015-6119-380e065adfbb
At first it did not hit home for me, but then I remembered similar issues when using powershell to manage the UPA back in SharePoint 2010. This was basically solved by granted (sharing) permissions to the UPA proxy.
The problem in this case is that my MySites are hosted in a different application pool from my UPA service application. Although the MySites application pool account is added, the service app application pool account is not.
Either grant the application pool account hosting the UPA Sharing Permissions through Central Admin:
Or use the following powershell script:
$account = New-SPClaimsPrincipal <domain\user> -IdentityType WindowsSamAccountName
$UPA = Get-SPServiceApplication <ID>
$sec = Get-SPServiceApplicationSecurity $UPA
Grant-SPObjectSecurity $sec2 -Principal $account -Rights "Full Control"
Set-SPServiceApplicationSecurity -Identity $UPA -ObjectSecurity $sec
The magic happens, and voila; the feeds start showing!