One thing I continually re-learn in this business is that you cannot be too careful or too simple when trying to trouble-shoot issues. I recently built a new SharePoint 2013 farm to get my working bits up to the released build (RTM). After setting up the User Profile service, the My Site host, Search, and a couple of web applications (including communities), I started reviewing social features.
When navigating to a user’s personal site, which I had cleverly and originally configured as http://my, I was getting the standard page that indicated that the site was being created:
So I patiently waited… and waited… and waited. At this point (2 full days later) it was time to start digging in to see what was going on. Using ULS Viewer, I attached to the real-time ULS feed (File..Open From..ULS) and filtered on “Category contains Personal”.
The first thing I noted was:
<date/time> w3wp.exe (0x2668) 0x1A80 SharePoint Portal Server Personal Site Instantiation af1lc High Skipping creation of personal site from MySitePersonalSiteUpgradeOnNavigationWebPart::CreatePersonalSite() because one or more of the creation criteria has not been met. [SPWeb Url=http://my/Person.aspx?accountname=CONTOSO\user5] http://my/Person.aspx?accountname=CONTOSO\user5]Self-Service Site Creation == False Can Create Personal Site == True Is user licensed == True Storage&Social UPA Permission == True Site or Page or Web Part is in design mode == False c7d7de9b-bf6b-1084-5706-a8b8f278e6c3
So there’s a big clue right there regarding Self Service Site Creation. I had created my MySite web application without enabling self-service site creation. My first re-learn is to read the documentation:
It’s quite clear within the docs that you need to enable self-service site creation on your MySite web application. I just made an assumption that this was done by default. (and yes, I know what assume does)
After correcting the self-service site creation option, I noticed that my personal sites were still not being created.
Further investigation of the ULS entries showed the following:
<date/time> OWSTIMER.EXE (0x1838) 0x14A0 SharePoint Portal Server Personal Site Instantiation ogsj High Exception while creating personal site: () for (CONTOSO\user7): (Microsoft.Office.Server.UserProfiles.PersonalSiteCreateConfigurationException: A failure was encountered while attempting to create the site, wildcard inclusion used to create personal sites does not exist. <callstack removed for brevity>
So the next thing to correct was the wildcard inclusion for ‘personal’ in the MySite web application. However, while looking into this I did notice one other anomaly:
<date/time> OWSTIMER.EXE (0x1838) 0x14A0 SharePoint Portal Server Personal Site Instantiation ogso Medium [Processing] CreatePersonalSite: Testing for personal site: (http://my/my/personal/user5) for user: (CONTOSO\user5). 947fdf9b-6fdd-1084-5706-a755a3e35b43
Notice the URL above… http://my/my/personal/user5. After re-checking the User Profile Service Application and the MySite properties, the Personal Site Location was set (by default) to “my/personal”. After altering that to just “personal”, then I was able to create personal sites successfully.
So, the things to keep in mind about getting your Newsfeed and Activity Feeds configured and setup:
- Enable Self-Service Site Creation on your MySite web application
- Add the wildcard inclusion managed path for your personal site location
- Verify the personal site location that is configured in your User Profile Service Application
- RTFM – read the freakin’ manual
Final ULS entry:
<date/time> OWSTIMER.EXE (0x1838) 0x17AC SharePoint Portal Server Personal Site Instantiation ogvo Medium Personal site successfully created for user: (CONTOSO\user7) at (http://my/personal/user7). Note: The UserProfile properties may not take effect till the DbChangePoll timer runs. c880df9b-2f6a-1084-5706-a3beff2027a1
*NOTE: The observant among you may notice that the screenshots above and the ULS entries reflect different users – User5 and User 7. This is because the data that I used for this blog entry was gathered over different days and different users for the purposes of reproductions.