SharePoint Social Bookmarking Web Part


Social bookmarks allow users to tag any URL or web content and automatically save it to a community. We at IOTAP have a created a Social bookmarks web part for Sharepoint which when added to a page will display links for 29 popular social sites. You can download this web part from here

SharePoint Copy WebService – Part 1

I got a work on moving a file from a document library using Web Service. I already work on this, but I did that with SharePoint Object model. Now I have to search for this about web service, oh… I had forgotten the Copy web service; it’s just announced in WSS3.0. This Web service plays the role of copying and moving documents with the field information. There are three classes to play this role,

Copy  Provides methods for copying files between SharePoint sites or within a SharePoint site.

CopyResult Represents the result of a copy operation.

FiledInformation Provides properties that define a field associated with a document copied by using a Copy web service operation. 

The three methods within Copy class do the job for us to move the files in Sharepoint libraries,

GetItem Generates a Byte array representation of a document that can be passed to the CopyIntoItems method to copy the document to a different server.

CopyIntoItems Copies a document represented by a Byte array to one or more locations on a server.

CopyIntoItemLocal Copies a document from one location on a server running Windows SharePoint Services to another location on the same server.

By using this method we can upload, download from different servers, local machines. In my coming posts, I’ll explain each method in deep.

SPitter – A Twitter for SharePoint

For those of you who have not heard of Twitter (I doubt if there is anyone), Twitter is a free online service for friends and family to communicate and stay connected through the exchange of quick, frequent answers to one simple question: What are you doing?

Though Twitter is a simple tool for public microblogging, it doesn’t fit well into the context of work-related collaboration. The corporate version of microblogging will have to be a tool that is integrated into an application that the corporate uses for collaboration. In IOTAP we extensively use our Sharepoint intranet for collaboration, so we have built a Twitter for Sharepoint solution. We named it SPitter to indicate that it is based on Sharepoint.

When our employees want to share their status, a message or a link to others within our organization they just post it to the SPitter area and the message gets added to the updates section.


SPitter Display

After setting up SPitter we are able to collaborate with our colleagues in an effective way as we now have the up to the minute status of what each one of them is working on.

To download SPitter solution contact us

To know more about other Sharepoint Tools IOTAP has developed, click here



Missing “Edit in DataSheet” option in SharePoint Lists

I was just looking into a SharePoint website, which uses Forms Based Authentication scheme. I noticed that the SharePoint lists ware not having options such as Edit in Datasheet, Export to Spreadsheet, and Open with Access under Actions Menu. I realized that these are client-based applications, so I thought there is an option on Sharepoint central administration to enable these options.

So I moved to below locations

Central Administration ->
Application Management ->
Authentication Providers (Under Application and Security)

In Authentication Provider’s, make sure you are in particular web application and then Select the Membership Provider’s Zone, and check that you have enabled the Enable Client Integration Option.

Once the Enable Client Integration option is enabled you will see those options for integrating with client application options on Sharepoint lists.

Shantha Kumar T ( MCTS )
[email protected]

Cannot Connect to Windows SharePoint Services (WSS) Internal Database Microsoft##SSEE

When stand-alone WSS is installed on a machine which doesn’t have SQL 2005 standard edition or higher installed, the setup installs a special embedded edition of SQL Server with an instance name Microsoft##SSEE. By default settings, this SQL server is not exposed to the outside world and you will not be able to connect to it from management studio. But there might be situations which require connecting to this embedded SQL server. Following steps explains this process.
  1. Open SQL Configuration Manager from Programs -> Microsoft SQL Server 2005 -> Configuration Tools.
  2. Expand the SQL Server 2005 Network Configuration node.
  3. Right, click on Protocols for the Microsoft##SSEE instance and select properties.
  4. From the properties window that shows up select HideInstance property and changes its value to No.
  5. Click OK to close the properties window.
  6. Restart the embedded Microsoft##SSEE  SQL server instance using the Surface Area Configuration Tool.
  7. Now you will be able to connect to the WSS embedded Microsoft##SSEE  SQL server instance from SQL server management studio using windows authentication.

Visual Studio 2008 SharePoint Deployment Issue

Visual Studio 2008 extensions for Sharepoint greatly ease the process of developing custom Sharepoint solutions. The extension provides a set of visual studio templates for rapid creation of Sharepoint Web Parts, Content Types, and Modules etc. You can download the extensions from this Microsoft link.

Using this extension creating and deploying a webpart is just a breeze and everything works to perfection for the first web part we create. But troubles arise when we start deploying subsequent web parts. During deployment of subsequent webparts Visual Studio 2008 comes up with the following error message.

