Monthly Archives: March 2013

New SharePoint Features for Developers

I recently completed a tour through Kansas City, Minneapolis, Des Moines, and Omaha to demonstrate the new capabilities for SharePoint developers available in Visual Studio Update 1. (Thanks to all of you that attended – despite this crazy weather!)

A special thanks to Neil Iversen from Avtex for his presentation and demos on the new features in SharePoint 2013. His passion and knowledge on the topic was most evident.


Three key features for SharePoint developers were the focus of my session:

Unit testing SharePoint

Sad smileMost SharePoint developers I know don’t write unit tests. It’s just too hard to isolate your custom logic from SharePoint. Without unit tests, developers must spend a lot of time setting up environments, inserting test data, and walking through numerous pages to see if their code is working as intended.

Rolling on the floor laughingVisual Studio 2012 Update 1 adds a SharePoint emulation capability based on the Fakes Framework. You can now write unit tests against your code without even having a live instance of SharePoint! You can even alter the behavior of the SharePoint API to control what the API returns to you.

This feature requires Visual Studio Premium and Update 1.

Performance and load testing SharePoint

Steaming madAny time you are writing code, its always good to keep in mind performance implications. Users get frustrated when applications aren’t responsive. Unfortunately, SharePoint is such a dynamic system, that it could be hard to create usable web performance tests in earlier versions of Visual Studio. With sites, lists, and documents all having unique identifiers that varied across environments, these tests would require a lot of manual revisions to the recorded URL’s. There was also a lot of extra “noise” in the HTTP traffic.

Fingers crossedIt never fails that when users need something in SharePoint, a LOT of them also need it – at the same time. So, load testing is also important in SharePoint. They’ll sometimes make a problem worse by retrying their last action because they aren’t sure its working properly.

Hot smileUpdate 1 adds features to make the recording of web performance tests ignore the noise and identify any SharePoint error pages encountered. The dynamic parameter detection has been extended to extract and pass the unique identifiers for SharePoint objects like site names, list GUIDs, document names, and more.

This feature requires Visual Studio Ultimate and Update 1.

Advanced debugging SharePoint with IntelliTrace

Surprised smileDo you support issues reported by your SharePoint users? Ever wonder what to do with those correlation IDs you see on a SharePoint error page? Its not always easy to reproduce issues within SharePoint.

Red heartThis update makes it very easy to take advantage of IntelliTrace in order to see what lines of your code executed leading up to the reported issue. Even though the error didn’t occur in your development environment, IntelliTrace will log all of the activity so you can play it back in Visual Studio – even if you don’t have the source code on your machine! You can also filter to specific correlation IDs within the IntelliTrace log.

This feature requires Visual Studio Ultimate and Update 1.

You can download the slides for our sessions from my SkyDrive here. Most of my demo’s were based on the hands-on labs here (and get the associated VM here).

Are you a SharePoint developer? Are these new features interesting to you? Let me know what you think.


Tagging TFS Work Items

Several people have asked for the ability to assign tags to work items in Team Foundation Server. Work items have always had an Area Path attribute that provides a hierarchical categorization to work items that is great for reporting, but sometime you want something a little more freeform. I’m happy to let all of you know that with Team Foundation Server Update 2 (currently in “go-live” CTP), we now provide tagging. (Download CTP 4 here.)

NOTE: Work item tagging is already available in Team Foundation Service (our cloud-hosted TFS).

In the screenshot below, you can see the Tags label right above the title of the bug.


Clicking the Add… button changes it into a text box where you can enter some relevant text.


You can add several more tags and remove any of them by clicking the small ‘x’ next to the associated text. Be sure to save your changes.

Run a query and you’ll see a small filter icon on the far right of the query toolbar. Click this icon to display the Tags filter. From here, you can see a count of work items with the specified tags. You can click a tag in order to further filter the queried results. Click the All tag to remove any filtering.


In the screenshot above, you can see I also display the Tags column. You can add this column to your query by clicking the Column Options button in the query toolbar.

For you advanced TFS users, the System.Tags field type is Plain Text and not reportable.

I can think of a variety of scenarios where tags could be used. Where would you use this feature?


I always love speaking at tech conferences. My wife would tell you it’s because I’m a ham, but I really get a charge when one attendee says something like “Wow! I had no idea that was possible!” or “That will really help me on project X.”

Events like TechFuse promise these kind of responses from a lot of people. This year’s event will be hosted at the Minneapolis Convention Center on March 21st, 2013.


This year will be my first time speaking at this event in Minneapolis and I’m really looking forward to it. As someone who organizes an annual tech conference, I appreciate the kind of work that goes into these things and I want to thank Benchmark Learning for putting this together and allowing me to speak.

My session will, of course, be on What’s New in Visual Studio 2012 and Team Foundation Server 2012. You can find details on my session and view the entire agenda here.

For those of you that read my blog, I’m sure you’ll find something at TechFuse that you’ll find useful and I hope to see you at the event!

Web API, WCF Data Service, and St. Louis Winter Weather

Fun combination, huh? I am the presenter at tonight’s St. Louis .NET User Group meeting and this is the topic. I will start by presenting demonstrations of Web API and WCF Data Services, but I’m hoping this will be a discussion about what people are doing with web services today.

Before I forget to do so, I’ll go ahead and post links to my presentation materials: slide deck and demo script. (I’m adding a couple of things and I’ll update the demo script out there later today.) UPDATE: I’ve added the code snippets used in the demo script to my SkyDrive for you to download here.

Building on the success of the last St. Louis .NET User Group meeting, we will be holding this month’s meeting at The Schlafly Bottleworks starting around 6pm.