- Brant Cline
- Apr 29, 2019
This past October at Kentico Connections, the product team at Kentico lifted the veil on Kentico 12, the first version of the Kentico CMS to support .NET MVC as the primary development model in the platform for building websites. The messaging around this transition emphasized the technical benefits of this architecture, which include increased flexibility, more integrated testing, access to more modern development tools, and access to a larger talent pool of developers that already know MVC, as compared to the all-but-dead .NET Web Forms development model.
This transition has been a long time coming and there are lots of reasons to be excited, but in the excitement over promoting the benefits of this shift for developers, it has created room for confusion and concern on the part of many marketers and website owners. While such concerns are valid — this is a major transition after all, I can assure you that in many instances, the move to MVC makes sense to begin immediately, and even if you’re not quite ready, there’s a lot of opportunity to prepare yourself for the eventual switch.
The Easy Scenarios
As a solution partner that spends a great deal of time building brand new websites, we encounter plenty of Kentico 12 scenarios that are very cut and dry:
- If you’re new to Kentico and about to start a new web development project, it’s a no-brainer to start your journey immediately using Kentico 12’s MVC Architecture.
- If you have an older Kentico site, ready for a redesign, and you want to stick with Kentico, chances are that we’d be designing and building a new site from the ground up anyway, so we’d do that using Kentico 12/MVC. You’ll just need some updated training on how the new platform handles certain content management tasks differently than the old one did.
- If you’re currently on an older version of Kentico, but not in a position to undertake a redesign or re-architecture of your site, you can upgrade to Kentico 12 while still maintaining current Web Forms architecture. Kentico 12 will be the last version of Kentico that supports the Web Forms Portal Engine, but it will be supported for a minimum of four years, so upgrading to 12 ensures that you can stay in the support window for an extended period, giving you plenty of time to consider and plan your next steps. Not only will this allow you to support your current site for the foreseeable future, it’s also likely that by the time you’re approaching the end of Kentico 12’s official support window, your site is likely to be old enough you’d want to rebuild and redesign it anyway.
The toughest pill to swallow is the fact that there is no seamless “Upgrade Path” for current sites on Kentico to get to an MVC deployment. MVC is a fundamentally different architecture, and many decisions about that architecture will need to be made on a site-by-site basis, so it isn’t realistic to expect any kind of automated tool to rebuild an existing portal engine site in MVC.
So, what about clients who want to stay up to speed with the current version and technology, but aren’t looking to redesign and rebuild their entire site? Being between redesigns on a site, the expectation is that you can keep your platform current with a predictable upgrade path that doesn’t require a full rebuild budget. This is where some of the biggest concerns come in. Other platforms have been on MVC longer and may have a more mature offering. So if we’re going to start from scratch, why not look at all of our options? Does this cause organizations to consider a broader platform evaluation sooner than they otherwise would? Does this cause a possible point of attrition in Kentico usership?
While every case is different, we believe that there are many reasons to stick with the Kentico platform, and a number of good ways to mitigate the pain of this upgrade process.
Reasons to Stay
First, let’s talk about why we don’t think jumping ship from the platform is as attractive an option as it may seem at first glance:
Maturity Isn’t Everything
MVC has been a core development model for most of the rest of the Enterprise-level .NET CMS’s for a while now. Kentico has taken their time catching up, but much of that is because they wanted to make sure they transitioned into MVC the right way. Kentico’s MVC support may be newer, and it may have a shorter list of included features out of the gate, but having built several sites with the new platform, we can say with confidence that Kentico’s approach to MVC is extremely well-thought-out. Of all of the CMS platforms BlueModus works with, Kentico’s architecture is probably the closest to “Pure MVC”, rather than “Kentico’s version of MVC”. This means that the learning curve for MVC developers adopting Kentico is going to be smoother, integration with other platforms is going to be easier, and there’s a bright future for Kentico on MVC.
The Roadmap is Impressive
Kentico’s clean, well thought-out approach to MVC means that building custom features into the platform isn’t out of the question, and additional out-of-the-box features are coming at an impressive clip. Service Pack 1, slated for June 2019, will add A/B Testing, Landing Pages, Simple Widgets, and more concrete best practices, among other things. But perhaps the most striking goal on the horizon (while admittedly planned farther out than most features) is the commitment the platform has made to transitioning Kentico fully into .NET Core within the next two to three versions. This means that eventually, Kentico will be able to run on essentially any server architecture, which opens up many new possibilities that are not often found in the .NET CMS space.
You can still “Iterate” your way to an Upgrade
So there’s no magic bullet in the works. You won’t find a seamless upgrade path for your site from Kentico in Web Forms to Kentico in MVC on the horizon. Does this mean that you’re committed to a full project redesign and rebuild budget when you want to make the switch? Not necessarily. The word “iterate” above is in quotes because at some point, you still have to flip the switch and launch a whole new architecture. That part is unavoidable, but while you continue to support, maintain, and enhance your current Kentico Web Forms Site, there are ways to fit in updates over time that will make the transition to MVC much more manageable.
An “Iterative” Approach to the MVC Upgrade
It’s difficult to speak in generalities about this process since it’s going to be a little different for each site, but the key here is that many of the changes that are more or less necessary for an MVC architecture don’t require an MVC build in order to be executed. Well-structured content, smarter templates, and streamlined editorial processes are all possible and useful in your current Web Forms site, so while the primary goal may be to avoid a single, big-budget rebuild all at once, a secondary benefit is that the supporting tasks you can undertake to mitigate that rebuild will have immediate benefits in your current site.
1. Clean Up Content
An MVC architecture works best with an extremely clean content model. Leveraging clearly-defined attributes, eliminating ad-hoc markup in the midst of your content, and establishing good relationships and taxonomy make for a much easier MVC build, but none of that is specific to MVC. These are great practices in any development model, so these viable enhancements to your existing site will reap immediate benefits.
2. Implement Smarter Page Templates and Widgets
This practice goes hand-in-hand with cleaning up your content. An MVC Architecture splits the front-end of the website into a separate application that will react to the content and configuration it receives from the back-end CMS. As you structure your content into cleaner attributes without unnecessary ad-hoc styling in its midst, you’ll want to replace simple page templates that rely on the editor to explicitly style content with templates that react to content structures according to convention wherever possible.
Additionally, any editing widgets that allow you to directly input one-off content can be replaced with widgets that reference structured content in your document tree, further aligning with a complete content model.
3. Integrate MVC Where Possible
Kentico 12 is the first version of the software to support MVC as a primary complete development model, but Kentico has had partial support for MVC development for a while. MVC elements can be built into templates in the Portal Engine, and some of this can get you a head start when talking about more complex features and functionality. A Location Finder on an embedded map, or an advanced search feature with dynamically-populated filters, for example, are the kinds of elements that could be built in MVC and used directly within your current site.
4. Rinse, Repeat
You’ll want to outline your new, cleaned-up content model completely before you start making any changes to your site, but once you have that defined, you can continue this process one content type at a time. For instance, you could clean up your news article content type, along with the associated authors for bylines, topics, tagging, or other items. Then update the template that displays your news articles to match the new attributes and relationships, along with any widgets that leverage those content types. If there are any features in the news section that are candidates for early redevelopment in MVC, take care of that as well.
You can then launch the updated News section of your website and then move on to the same order of operations for your Events Calendar. If you pace yourself through releasing an updated content type and associated templates each month, you could have your whole site cleaned up in less than a year, depending on the complexity of your site.
5. Flip the Switch
Eventually, you’ll get to the point that you still need to launch your rebuilt site. With this approach, this final step is still likely to be the most significant one. This is still where you build a whole new site, in a whole new CMS architecture. However, if you’ve run through all of the above steps beforehand, much of your markup will now be reusable in the new system architecture, your templates and widgets will be able to be refactored more easily, and your content model won’t need to change at all.
Tranistioning to Kentico MVC isn’t easy, but by taking the proper preparatory steps taken over time, you can make the process a lot smoother. When you properly restructure your content in advance, you’ll benefit from familiarity with many of the newer content management concepts, plus your existing site will likely have benefited from more efficient content management, better technical SEO, and other boosts that often come from a more modern content architecture.
If you’d like to read more on these topics, check out some of the following resources from our team here at BlueModus:
- Whitepaper: About Kentico 12
- Kentico Buying Guide 2019
- Q&A Fact Sheet: What is Content Modeling?
- Zen and the Art of Web Content Management
And of course, if you have any other questions or would like to talk about a roadmap to MVC for your site, we’d love to hear from you.