How to be Social in SharePoint 2013

SharePoint 2013 introduced several new features around Social.

We started with social feature "following " and due to the highly least privileged design ran into several permission issues. The resolution to this was found in several different blogs. In an effort to help somebody from running through all these issues, I have linked all the items I ran into here.

First thing that should be done is to fine tune distributed cache. Then configured Manage Metadata, Search, User Profile Service, main portal site and Mysites

We used different application pool accounts for the main portal and the mysites so we ran into permissions issues. We needed to grant the main portal application pool SPdataAccess to the mysite databases so that it could write back to the database ("Following" data is stored in the mysite database). We found the errors in the SQL and ULS  logs that the application pool did not have this access to the mysites databases. We also found that the User Profile AppPool account also needs this access. If you do not know this account go into Central Admin --> Security --> Configure Service Accounts -->  in the dropdown select “Service Application Pool – User Profile Service”. You will now see the account.

After we fixed the database permissions we started to get the errors below and SharePoint 2013 Preview Newsfeeds showing nothing

“SharePoint returned the following error: The operation failed because the server could not access the distributed cache. Internal type name: Microsoft.Office.Server.Microfeed.MicrofeedException. Internal error code: 55. Contact your system administrator for help in resolving this problem.”

Or

“We’re still collection the latest news. You may see more if you try again a little later.”

To resolve this we had to go into Central Admin --> Manage service application Highlight (but do not click on) the User Profile service application. Now click “permissions” in the top ribbon. You should see the farm account and the appPool accounts for you portal and mysites. You need to add the appPool that runs your user profile service application.

This seemed to be the fix and "Following" was now working. Coming in the next day it was broke again. Eventually I found that we needed to "grant the User Profile Service Application Pool rights to the Cache". One of the servers running distributed cache was also running the user profile service application, so if that server was hit everything worked but when it hit another distributed cache server it would not. If you run get-cacheallowedclient on one of the distributed cache servers you will see the WSS_WPG and WSS_ADMIN_WPG have these rights. You can run Grant-CacheAllowedClientAccount command and add User Profile service appPool.

 

If you using Work Management there is a good wiki https://social.technet.microsoft.com/wiki/contents/articles/12525.sharepoint-2013-work-management-service-application.aspx with the permissions for that.