Skip to main content

Microsoft

What Is In Your Sitecore Development Toolkit?

Pilots require dashboards. Carpenters depend on a great set of tools. Software artisans working with Sitecore need both.
Scott Hanselman published his 2014 Ultimate Developer and Power Users Tool List for Windows this past Saturday.Sitecore Tool Box
I look forward to this blog post because it is a great gut check to review the tool set I like to use for professional and personal software development. This year it is also great timing, as Jamie Stump, our Sitecore MVP here at Perficient, is putting together the development environment specifications or a customer on a project I will be joining him on in the next few weeks.
Also, I’ve been noticing many Sitecore community blogs mentioning some of the tools being used within the community. Each software developer will always have their unique preference for the tools they use that another developer won’t necessarily agree with. We as a Sitecore practice at Perficient do have our framework we utilize for customer solutions, but each developer brings their own tool set preferences to potentially add into each project.
With all this reading and using development tools lately has me wondering which setups work really well regardless of personal preference? That question opens a huge can of worms for a debate at another time. I have no intention of providing an answer to that question in this post. I do want to share what my preferences are for tools and would love to get feedback from the community on what they truly value as useful in their toolkit.
My Favorites Right Now
These are my favorite tools that I don’t necessarily get to always use in each of my professional and personal projects, but I use them each and every time I can.

  • CMS Performance Tuning Guide from Sitecore – I find when we work with new customers with an existing Sitecore installation, usually some improvements with performance are needed. This is a great start in firming up caching, IIS and SQL Server tuning.
  • Sitecore Developer Network – everything Sitecore all the time.
  • JustDecompile – Great tool for decompiling assemblies. Very helpful in determining what your favorite Sitecore processing is really doing.
  • ReSharper – This productivity tool focusing on code quality. My favorite feature is the ability to traverse the solution to see how a particular code element is related in the solution.
  • Sitecore Rocks – Truly does make me happy. Love living in my Visual Studio instead of switching between Visual Studio and Sitecore. Provides so much more of a feature set then just the IDE integration.
  • Fiddler – This provides so much information regarding my HTTP traffic. It even me to analyze my encrypted traffic over SSL if needed.
  • Sitecore Log Analyzer – When working with large log files this tool makes it quick and easy to filter down to specific information within the log.
  • Autofac/Moq – These for me go hand in hand for test driven development. I was introduced to Autofac and Moq. Since then I have become a fan quickly after using them on several different projects.
  • Luke.Net – Started using in place of Luke because I liked the interface a little better.
  • Glass Mapper – Great ORM for Sitecore. Versatility and complex types are handled well. Being able to use interfaces as models makes it easier to mock for testing.
  • SoapUI – If I need to integrate through a service layer to a 3rd party ERP system, I use this tool to be able to validate those service calls.
  • BrowserStack – This is a newer addition to my favorites, I needed to replicate an issue that was happening in a browser on a Mac. Being able to simulate that browsing experience through this tool made this a favorite right away.
  • WinMerge – My favorite file content comparison tool.
  • GIMP – I’m not a graphics phenomenon – but doing little graphical tweaks with this tool gives me the opportunity for a 15 minutes that fulfilled feeling.

What I’m Hoping To Add To My Favorites

  • Sitecore Ship, Sitecore Courier, and Unicorn – I’ve used other products that essentially do the same thing and have worked with customers that do these functions manually. I would like to see how these can come together.
  • Sitecore and Microsoft Fakes – Will this be the answer to mocking the Sitecore Context on already existing implementations of Sitecore? Using nUnit tests within the browser is good but I would love to go through the IDE seamlessly without a lot of setup and tear down.
  • SpecFlow – I like the concepts around BDD and I like Sitecore. I really want to try these two things together and see what results from it. I likely will have to take this into my lab to play with in some spare time.
  • WiX Toolset – have always wanted to look into this for installer packages. Looks like deployment projects have been removed from Visual Studio 2013 so now is a good time as any.
  • PowerShell – It’s not that I have avoided using PowerShell, I just haven’t had the pressing need with all the other things to absorb. There have been a few great blog posts and demonstrations in using PowerShell and Sitecore so it is going to move up on my list.

So what tools are you using to make your Sitecore development more fun? I would love to hear from the Sitecore community on this.
// <![CDATA[
// // // // <![CDATA[
//
Evernote.FileLogger = {
_addin : Evernote.Addin,
_log : function(level, message) {
if(level >= this.level)
this._addin.log(level, “JS: ” + message);
},
debug : function(message) {
try {
this._log(0, message);
} catch(e) {
if(this._next) {
this._next.debug(message);
}
}
},
info : function(message) {
try {
this._log(1, message);
} catch(e) {
if(this._next) {
this._next.info(message);
}
}
},
warn : function(message) {
try {
this._log(2, message);
} catch(e) {
if(this._next) {
this._next.warn(message);
}
}
},
error : function(message) {
try {
this._log(3, message);
} catch(e) {
if(this._next) {
this._next.error(message);
}
}
},
setNext : function(logger) {
this._next = logger;
this._next.setLevel(this.level);
},
setLevel : function(level) {
this.level = level;
}
};
// ]]>
// ]]>// <![CDATA[
//
Evernote.ConsoleLogger = {
debug : function(message) {
if(this.level –>= Evernote.LoggerConfigurator.DEBUG) {
try {
console.info(message);
} catch(e) {
if(this._next) {
this._next.debug(message);
}
}
}
},
info : function(message) {
if(this.level >= Evernote.LoggerConfigurator.INFO) {
try {
console.info(message);
} catch(e) {
if(this._next) {
this._next.info(message);
}
}
}
},
warn : function(message) {
if(this.level >= Evernote.LoggerConfigurator.WARN) {
try {
console.warn(message);
} catch(e) {
if(this._next) {
this._next.warn(message);
}
}
}
},
error : function(message) {
if(this.level >= Evernote.LoggerConfigurator.ERROR) {
try {
console.error(message);
} catch(e) {
if(this._next) {
this._next.error(message);
}
}
}
},
setNext : function(logger) {
this._next = logger;
},
setLevel : function(level) {
this.level = level;
}
};
// ]]>
// ]]>

Thoughts on “What Is In Your Sitecore Development Toolkit?”

  1. There are so many other great tools out there that you should check out. Team Development for Sitecore (www.teamdevelopmentforsitecore.com) being one.
    Check out this video during the Sitecore Users Virtual Summit that discusses Sitecore Tools and add ons. It may give you some ideas.

  2. Thanks for the comment Mike. I have used TDS on many projects and it is a really good tool. The reason it doesn’t exist in my toolkit consistently is that clients have not always pursued the use of TDS in their tooling decisions in my current life with Perficient and my work previous to my time at Perficient.
    I attended the past Virtual Summit and have seen the presentation you are referring to. Here is the link for others to refer to in case they have issues with the embedding of the video.
    Revolver is on my extended list as well, but outside my immediate research so far. I also haven’t had the need to work with Razl as of yet.
    Mike Reynolds mentioned the use of Notepad++. This is a utility I neglected to put on my list. I use that consistently as well.
    Thanks again for sharing!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Mark Servais

Mark Servais is a software solutions professional with experience in creating solutions using Sitecore and the Microsoft stack of technologies. Experienced in project and development lifecycles through several viewpoints that include project management, development, and leadership. Mark has over 25 years’ experience in software engineering and application development. Mark has been awarded Sitecore’s Technology MVP award from 2014-2017 and currently holds a Master’s degree in Software Engineering from Carroll University.

More from this Author

Categories
Follow Us