“The feature name WebPart1 already exists in SharePoint. You need to rename the feature before solution deployment can succeed.”

This error happens even if you are given a different name for your web part file and web part class file. This is because behind the scenes Visual Studio stores the solution name as Webpart1 even if you have given a different name to your webpart. To overcome this VS 2008 behavior, the following changes have to be made to the webpart feature files.

  1. Change the name of webpart folder, webpart xml and webpart files from Webpart1 to the name of your web part for e.g. WP1. So in effect, the folder WebPart1 will become WP1, the file WebPart1.webpart will become WP1.webpart and the file WebPart1.xml will become WP1.xml.
  2. Select the Show All Files option from VS 2008 Solution Explorer toolbar.
  3. Three additional folders namely bin, obj, pkg will be displayed in grayed out style.
  4. Expand the pkg folder. Pkg folder will have a subfolder named Webpart1 and two XML files manifest.xml and solution.xml.
  5. Rename Webpart1 folder name to your webpart for e.g. WP1
  6. Edit solution.xml and change the name of feature from Webpart1 to your webpart name

<featureElement id=”c140c619-8e16-47f8-8bd0-532184591afe” name=”WP1″ />

  1. Edit manifest.xml file and change the feature manifest file location path

<FeatureManifest Location=”WP1\feature.xml” />

  1. Edit WP1/feature.xml file to change the manifest and file location
    <ElementManifest Location=”WP1\WP1.xml”/>

<ElementFile Location=”WP1\WP1.webpart” />

After performing the above changes the web part deployment will happen successfully. A simpler method to avoid all this trouble is as follows

  1. Immediately after creating a new webpart project, remove the Webpart1 folder completely.
  2. Add the new web part to the project by right-clicking on the project and selecting the new item from the context menu.
  3. In the Add new item dialog box select Sharepoint from categories and Select Web Part from templates.
  4. Give a name for your webpart and click Add button.

Hide Sign-In Link on the SPSites Except Admin Page

Did you want to hide the sign-in link on your SharePoint sites?

All you need to do is to locate the following code in your master page and hide or remove the tag:

Step 1:

<wssuc:welcome id=”wc” runat=”server” EnableViewState=”false”></wssuc:welcome>

This will hide the whole Welcome Panel when the page is displayed in the web browser. Do not remove the welcome.ascx control from the Controltemplate folder.

The welcome menu is part of the link itself. It’s a whole functionality which is contained in welcome.ascx. So if you remove that, you will lose the menu too.

Step 2:

Create the ASPX for an admin user called adminlogin.aspx

Place the following code in the ASPX page

<wssuc:welcome id=”wc” runat=”server” EnableViewState=”false”></wssuc:welcome>

The “Sign In” link available in the top-right corner of the Sharepoint site except
the admin page.

Debugging SharePoint Webpart from VS 2008

Visual Studio 2008 extensions for Sharepoint greatly ease the process of developing custom Sharepoint solutions. The extension provides a set of visual studio templates for rapid creation of Sharepoint Web Parts, Content Types, Modules etc. You can download the extensions from this Microsoft link.

This blog entry details the steps involved in debugging a web part created using visual studio 2008 web part template. The steps listed are for the scenario where Sharepoint and visual studio exists on the same machine.


1. Develop the Sharepoint web part using VS 2008 web part project template.
2. Deploy the web part. With VS 2008 you don’t have worry about manifest and WSP files. Just right-click on the project name in solution explorer and select Deploy.
3. Add the web part to a Sharepoint page.
4. Set up breakpoints in your web part code. This similar to setting up breakpoints in any .Net code.
5. Attach debugger to ASP.Net worker process (w3wp.exe)

a. From the VS 2008 Debug menu select Attach to Process option
b. From the list of running processes that show up select w3wp.exe and click Attach button.

c. If a recent iisreset was performed on your machine, you must navigate to the Sharepoint site to create a new instance of w3wp process.
d. Sometimes you may also find multiple w3wp process showing up in the Attach Processes list. In such situations you can follow any of the below methods

i. Attach debugger to all w3wp.exe processes. This will ensure that you attach to the process that is running your web part.
ii. You can kill all the w3wp.exe processes by using iisreset /noforce from the command line and navigating to the Sharepoint site to create a new w3wp instance.

6. Navigate to the Sharepoint page which contains the web part you want to debug.
7. As the page starts rendering, control will be transferred to the visuals studio code editor with the execution stopping at first break point.
8. You can continue debugging as with any .Net code.

If you are not able to lay hands on a machine that has Sharepoint and VS 2008 installed, you can download virtual PC image from


