Kirk Evans Blog

.NET From a Markup Perspective

How I Became a SharePoint 2010 MCM

I recently attained the Microsoft Certified Master for SharePoint 2010 certification.  I have long wanted to write about the experience, but honestly didn’t know how to begin.  After quite a few conversations with friends and colleagues, I thought I would share some insight about the process.  I am not writing this to dissuade you from… Read more

Programmatically Creating a SharePoint Content Type

I have been working on a project that requires creating a content type programmatically.  Admittedly, it took me awhile to figure it out.  You can create a content type for SharePoint declaratively in a feature using XML similar to the following: <?xml version="1.0" encoding="utf-8"?> <Elements Id="2fdb55a0-75c1-4ad4-b709-82b2e1393f34" xmlns=""> <ContentType ID="0x010100C568DB52D9D0A14D9B2FDCC96666E9F2 007948130EC3DB064584E219954237AF39 0075425CE93BDC404F8B042629FC235785" Name="TermsAndConditionsType" Group="Custom Content Types"… Read more

What is a Dedicated Support Engineer?

For the past 7 years, I worked in Developer Platform Evangelism to talk to customers about the latest and greatest technologies that Microsoft would soon be releasing, and worked to gain early adopters of the technologies.  This was a very fun job, but I desired a change.  This past July, I joined the Premier Field… Read more

Creating a Delete Without Recycling Feature for List Items in SharePoint 2007

In my last post, I talked about errors you might encounter while trying to empty the second stage recycle bin with SharePoint 2007.  My customer encountered this problem partially because a single site deletes upwards of 2,000 items per day.  They saw items in the second stage recycle bin that were 8 months old and… Read more

Emptying the Second Stage Recycle Bin in SharePoint 2007

Look in your second stage recycle bin in SharePoint 2007.  If you see lots of items that are older than the configured policy (default is 30 days), then there are one of a few things happening in your environment.  Your recycle bin cleanup job might be disabled, or you might be running into a bug… Read more

Import SharePoint Projects from Visual Studio 2008 to Visual Studio 2010

I was working on a project for a customer today and needed to build a custom field control.  Visual Studio 2010 does not have a template for creating a field control.  I thought about crafting one by hand, but then I remembered that Visual Studio Extensions for Windows SharePoint Services 1.3 has a project item… Read more

Water Cooler Demo: SharePoint state machine workflows

I’ve posted a new video to Channel9… SharePoint Visual Studio state machine workflows for escalations and timeouts. After I went through the learning process of creating a set of screencasts focused on SharePoint development, a few things became evident.  I don’t like the name of the series, and I don’t like the lack of any… Read more

SharePoint for Developers Part 5 – Columns, Content Types, and Lists

Part 5 of the SharePoint for Developers screencast series is posted to Channel9, this session focuses on creating custom field controls, content types, and lists. Previous screencasts can be accessed at  Honestly, there’s no code to really post here.  During the demos, I use Visual Studio Extensions for Windows SharePoint Services 1.3, which generates… Read more

SharePoint for Developers Part 4 – Consuming SharePoint Web Services from Silverlight

Part 4 of the SharePoint for Developers screencast series has been posted to Channel9… this one focusing on calling SharePoint Web Services from a Silverlight client application. Show Me the Code! I started by creating a list in SharePoint based off the Links template called “SharePointSites”.  I added 2 links to it. That gives us… Read more

Consuming SharePoint Lists via AJAX

I’ve done a bit of work with customers interested in consuming SharePoint data without using the SharePoint web services.  A common request asks how to consume the data from JavaScript. Turns out the answer is easy when you develop a custom feature. I created a companion screencast on Channel9 that walks through the entire process… Read more