In case you hadn't heard, or seen the press release, Kentico Software launched Kentico Xperience 13 a week ago to the public. However, that is not what I am talking about. I'm talking about that fact that Kentico Xperience 13 is right here at my blog at mcbeev.com ! Along side .Net Core MVC, it now powers my blog at Mcbeev.com, and I'm stocked about it.
The previous version of this blog was started back in February of 2012 on Kentico 6.0, it was a port over from BlogEngine.Net. which, at the time, was a fantastic product and looks like it still is. When the original migration happened, I built the site on the modern development methodology of the time in Kentico, known as the Portal Engine. The Portal Engine was built on the full .Net Framework 2.0 using ASP.NET WebForms. That site and codebase made it 8 years! That's a pretty good track record, but time has marched on. The blog was starting to show its age and having some performance issues, so it was time for something new.
For the last few months I have been working on a new version of the site. I have been lucky enough to be majorly helped by some amazing team members over at BizStream in the process. I think the longest part of the process was coming up with the new design, which I really like (especially dark mode). The site is now written in Kentico Xperience 13, .NET Core 3.1, and ASP.NET Core MVC. It was one heck of a process to migrate over 225 blog posts from the old site to this one, but I couldn't be happier with the results.
The experience of using Kentico 13 is a welcome one. The editing interface is faster and sleeker than the previous version of Kentico that I was using. The new content model that we created using structured content makes it easier to write and publish blog posts in a simple way. Here's an example of the editing interface:
From a technical standpoint the developers on the project and myself have really enjoyed using VS Code to work with the solution and we are leveraging multiple new aspects of ASP.NET Core like View Components, Tag Helpers, and Razor Class Libraries. An example of writing Kentico Xperience code in .NET Core in VS Code:
Shameless plug, I was even quoted in the press release about the release of Kentico Xperience 13:
"I absolutely love the fact that Kentico Xperience 13 is fueling the next generation of DXP capabilities with its ASP.NET Core first approach, re-designed Marketing Automation engine, and MVC Page Builder improvements." - Brian McKeiver, Co-Owner at BizStream
Yes, I am already planning on the future. The reason that I am excited about this build is that it sets me up very well for transitioning to the next major release of .NET and the next 8 years of running this blog on sound technology should be easily able to be supported. I can say that because this week is .NET Conf 2020. At .NET Conf 2020 .NET 5 will be released to the world. You might have heard me talk about .NET 5 and Kentico Xperience before, but these two technologies line up really well. It will be a very easy upgrade for me to go from .NET Core 3.1 to .NET 5. In fact I don't think it should take more than a day's worth of time to do so. This is another good reason to get your projects upgraded to MVC Core as soon as you can with Kentico Xperience.
Once the update to .NET 5 is completed, I plan on switching out my search engine from the internal Kentico Xperience Smart Search to using Azure Cognitive Search, but I didn't have enough time to do that yet. I also plan to re-create my automatic blog post notification workflow in the new Xperience Marketing Automation re-write. Finally I want to create a few re-usable MVC Core widgets from a few aspects of my site, like the Related Blog Posts feature, and contribute those to the Kentico Xperience Open Source Marketplace. I wish there was more time in the day.
For those of you who are still on a previous version of Kentico Xperience and still using Portal Engine (WebForms), I highly recommend that you check out the MVC Transition Guide that has been updated for the Kentico Xperience 13 release. If you are not an existing Kentico Xperience user and want to create a powerful digital experience platform on a future-proof web framework utilizing .NET Core MVC, you can download a free trial at https://xperience.io/get-started/trial.