Blog Posts

Sep 01

KenticoCacheDoctor 2.0 Now With Kentico.Glimpse

Today I have a quick update for Kentico developers out there on my KenticoCacheDoctor project. In case you are not famliar with it, KenticoCacheDoctor is my mini open source project for working with Kentico 12.0 and Caching. I'm happy to announce that version 2.0 has been released as an updated NuGet package. A HUGE thank you goes out to Sean G. Wright for his contribution to the project, as this whole update was created by him. 

Not only did Sean clean up some of my lazy coding, he also created an integration into Kentico.Glimpse for KenticoCacheDoctor. That's right, now you can install a slightly different new NuGet package and the information that KenticoCacheDoctor provides is shown as a custom tab in Glimpse, just like the Kentico.SQL tab is shown for debugging Kentico SQL statements.

Keep reading after the jump to see this new integration.

Read more »

Jul 14

Introducing the Kentico Cache Doctor NuGet Package

Over the past many years, there is one pretty important thing I have learned while working with Kentico (and most other Web based CMS platforms out there). That one thing I have learned is that when it comes to problems with a page not showing the right results, or the code not working, or the content not quite lining up the right way; it almost always boils down to one of three things. Those three things in Kentico EMS are macros for dynamic content (and all the fun macro security issues that come with them), client side browser cache (where the latest Javascript file is not being loaded or is stale), and server side caching (where the CMS has placed data in the server memory and the latest page is not being sent down to the user's browser).

With Kentico's focus on MVC first for the latest Kentico 12 SP1, that last one, server side caching, is actually more important and fun to deal with than ever. The thing is with MVC, the caching strategy you use is up to you, and there are many different ways to do it. One of the most powerful ways is add what's called Output Caching into the solution. Output Caching is excellently detailed out over on Michal Samuhel's blog post on fixing a slow Kentico MVC site. If you have not read that post, STOP, and go read it right now. Then come back over here.  

In working with Kentico MVC sites for over 3 years, I have seen many issues during project development cycles that were resolved by simply clearing the page's Output Cache and/or restarting the app pool for the MVC live site. This is fine and all, but it does take a bit of time to do this and slows down the development process. To combat this I have decided to work on a little add-on for Kentico MVC development that gives the developer a quick short cut to clear the Cache without having to restart the site. Enter the Kentico Cache Doctor.

Read more »

Jan 28

Why Kentico.Glimpse is a Must Have Tool for Kentico MVC Developers

Recently I was tasked with troubleshooting a problem with one of our Kentico MVC projects that we were working on. The issue was that, at a high load, the performance of the front end MVC live site was not scaling very well. This was an issue that I had not really seen before in our Kentico MVC projects because typically Kentico’s API caching system does a really great job at making sure sites are very high performing.

As long as you follow best practices for Kentico MVC development you are usually pretty good on the performance side, well, that is until a client loads a 5 MB image file on the home page, but alas, that is a different story for a different blog post.

The root issue seemed to be that the Time to first byte (TTFB) was relatively high in the first few tests and didn’t efficiently drop as much as we would like on the primed cache hits. This was a clue that it was something to do on the server-side rendering of the page, before the HTTP response was even being sent down to the browser. And with any asp.net database backed CMS, this usually points to something being up with the SQL database calls that it takes to render the page.

Keep reading to see how I used the fantastic Kentico.Glimpse debugging tool to solve where the slowness was on this Kentico MVC project.

Read more »

Jun 23

Help! My Kentico Macro Is Not Working

As a long time Kentico developer and enthusiast, I have used and written many Kentico macros over the years. It’s actually one of my favorite parts of the platform. When executed correctly macros are great. However, when they don’t work, the situation can be more frustrating than just about anything I’ve encountered with Kentico. Because of my experience with macros, my colleagues at BizStream frequently come to me with the statement of: Help! My Kentico macro is not working. This common issue inspired me to create a flow chart / troubleshooting guide for what to do when a Kentico macro does not function as expected.

Read more »

Oct 26

Speed Up Your Kentico Debugging in Visual Studio

Any seasoned ASP.Net developer knows that building your project(s) before starting a debugging session is an important step to take to ensure that there are no silly coding mistakes lurking around. Most seasoned Kentico developers know that performing a full build on a Kentico web site project can be time consuming if there is not a Solid State Drive in use on the computer running Visual Studio.

I myself have experienced this issue many times over, and a long time ago I finally decided to see what options there are out there for speeding up the process. During my recent journey to Kentico Connection Prague, a few of the other Kentico MVPs reminded me that I had never put out a blog post about a simple trick that you can take to speed up your debugging session in Kentico. Today I am going to illustrate one method that might just save you and other Kentico developers out there some time.

Read more »

Aug 02

How to Setup Debugging for Custom Event Handlers in Kentico CMS and Visual Studio 2010

This post applies to using Kentico CMS 5.5+ and Visual Studio 2010. It may seem a bit basic to some veteran Kentico developers, but I had to show a few co-workers the ins and outs of setting up a solution the right way. Once they had it, they were able to debug through a local project that contained both the core Kentico code and the extra sample code for creating a custom event handler. You might have a question on what exactly a CustomEventHandler is for Kentico. Well it is basically an avenue...

Read more »