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 »

Mar 16

Kentico Rocks Podcast Episode 19

In this episode of Kentico Rocks, Brian McKeiver and Bryan Soltis focus on what's going on with the Kentico community, open source projects, and blog posts for both Kentico EMS and Kentico Cloud, as well as, a special update for one of our co-hosts.  Listen on to find out what's new and happening in Kentico community. You just might find out how you can win yourself a $150 Amazon gift card as well.

Read more »

Feb 24

Why a Kentico MVC Upgrade Should Not be One Hour of Work - Part 2

In the second part of the series, I am going to continue on with the reasons why Kentico Upgrades take what they take and answer the $64,000 question as to what should an upgrade take for a Kentico MVC Site. Be sure to read part one first of the this two part mini blog post series about Why a Kentico MVC Upgrade Should Not be One Hour before continuing on.

Read more »

Feb 24

Why a Kentico MVC Upgrade Should Not be One Hour of Work

Recently, I have been involved in multiple Kentico MVC Upgrades and Hotfixes for versions 10, 11, and 12 of Kentico. Some have went really well, and some have went not so well.  This hasn't really surprised me as, this is typical of any complex software upgrade. Raise your hand if you have even seen a Visual Studio or MS Office installation completely crap out due to user permissions, mis-matched .Net framework components, or even in the old days dll hell. Yep, I've been there too.
 
But here's the deal, sometimes customers, and even developers, expect an upgrade to hit all three points on the magic business triangle of the speed: fast, the cost: cheap, and quality: good. Over the many years of working with Kentico and end clients, I have been told by Digital Marketers, IT Directors, and CEO's that why can't this upgrade "just" be finished tomorrow? Why is it so hard? Can't it "just" be done in an hour or two?
 

Pro Tip: Just is the most evilest word in I.T. Can't we just add this feature? Can't we just deploy right now? Can't the code just work as I told showed you in my napkin drawing? If I had nickel for every time someone used the word Just…I'd have a lot of nickels.

 

My answer to all of these questions never beats around the bush. I always look the person directly in the eye, take a small deep breath and simply say "No". 
 
Keep reading after the jump to find out why a Kentico MVC upgrade really does take more than an hour or two.
 

Read more »

Dec 28

How to Create an XML Sitemap in Kentico 12 MVC

Wow, it is nearly the end of 2018 already. It is amazing that the older I get, time seems to move faster and faster. I can't believe how fast the time has went this year. In fact, time has went by so fast that I didn’t really have time to join in on the buzz of the Kentico 12.0 release that happened last month (well other than having some fun on Twitter celebrating the launch of Raptor).

In case you didn’t hear, the Kentico 12 release focuses 100% on moving the Kentico platform to an MVC first development methodology. This is great news for ASP.Net developers out there who want to move into more modern technologies and tooling. Kentico is even working on updating the platform to have support for Dot Net Core in the near future. If you are interested in more on the technology roadmap I would recommend checking out the Kentico MVC transition guide and definitely watch Michal’s video towards the bottom of the page.

Now, I could sit here all day and write about the benefits of MVC and how it is flat out a better choice for any Kentico web project these days, but I am not going to do that today. Instead I am going to focus a bit on the argument that I have heard from some Kentico developers, Kentico partners, and even some end clients against the move to MVC. I have heard the point that many of them say: “Why would we move to MVC? We have a CMS with a Portal Engine and pre-built Web parts that gives us so much built in functionality and moving to MVC means that you have to give up that functionality and do everything 100% in code”.

While this is a somewhat valid point, there is indeed more code involved in a Kentico MVC solution, I want to point out that the opposite of this statement is also true, and almost never said by that side of the argument. When you implement in MVC you are opening the door to using solutions that are part of the whole .Net community and not just Kentico specific. Developing your site in MVC gives you the ability to use things like NuGet packages that are well known, secure, and maintained over time. These packages can easily add in a ton of functionality to any ASP.Net site, just like web parts could for the Kentico Portal Engine.

To illustrate my point, I am going to use a concrete example of building out an XML Google Sitemap for a Kentico MVC based website. I think this makes sense as a comparison because yes, the Kentico Portal Engine has this feature built in to it, and the MVC starter site that ships with Kentico 12.0 does not.

Keep reading after the jump to see one option for How to Create an XML Sitemap in your Kentico MVC site.

Read more »

Nov 18

How to Configure Kentico MVC Sites for Azure Blob Storage with Media Libraries

In this How To guide, I will show you how to connect your Kentico MVC site to leverage Azure Blob storage for hosting and providing media library files. This process is not exactly new, it has been around since Kentico 8.0 or so, however, with the new focus on the MVC development methodology, it is not exactly as straight forward as the Kentico documentation mentions. Don't get me wrong, each small part of the Kentico documentation is 100% correct, but there is no great 100% holistic walkthrough for MVC based sites.

Plus, the trend of hosting Kentico sites on Azure PaaS via Azure App Services is very much increasing. I would say at this point it is the most common way that we deploy Kentico sites at BizStream (sorry AWS and Rackspace lovers). The only down side of hosting on an Azure App Service is that each App Service filesystem is limited to 50 GB in total size. That's where Azure Blob storage comes to the rescue. You can offload your media libraries to get those site images, pdfs, and other downloads to a storage mechanism that does not have this size constraint. After all, the largest benefit of utilizing the Microsoft Azure cloud for hosting your Kentico MVC site really boils down to added performance and scalability that the cloud gives you.  

Keep reading to see the whole process step by step of how to connect an external storage provider for Azure Blog storage on your Kentico MVC site.

Read more »

Aug 31

Kentico Rocks Podcast Episode 18

In this episode of Kentico Rocks, Brian McKeiver and Bryan Soltis review the state of using ASP.NET MVC in the upcoming release of Kentico 12. Yes, that's right after a small hiatus, we are looking to revive the podcast. This time Brian and Bryan talk about why Kentico MVC is a first class citizen now in 2018, how an agency might start to transition from the legacy Portal Engine to MVC, and behind the scenes in BizStream's journey into MVC development. And for an extra special bonus, this time we recorded the session with live video as well. Listen and/or watch on to find out how you can start MVC in your own Kentico website development process now.

Read more »

Jun 30

Kentico 12 Beta 2: Chasing the Raptor

In case you were not aware, the second beta release of Kentico Raptor dropped last week ("Raptor" is the code name for the Kentico 12.0 beta releases). I have been keeping my eye on the first two releases of Raptor for one main reason, and that reason is the proclamation that Kentico made  earlier this year that announced ASP.NET MVC would be the main development model supported in Kentico 12 and later. This announcement was music to my ears as my team and I at BizStream have been pushing MVC in Kentico for the past two years.

Since we are such big fans of the MVC development style in Kentico getting the installation of Kentico Raptor up and running was the second highest priority of the week for me (sorry Kentico, coffee is always, and will always be the highest priority for me). And actually one of the newest features of the Kentico platform in version 12 is the updated installer that allows you to seamlessly install an ASP.NET MVC based solution and project type on your development machine. But that is not the most interesting part of the story here. The biggest star of the show in Kentico 12 is the new MVC Page Builder that allows content authors to use a drag and drop method of building content pages on MVC sites. Trust me this feature does not disappoint. It comes with many abilities including the long awaited MVC widgets that most developers have wanted for a while now. 

Keep reading after the jump to hear my impressions of Kentico Raptor and whether or not this Raptor is better than "Blue" in Jurassic World: Fallen Kingdom, or just another box office flop.

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 »

 1 2