Monday, April 18, 2011

SP 2010: View/Update Profile Status on Any Page

If you want to allow your users to view/update their personal Status on any page in SharePoint 2010 follow these simple steps.

1.) As with my previous post you need to add the following to the top of your custom master page right before the doctype:
<%@ Register Tagprefix="SPSWC" Namespace="Microsoft.SharePoint.Portal.WebControls" Assembly="Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

2.) In your custom master page search for “s4-trc-container-menu” and add in the following before the “Welcome” control:
<SPSWC:ProfilePropertyLoader runat="server" />
<SPSWC:StatusNotesControl runat="server"/>
<SPSWC:ProfilePropertyImage PropertyName="PictureUrl" ShowPlaceholder="true" id="PictureUrlImage" runat="server"/>

image

**Note that if you do not have the <SPSWC:ProfilePropertyLoader runat="server" /> control specified your users will not be able to update their status…

3.) Add the CSS from this file: Download HERE. Into your own custom CSS file.

Your Result should look something like this:

image

So when I said anywhere, Its only where this custom master page is used… The other thing to note is that it adds significant amount of space to the ribbon area… So if you are cool with that then I hope this works for ya!

Display user profile picture next to welcome name

Here is a simple way to add in the logged in users profile picture right before or after the users name in the SharePoint 2010 ribbon.

1.) Add the following to the top of your custom master page right before the doctype:
<%@ Register Tagprefix="SPSWC" Namespace="Microsoft.SharePoint.Portal.WebControls" Assembly="Microsoft.SharePoint.Portal, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

image

2.) Add in the following control right before the welcome text:
<SPSWC:ProfilePropertyImage PropertyName="PictureUrl" style="float: left; height: 20px;" ShowPlaceholder="true" id="PictureUrlImage" runat="server"/>

image

A nice feature that you can customize is if you don’t want to show a placeholder image if a users has not uploaded a custom picture you can simply change ShowPlaceholder="true" to “false”. and it will only show a picture if someone has specified a custom one in their profile.

Before:
image

After:
image

If you want to have the image on the right simply move the control after the welcome and muiselctor controls, also remove the float:left in the picture style:
<wssuc:Welcome id="IdWelcome" runat="server" EnableViewState="false"></wssuc:Welcome>

<wssuc:MUISelector ID="IdMuiSelector" runat="server"/>

<SPSWC:ProfilePropertyImage PropertyName="PictureUrl" style="height: 20px;" ShowPlaceholder="true" id="PictureUrlImage" runat="server"/>

The 20px height is that golden number because any larger and the image will get cropped off on the bottom in IE7 and in IE8 you will start to see some separation and cropping of the ribbon when viewing the other ribbon tabs.

30px height:
image

20px Height:
image

The inline CSS above on the control is just to keep this blog post simple, Its recommended to move that inline style into your custom CSS file.