Happy debugging  

How We Can Create Accelerator in Internet Explorer 8 Beta


• Accelerators are contextual services which quickly access a service from any webpage.
• Users often copy and paste from one webpage to another, but Internet Explorer 8 accelerators make this easier.
• Accelerators enable users to find information without leaving the current webpage.

Accelerator Categories

With Accelerators, you can do tons of great things…

• Blog  

Share your life online with Blogger.

• Define

Get definitions.

• Map   

View maps and directions.

• Send  

Send with Gmail.

• Translate   

Select content in other languages.

This is a simple sample that shows a map accelerator that you can host on a website

Host the install button: Add this code example to the website on which you want to advertise the accelerator.

• AddService   

To install XML-based Accelerators

• IsServiceInstalled   

To verify whether the user currently has the Accelerator installed.

Create the accelerator XML file: Copy the sample code below to a text editor and save it as “GetMap.xml”. This code below describes the functionality of the accelerator.


Map with MyGoogleMap
Map addresses easily with MyMap.” method=”get”>

The root element of the OpenService Accelerator file is os:openServiceDescription. The xmlns attribute is required and must be

Required. The os:homepageUrl element defines the main URL of the Accelerator—where the user can access the service through browsing. All URLs declared in the OpenService Accelerator file must use the same domain as that of the os:homepageUrl.os:display

Required. The os:name of the Accelerator that is displayed to the user on the context menu. Accelerator names should lead with a verb followed by the service provider.

Optional. The os:icon element provides a URL to a 16 x 16 pixel icon for this Accelerator. The domain name used must match the os:homepageUrl.

Optional. The os:description element provides a longer description for the Accelerator that is displayed in the Manage Add-ons dialog box.

Required. The os:activity element contains all of the functionality of an Accelerator.os:activityAction   – interaction with the accelerator.We have  document,selection,link. Default Selection.

Optional. The os:preview element defines the content of the HTML window displayed when the user hovers over the Accelerator. It shares the same attributes and child elements as the os:execute element.

Required. The os:execute element specifies the main action triggered when the user invokes the Accelerator. Like os:preview, it can contain replacement variables in the action attribute or as separate os:parameter elements.

Optional. The os:parameter element provides an alternative way to express the values to use. The required name and value attributes define string inputs that are specific to the service and typically refer to Accelerator variables. See the Variables section for a list.

Test the accelerator:

• Install the accelerator by clicking Install on your website. This launches the installation dialog box.
• Select the Make this my default provider check box. This sets the accelerator to appear in the top listing.
• Go to a site that contains a street address.
• Select the address and click the button that appears next to the mouse cursor. (Alternatively, you can right-click to get the context menu.)
• Hover over the Map with MyGoogleMap accelerator. This displays the preview of the map accelerator.
• Click the Map with MyGoogleMap accelerator. This navigates to the map website in a new tab.

How We Can Create WebSlices in Internet Explorer 8 Beta

Web Slices

Web Slices is a new feature enabling websites to connect to their users by subscribing to content directly within a webpage. Web Slices behave just like feeds where clients can subscribe to get updates and notify users of changes.

A Web Slice is a section of a webpage that is treated like a subscribable item, just like a feed. To enable a Web Slice on your website, annotate your webpage with class names for the title, description, and other subscribable properties.

Features of Web Slice

• Apply styles
<div class=”hslice” id=”2″ style=”color:blue”>…</div>

• Navigating to a Different Web Page
<div class=”hslice” id=”3″>
                           <h2 class=”entry-title”>Search</h2>
                              <a rel=”bookmark” href=”” style=”display:none;” ></a>

• Enable or disable the Webslice for all  sites
– Tools->Internet Options
– Under the Content tab
– Click Settings of Feed
– Select or deselect the “Turn on in Page Webslice discovery

• Turn on or off Webslice discovery for a specified websites
 <meta name=”slice” scheme=”IE” content=”on”/>   


                            <meta name=”slice” scheme=”IE” content=”off”/>   

• webslice icons with various sizes

• We can control the Webslice duration using
endtime property :    Expiration time for a Web Slice. The inner text will be disabled after expiration.

<abbr class=”endtime” title=”24 sep 2008 05:00:00 PST”>6 hours</abbr>

This is an example of how to mark up an auction item with the link, title, and description properties

<div class=”hslice” id=”1″>
  <p class=”entry-title”>item – $66.00</p>
  <div class=”entry-content”>high bidder:buyer1

• Hslice         

The hslice element contains all of the required and optional properties of a Web Slice.

• entry-title        

Title of the webslice.

• entry-content  

Content of the Webslice