Hello, I recently had a customer case where the customer asked why certain users couldn't see the "About me"-button in the top personal actions menu, after they clicked at the user name/avatar. Only user details, "Sign out" and "My settings" was visible for the user, who had an user license and a my site. There was also no customizations whatsoever in either javascript or css that could cause this, and the masterpage or the personal actions control doesn't seem to actually have anything to do with the "About me"-button.
After some tracing and testing of Microsoft's code so we now know why the "About me" is not visible to all users. "About me" button depends on whether the "Site
Settings" is available in the menu or not. For the "Visitors" then there is no "Site Settings" because of their "Read"-permission level and thus does the "About me" button not appear in the menu.
In sposuitenav.js there is a loop for all ie:menuitem and inside of that there is these lines:
if(menuItem.id.indexOf("MenuItem_Settings") > 0) { hasSiteSettingsMenuItem = true; }
And a bit further down the code there is this:
if(!hasSiteSettingsMenuItem) { a.AboutMeLink = null; }
Which will cause so that the "About me"-link is null and is not rendered in the personal actions menu. Otherwise the AboutMeLink would have had the default value that is set by the code earlier.
So my question really, is why have Microsoft made the "About me"-button depending on whether or not the "Site settings" is visible for the user?
Because neither I nor my client can understand why there should be any relationship between Site Settings and the About Me link. Shouldn't anyone be able to go to their "my site"? As long as they have one, I can't see any reason to prohibit anyone else than site administrators to see and use the "About me"-link.