10 Essential Sitecore Tools For Developers
Wed 6 July, 2016 / By Jon D Jones
In today's post, I'm going to cover a few essential tools anyone new to Sitecore should check out.
Team Development for Sitecore (TDS)
TDS, in my opinion, is a MUST for Sitecore development. TDS is a commercial tool that dramatically improves your Sitecore deployment process. TDS provides features such as:
- Being able to add Sitecore items into source control
- Being able to move Sitecore items between environments with continuous integration
- Automatic ORM code generation
- Config transform support
- Create update packages via Nuget
I think some goals for any Sitecore project should include things like:
- Agility & flexibility
- Being able to deploy between environments without any manual intervention
- Quick set-up for new developers
- Support for sharing data and Sitecore items between teams
TDS was developed to help promote these concepts; sounds great right? The catch is that it costs $749.00 per user. If you have a team of 10 developers then this can be a hard sell for a company.
If you want more information about TDS, then I recommend reading a few tutorials from, TDS Tutorials
Sitecore rocks is a visual studio plug-in that will save you hours of time. Sitecore Rocks provides integrated development experience between Visual Studio and Sitecore. When you use Sitecore Rocks you can interact with your Sitecore items without having to worry about logging into the editor and constantly switch between a browser and Visual Studio, best of all it's FREE!
Sitecore Rocks has a load of useful developer features like Log File Viewer, creating multi items at a time, publishing items and all of its dependencies, Clearing Your Sitecore Cache, Package Management to name a few. If you want to learn more about Sitecore Rocks, then I recommend reading a few tutorials from, Sitecore Rocks
Sitecore Instance Manager
The Sitecore Instance Manager (SIM) is a free tool that gives you a lot more power and functionality when it comes to installing a Sitecore instance, dealing with upgrades and general day-to-day management of your websites.
With SIM you can connect directly to the Sitecore SDN and download updates and upgrades, sort out permissions, backup your website. When you install a new instance you can also select to add patches and upgrades and generally it make life a lot more automated and easier.
Sitecore Instance Manager can be downloaded from here.
To read more about installing a Sitecore instance with the Sitecore instance manager, then I recommend you read, How To Install a Sitecore Instance Using the Sitecore Instance Manager
Beyond Compare / Win Merge
Out of all the CMS solutions I've used Sitecore is definitely up there with the most painful platforms to upgrade. If you are new to Sitecore probably the most recommended way to architect your project is to keep all your code files separate to the main website solution and then do a Visual Studio publish to import the files you want to. This separation of concerns means you can easily re-build your Sitecore solution. If you would like to read more about this approach you can read, How To Architect Your Sitecore Website With MVC
. The point of the design is that you can delete your web root entirely, re-publish and be up and running within minutes. This works for the majority of cases but the approach has a few trade-offs especially when it comes to upgrading; do you include the web.config file, where do you store the module code? When you re-build the website into a fresh instance, if the module files aren't included in the publish the website might not work. Figuring out what files to include in your solution then sometimes requires you to compare your webroot in different states to examine what files have been changed, or added. This is also true for upgrades.
The best folder/file comparison tool I've used is Beyond Compare. Beyond Compare is only $30 bucks and is well worth the money, you can download Beyond Compare here
. If you don't have any budget, then a good second alternative is WinMerge. WinMerger does similar things but has fewer features. WinMerge is available here
Sitecore Support Package Generator
When you work with Sitecore the inevitable time will come when you need to raise a support ticket with Sitecore. Before Sitecore support will look at your issue they will need various information about your environment, logs etc.. To make this process as painless as possible, Sitecore developed the Sitecore Support Package Generator. This handy little tool will compile everything Sitecore support needs from you at a click of a button. If you are new to logging support tickets, you can read more about logging support tickets in, The Unofficial Way To Log a Sitecore Support Ticket
The first program in this list TDS can automatically generate classes from your Sitecore instance for you. TDS in itself only makes this process automatic. The component that does the actual work is called GlassMapper.
GlassMapper is an Object Relational Mappers (ORM) that maps C# types directly to your Sitecore templates and items. Having your Sitecore items as classes means you can write a lot more secure code as you can make full use of strongly typed member types, improving productivity and testability.
You can download GlassMapper for Sitecore via Nuget. For more information how to set this up, I suggest you have a look at, Configuring TDS To Use Code Generation Using Glass Mapper
Glimpse provides runtime web diagnostics for websites showing you the inner workings of how your application works. When Glimpse is enabled, on each page request Glimpse gathers detailed diagnostic information and sends that data back to the client (your browser) as JSON. it's a bit like (and looks like) Chromes developer toolkit that ships with Chrome. If you want to read more about Glimpse then I would recommend reading, Sitecore Glimpse: How To Easily Get Advanced Debugging Information With No Dev Work!
Sitecore Log Analyzer
One of Sitecore's strong points is that it outputs a substantial amount of debugging and error information to help developers troubleshoot potential issues. One downside of having all this information in log files is the inability to easily search and sort through all of your different errors.
This is where Sitecore Log Analyzer comes in handy. It's a standalone exe, so you can copy it onto a production environment easily enough and quickly scan what exceptions your website is spewing out. You can download a copy of from here
Sitecore Developer Tools For Chrome
Sitecore developer tools are quite a simple but handy plug-in for chrome. The developer tools plug-in basically creates a number of shortcuts to frequently used Sitecore pages. The tools provide shortcuts to things like the Content Editor, Desktop, switch to Core database, switch to master database, clear cache page, show config.
To get up and running all you need to do is open your Sitecore instance in a tab and log-in.
Luke For Lucene
Sitecore uses a third party search component called 'Lucene' to provide search capabilities within Sitecore (more modern versions of Sitecore may use Solar). If your website uses Lucene indexes and you start getting complaints that certain web pages or items aren't in your search index, then Luke can be very handy in tracking down the issue
With Luke, you point it at your search index files and Luke provides a nice easy interface to interact with it. You can query the index using custom Lucene queries, a lot like SQL, in order to try and troubleshoot what's missing. Luke is free and the .NET version is available from here, https://luke.codeplex.com/