MVC in Kentico — The Full Story

MVC in Kentico — The Full Story

Jun 27, 2019
MVC in Kentico — The Full Story

Now this is a story all about how my life got flipped, turned upside down… Now that I got the song stuck in your head (I bet you even tried to sing this sentence), I want to take you back to the beginning. You’ve heard a lot about MVC from us at Kentico for quite a while now. But why, you might ask? And when is it all going to end? Well, let’s see if we can piece it all together for you.

Where to begin? Well, some of you might be aware of it but I imagine most aren’t, but in fact, using MVC has been possible in Kentico as far back as version 6. Granted, it is way different now, but it was there. The MVC support as you know it now actually started being introduced in version 9. Back then, we introduced support for MVC development with the Pages application only. Developers and content editors could work independently and create pages in Kentico using MVC. In version 10, we stepped it up to also allow MVC development within other parts of our solution, such as Online Marketing and E-commerce. Then, last November, with the launch of Kentico 12, we pushed MVC forward even more. We thought it was about time that marketers also had some control and that it wasn’t just developers that would love working with Kentico.

What Changed with Kentico 12?


MVC Page Builder

I guess to answer this, the best thing to do is to ask ‘what was the best thing about the Portal Engine offering we had up until now?’ The answer that most people give is ‘the widgets!’ It made life so easy for people. Out-of-the-box widgets for so many different things. With this in mind, we set about changing the way people work with MVC in Kentico 12. In the past, the content creator would create the content, while a developer would then sort out the layout independently and call an API to use the content. But we wanted to give marketers more control, we wanted to give them that widget power of Portal Engine. So, in Kentico 12, we introduced the Widget-based Visual Page Builder—it gave people a drag-and-drop interface for really fast page building.

Some of the key features include:

  • Widget-based Page Builder — a content and experience editor using reusable components to design pages
  • Sections and Widget Zones — a grid or matrix made of rows and columns dividing widget zones into multiple areas, each able to hold multiple widgets
  • Widgets — components providing specific functionality, supporting personalization and inline editing


Content Personalization in MVC

We couldn’t just introduce a brand new way to build pages in MVC and leave it there. The world we live in is dynamic and so should your website. So, with Kentico 12, we also introduced content personalization via the MVC widgets you use in your MVC Page builder. Whether you want to provide personalized content based on contact groups or personas, or you want to stretch it further to more specific conditions like current day of the week, the visitor submitted a specific form in the past, or that the visitor is subscribed to a specific newsletter, you can do it. The possibilities and variations are endless.


MVC Form Builder and Smart Forms

The last MVC highlight I want to point out from the Kentico 12 launch is the MVC Form Builder and Smart Forms functionality. With the MVC Form Builder, marketers can easily create component-based forms in the same drag-and-drop way as with the MVC Page Builder. When using the new Form Builder, there is also the additional Smart Forms functionality. Basically, you can create a form with many questions, mark some of those more detailed or intrusive ones (we know what you’re like, you want to get as much juicy info as possible) as smart fields, and the system ensures that new website visitors won’t be asked those questions immediately but rather more questions appear to the visitor the longer they stay on the site and carry out different actions. It’s a very user-friendly approach to gathering visitor data.


The Kentico 12 Service Pack — Continuing the Improvements

I won’t go into much detail here, mainly because I already wrote another entirely separate blog on this and I’m sure you’ve all read that already, right? Here it is, if you want to just jog your memory. In short, we wanted to continue to push toward making MVC in Kentico super-easy for marketers also, after all, why should developers be the only ones to love MVC? We introduced entirely new Landing Page Templates to dramatically reduce the time to publish new campaign pages, simple A/B Testing built directly in the Pages application also with a single-click promotion of the winning variant, Alternative URLs support, some new selectors and components, and a few other little surprises for you to discover. All in all, it adds many often-requested features and functionality to really increase the speed of your work and offer real independence for marketers.

Ok, Sounds Great! But What’s Next?

Time to get the crystal ball out I guess. Or actually, better still, let’s take a wander through the weird and wonderful minds of our Product Managers. The first port of call is probably one you’re already familiar with, i.e., the future of Kentico EMS belongs to MVC. As already outlined by Michal Kadak in a previous blog, we plan to continue the push with MVC and are highly motivated to move to ASP.NET Core MVC. There are steps outlined also by Michal in this video, where he shares the steps toward being fully ASP.NET Core MVC driven. In short, with the next major release of Kentico in September 2020, Portal Engine will be removed as a development model. Kentico 12 projects that are built in Portal Engine will be supported until September 2022, however, migration of Kentico 12 PE projects to MVC in 2020 will require a rebuild. Of course, Kentico 12 MVC projects will be supported as normal.

Yes, you read it right above, the next major release of Kentico is September 2020. That’s about 15 months before you see the new version. However, we don’t want to deprive you of new features, and we are also aware that there are things that you guys want and need, so what kind of company would we be if we didn’t try to make you happy? So, we looked at how to make it easier to get new goodies to you. Our decision—we are going to create an Open Source MVC marketplace that will be available from August 1. You can look forward to open source components to use in your MVC projects. The components will be based on a new component boilerplate. The boilerplate is being developed as open-source so it will be an ideal starting point for anyone who wants to start creating reusable components. And don’t worry, we’re not just going to bury our head in the sand and expect users to create everything, we plan on building and publishing a full set of widgets/editors and form components during 2019. And another item that we have a lot of demand for is dynamic routing. Originally, we thought that it was enough to have it as a DIY solution, but we realize now, that it’s not enough. So again, you can look forward to this coming shortly rather than waiting for the next major release.


That’s it — the full MVC story in a nutshell (it was a big nut). As you can see, it is not a small task to move to MVC, but we want to accelerate the process more and make sure we are ahead of the game this time. The question I posed at the beginning, ‘When will it all end?’, is probably best answered with ‘it’s just the beginning of an exciting future for Kentico EMS using the ASP.NET MVC Core development model’.

More by this author

We're sorry, but your browser is currently not supported. Try using our website in other browsers like the new Microsoft Edge, Google Chrome, or Mozilla Firefox.
Should you have any query or want to report any issue, feel free to send us an email to