By: TwitterButtons.com

Recent blog posts

User login

Home | Blogs | Stephane Eyskens's blog

My top 10 tools for a better SharePoint development experience

Hi,
The purpose of this blog post is to present some tools that I’m using in my day to day SharePoint activities. I will not talk about the very rich Microsoft tools such as SharePoint Designer, InfoPath et…I’d rather focus on tools that really help hardcore developers to be more efficient in both development and troubleshooting.
This list of tools can probably be largely extended, so don’t hesitate to add comments to present your favorite tools.

CKS Dev

Available at http://cksdev.codeplex.com/
CKS Dev adds very useful features to Visual Studio for SharePoint projects. It accelerates custom solutions deployment and helps in developing some components that are not proposed out of the box by Visual Studio 2010.
As you can see, a lot of valuable project items are made available:



On top of that, some extra contextual menu items are available and are very useful:

Most of these options allow you to deploy quickly components without being forced to deploy the full WSP. It is particularly useful when deploying artifacts such as .aspx pages, master pages etc…and very handy when debugging code-behind from SandBoxed , Farm solutions and even Timer Jobs.
It’s definitely an added value for every SharePoint developer.

Developer Dashboard

Documentation : http://msdn.microsoft.com/en-us/library/ff512745.aspx

This one is built-in in SharePoint 2010 and makes it easy to take some performance metrics, helps identifying heavy components and understanding what’s going on behind the scenes since it also shows how SharePoint queries its SQL databases.
Once enabled on the page, you get some results about the overall page payload, the database queries and much more other metrics:

Combining the use of the Dashboard with the built-in SPMonitoredScope class helps in getting a precise idea on how your components perform. As a practice, for important actions, you can imagine that kind of patterns in your code:

#if DEBUG
            using (SPMonitoredScope scope = new SPMonitoredScope("..."))
            {
#endif
             
                //do some stuff
#if DEBUG
            }
#endif

Using those preprocessing directives will ensure that some code blocks are always monitored specifically when the code runs in debug mode.

SPDisposeCheck

Available at http://archive.msdn.microsoft.com/SPDisposeCheck

This one is and old tool but still a must-have. It has an add-on for Visual Studio so that it can be executed against your code when the project builds.
It helps identifying memory leaks or worst, disposed objects that shouldn’t have been disposed causing sometimes issues that are quite difficult to troubleshoot.

WSPBuilder

Available at http://keutmann.blogspot.com/2009/12/wspbuilder-2010-beta.html
This tool has also been there for a while. This was incredibly useful in SharePoint 2007 since Visual Studio 2008 did not provide enough out of the box capabilities regarding SharePoint solutions deployment. WSPBuilder clearly filled some gaps.
Admittedly, I’m using it less than before since Visual Studio 2010 is way better than Visual Studio 2008 regarding SharePoint solutions deployment but WSPBuilder can still be useful for batch and automated builds.

ULS Log Viewer

Available at http://archive.msdn.microsoft.com/Project/Download/FileDownload.aspx?Pro...

ULS Log Viewer is an advanced tool that helps in diagnosing SharePoint issues. It has a “real time” log viewing feature :

that you can combine with advanced filtering options :

That makes it a very handy pal when working with SharePoint.

SPLIT (SharePoint Log Investigation Tool)

Available at http://split.codeplex.com/
This tool is way less advanced than ULS Log Viewer but is also quite handy since it leverages the usefulness of the correlation ID. Since SharePoint 2010, any error generates a correlation ID. With SPLIT, you just need to paste that correlation ID in the UI and you’ll get all the correlated log lines :

Fiddler

Available at http://www.fiddler2.com/fiddler2/

I’m using this tool very often. While we cannot consider it as a SharePoint tool, it’s of a great help for the following :

- Analyzing web traffic

- Working on client-side artifacts payload

In the context of SharePoint, Fiddler is particularly interesting when working with :

- The Client Object Model since you can easily see what was returned by the web services, how the queries are built etc…

- How tools integrate with SharePoint. For instance, to see how SharePoint Designer is able to interact with SharePoint

In the above screenshot, just opening the site with SharePoint Designer has generated the shown queries.

I remember that a while ago, I was charged of studying SharePoint Workspace and I used Fiddler to see what could be the server-side impact in terms of workload. Fiddler is definitely a great tool.

.NET Reflector

Available at http://www.reflector.net/
I don’t know if it’s still needed to introduce that tool since it has been there for a while. This is clearly the best .NET reverse engineering tool. Unfortunately, it is not free anymore.
A good substitute is dotNetPeek (http://confluence.jetbrains.net/display/NETPEEK/dotPeek+Early+Access+Pro... ). The tool is still in Beta and is less advanced than .NET Reflector but it’s free :).

PowerGui

Available at http://powergui.org/downloads.jspa
PowerShell being a lot more integrated to SharePoint than in the past, it becomes frequent for admins and developers to write PowerShell script to perform automated deployment, automatic setup etc…
PowerGui can really help since it supports debugging and IntelliSense for PowerShell.

SharePoint Manager

Available at http://spm.codeplex.com/
This tool is very useful to inspect SharePoint. Whether you need to view or modify any kind of SharePoint object, SharePoint Manager is your friend.
It exposes a user-friendly UI :

and is one of the most downloaded SharePoint related CodePlex project

Of course, let’s not forget Visual Studio 2010 itself . Features such as code analysis, the test suite and basically all the ALM Microsoft suite with TFS.


Update: I forgot to include a very handy tool that was even more handy in 2007 and this is the CAML Query Builder from Karine Bosch


Happy Coding!


Comments

Tools

Nice post. I Didn't knew about SPLIT.
I've been using CKSDev but recently I moved to SPSF (http://spsf.codeplex.com) that provides the same "quick deploy" features but also much more on the creation and testing aspects, you should give it a try.

Cheers.
FVK

Tools

Hi,

Thanks for your comment, I'll give it a try indeed. For SPLIT, I'm not surprised that you didn't know since it was downloaded less than 300 times on CodePlex so I guess a lof of people do not know it.

It's basic but actually very useful :).

Best Regards