Protiviti / SharePoint Blog

SharePoint Blog

June 25
Top 10 Free SharePoint Developer Tools!

​All professions require a good set of tools to perform the job’s function.  SharePoint development is no different.  There are many options out there… some good, some bad.  This post will highlight the tools that I find most valuable in my day-to-day job.  

Before we get started, I'd like to lay out a few important details!  First, please keep in mind that each tool below is absolutely free!  While there may be paid versions available, the reviews below are strictly related to the free version.  Second, these tools might not be right for you or you may have better options, but these tools have never failed me and they provide a wide range of capabilities. Now that that's out of the way, let's take a look at some tools!

ILSpy

http://ilspy.net

ILSpy is a free tool used for browsing and decompiling .NET assemblies that are not obfuscated.  Any professional developer will need a tool like this because many commercial and third-party APIs are not well documented.  SharePoint APIs are especially notorious for this.  ILSpy allows you to look inside these assemblies to see how they work and what interfaces are available to you as a consumer.  In addition to this, you can save entire decompiled assemblies, classes, methods, properties, fields, etc. in code files.  I personally prefer this over the similar, but more fully featured, .NET Reflector from RedGate.  I have found the extra features in .NET Reflector are not worth the price tag.

Fiddler

http://www.telerik.com/fiddler

Fiddler is a free web debugging proxy that shows you a wealth of information related to traffic between your computer and the Internet.  This is especially useful when you are writing or debugging code that redirects the user to several different “middle man” URLs before finally sending them to the final destination.  In these cases, you can easily see the order of events and where problems are occurring so you can more easily focus your efforts.  It also allows you to see useful information about requests and responses such as cookies and header values.

SharePoint Manager

http://spm.codeplex.com/

SharePoint Manager is an absolute must have tool for professional SharePoint developers.  Using it, you can view every minute detail about a SharePoint farm.  You can view every site, every feature, every property, every… thing in the farm.  Even values that are hidden from the UI are exposed through this tool.

U2U CAML Query Builder

http://www.codeproject.com/Articles/458008/CAML-Query-Builder

If you are writing code against the SharePoint API, you will need to know how to write CAML queries.  Over time, you may even memorize every detail of how to structure requests and what the names of every field type actually are.  But when you forget (and you will forget), U2U CAML Query Builder is there to pick you up.  This application allows you to connect to a SharePoint site and build CAML Queries against any list or library using a fairly nice UI.  The tools isn’t perfect and won’t work for every situation, but it does a pretty good job.  It was originally developed for SharePoint 2007 and to my knowledge there was never any official release or statement of compatibility for SharePoint 2010 or SharePoint 2013.  I, however, have successfully used it will all three versions of SharePoint.

AD Explorer

http://technet.microsoft.com/en-us/sysinternals/bb963907.aspx

If you are working in SharePoint in any capacity, there’s a good chance you are going to be asked to look at the user profile synchronization process isn’t working as expected.  AD Explorer is a free tool from Microsoft that provides a read-only view of Active Directory.  Remember the old principle about data: garbage in, garbage out. You can save yourself a lot of headaches by first ensuring everything is correct in Active Directory.

FIM Shell

Most people know that user profile synchronization is performed by Forefront Identity Manager, but few people know there is a handy utility that you can use to view what the process is doing in real-time.  The FIM Shell does just this.  It provides an up-to-the-second view of the synchronization process and displays valuable debugging information when errors occur.  It can be found on any SharePoint 2010 server at C:\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\miisclient.exe and any SharePoint 2013 server at C:\Program Files\Microsoft Office Servers\15.0\Synchronization Service\UIShell\miisclient.exe

Papercut

http://papercut.codeplex.com/

Papercut is a very lightweight desktop SMTP server meant to receive messages (not send them) and display them to you.  This is ideal for development environments where an SMTP server is not available or you simply don’t want to actually send anything out.  Just start the program on your development server and configure the SharePoint farm’s outbound SMTP server to the local machine and your good to go.

WinMerge

http://winmerge.org/

WinMerge is a file comparison and merging program.  There are many options out there for this sort of action.  I personally prefer WinMerge because it’s been around for nearly 20 years and has never failed me.  It provides intuitive options such as the ability to ignore whitespace, blank lines, case, and carriage return differences.  The display is smart and merging files in either direction is simple.  It’s also safe because the program will make a backup of any changed file in case you need to revert back.  Finally, it will also allow you to compare entire directories in addition to individual files.

SoapUI

http://www.soapui.org/

SoapUI is a fully featured functional testing tool for SOAP based web services.  It can actually do much more, but I’ll focus on this one aspect of the program because I have found it to be the most useful.  At its core, SoapUI allows you to send requests to and get results back from a service as XML.  The application takes a WSDL and creates sample requests for you.  All you need to do is plug in the parameter values and see what results come back.  This is useful for a variety of reasons.  Suppose you have to use a service that you have no documentation on.  Using SoapUI, you can send sample requests directly to the service and see how the results are formatted, allowing you to consume and use those results properly in your client.  Another scenario is debugging a service.  Sometimes, it’s helpful to take the client application out of the equation and first verify if the service is responding to request as expected.  SoapUI makes this easy.  Note that there is a free version as well as a paid, “professional” version of this application.  I have never needed anything outside of the free version.

Your Browser

All modern browsers include the ability to browse, modify, and debug web page output including HTML, CSS, and JavaScript.  Learning to use this capability is invaluable when it comes to UI work.  You could spend hours tweaking CSS between deployments, or you can make the changes in real time through the browser and get it right much quicker.  You could spend hours adding “alert” calls to your script to see where it fails, or you could use the browsers debugging capabilities to set breakpoints and monitor changes as they occur. 

Your Custom Tools

You can’t find a tool for your current problem?  It seems no one has run into this issue before?  You’re a developer right?  Get used to building your own tools and adding them to your personal toolbox.  As useful as all of the above tools are, PowerShell and Visual Studio should really be your best friends.  I personally have over 50 PowerShell scripts and console applications in my toolbox for everything from deleting corrupt navigation nodes to comparing the services running on each server in a farm to testing regular expression matching.  Your toolbox is essentially limitless when you can build your own tools.

Quick Launch


© Protiviti 2019. All rights reserved.   |   Privacy Policy