Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

Under the personal action menu, there are two links :

  • My site
  • My profile

I'm trying to understand how they are generated and by which component/feature. However the highest container in the control hierarchy I was able to discover is the FeatureMenuTemplate control, within PersonalActions control (itself in the welcome.ascx control).

If I replace the Welcome.ascx by a custom one with this minimal content :

<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> <%@ Import Namespace="Microsoft.SharePoint" %> <%@ Assembly Name="Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<%@ Control Language="C#" Inherits="Microsoft.SharePoint.WebControls.Welcome,Microsoft.SharePoint,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c"   AutoEventWireup="false" compilationMode="Always" %>
  <SharePoint:PersonalActions  accesskey="<%$Resources:wss,personalactions_menu_ak%>" ToolTip="<%$Resources:wss,open_menu%>" runat="server" id="ExplicitLogout" Visible="false">
    <CustomTemplate>
     <SharePoint:FeatureMenuTemplate runat="server"
         FeatureScope="None"
         Location="Microsoft.SharePoint.StandardMenu"
         GroupId="PersonalActions"
         id="ID_PersonalActionMenu"
         UseShortId="true" 
         >
       <SharePoint:MenuItemTemplate runat="server" id="ID_LoginAsDifferentUser"
                 Text="<%$Resources:wss,personalactions_loginasdifferentuser%>"
                 Description="<%$Resources:wss,personalactions_loginasdifferentuserdescription%>"
                 MenuGroupId="200"
                 Sequence="100"
                 UseShortId="true"
                 />

     </SharePoint:FeatureMenuTemplate>
    </CustomTemplate>
</SharePoint:PersonalActions>
<SharePoint:ApplicationPageLink runat="server" id="ExplicitLogin"
    ApplicationPageFileName="Authenticate.aspx" AppendCurrentPageUrl="true"
    Text="<%$Resources:wss,login_pagetitle%>" style="display:none" Visible="false" />

This works, but there are still the two links mentionned before.

I tried to dive with reflector to understand how these links are generated. I tried to find any custom action. No success.

What is causing this two links to appear ?

PS: my actual goal is to remve this links, I found some workaround on the web but I'm still looking for an explanation, for my personal comprehension (and sanity)

share|improve this question
add comment

2 Answers

up vote 4 down vote accepted

I finally found how all the things is working.

First, there is a server control SocialNavigationControl. This control is rendered within SocialData.ascx.

There is also a delegate control override in SocialDelegateControl.xml file of SocialRibbonControl feature. This override applies to GlobalSiteLink2 delegate control.

Finally, the v4.master page references this control using a standard <SharePoint:DelegateControl ControlId="GlobalSiteLink2" ID="GlobalDelegate2" Scope="Farm" runat="server" /> declaration.

I was looking in the wrong control. This is not the Welcome.ascx that populates the links, but another control which is adding controls when rendering using (I guess) Ribbons's JS api.

share|improve this answer
    
Awesome!!! Don't forget the farm feature you can simply enable/disable –  Dennis G Apr 25 '12 at 9:43
add comment

If you donot need the MySite and MyProfile... Then you can disable the feature as follows

1.Central Administration>Manage Service Applications>User Profile Service Application>People>Manage User Permissions>Select All Authenticated Users>Uncheck *Use Personal Features* >Click Ok

2.Central Administration>Manage Services on server>Stop *User Profile Service*

share|improve this answer
    
this is one of the workaround I mentioned. As I said, I don't want to remove them, but I want to understand how they are added to the menu. –  Steve B Mar 2 '12 at 11:33
    
They are custom actions in feature.xml... You can also add custom actions in that location. –  Strider Mar 2 '12 at 11:35
    
I know. But in this case, it's not custom actions –  Steve B Mar 2 '12 at 11:40
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.