Tuesday, September 28, 2010

Show communicator status in your custom application pages

When ever we show a username in a custom application page or in a custom web part, adding that small presence aware icon before the user name will be a value addition to the end users which allows to see the person's availability.

An ActiveX control called NameCtrl in Name.Dll is responsible to retrieve the user status and rendering.

Use the following snippet, get the string and render it on your custom page to make the presence aware work for you. Ensure Ows.Js is referenced in your master page, this javascript is responsible for instantiating the ActiveX control and rendering.

public static string GetIMStatusForUser(string personEmail, string personName)
{
string statusJS = String.Format("<span><img border=\"0\" height=\"12\" width=\"12\" src=\"/_layouts/images/blank.gif\" onload=\"IMNRC('{0}')\" id=\"IMID\"
ShowOfflinePawn=1><a href=\"mailto:{0}\">{1}</a></span>",
personEmail,personName);
return statusJS
}

Monday, September 27, 2010

Configuring Location based Metadata in SharePoint 2010

Location based metadata which manages to inherit default metadata values from its immediate parent. This is a nice feature in SharePoint 2010 and its available out of the box with few configuration steps.

Configuring default metadata

1. Add the required folder structure to your document library, in this example it is

Root->Hardware->Router
Root->Software->Microsoft

2. Add the required column to the document library, in this example it is "Classification" and click on "Column default value settings"
click on the required  folder in left pane, choose the column name in the right pane. You will be seeing a popup as below
Change the radio button to "Use this value" and enter the default value in the text box. This value will be inherited in all the documents which will reside in this folder.

Provide a different value for the subfolder "Router" inside the Hardware folder.

Upload a file to Hardware folder and note the "Classification" metadata is pre-populated
Similarly if we upload a file in "Router" folder the classification will be pre-populated as we've provided earlier.

SharePoint 2010 registers a Item Added event reciever(Microsoft.Office.DocumentManagement.LocationBasedDefaultsReceiver ItemAdded) to the document library upon first access of this feature.

Refer the following MSDN articles for more info
http://msdn.microsoft.com/en-us/library/microsoft.office.documentmanagement.metadatadefaults.aspx
http://msdn.microsoft.com/en-us/library/ee557925.aspx

70-542 MOSS 2007 App Development completed

Completed 70-542 Microsoft Office SharePoint Server 2007, Application Development last week end

With SharePoint Server 2010 in the ring, it's late but good to complete the 2007 series before jumping to 2010 bandwagon

Useful links for preparation:

  1. http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!192.entry
  2. http://thepointyheads.com/2009/10/microsoft-exam-70-542-comprehensive-list-of-training-materials-for-every-section-of-the-exam/

Wednesday, September 1, 2010

Unlocker : Error debug privileges

If the user doesn't have permission for remote debugging,Unlocker  will fail with the following error message

Error Debug privileges

Provide Debug privileges for the user in the target machine to satisfy Unlocker

Start -> Run -> "secpol.msc" then click ok
Expand "Local Policies" in left pane
click the "User Rights Assignments" folder
On the right hand screen double click "Debug Programs"
Click the "Add User or Group" button
Click the "Advanced" button
Click the "find now" button
select your "user logon name" and then click the "Ok" button



Changes will take effect after a logoff or a reboot.