Kentico 9 is Released - Our First Impressions

Posted by Dave Conder on December 03, 2015

Kentico 9 was released last week, and the BlueModus team has been working with pre-release builds for a few months, so we’re starting to get a good feel for the new release. Version 9 is a great step forward for the platform, and we’re excited to start building solutions with it.
 
In this article, I'll provide our initial impressions and thoughts about the major new features.

First – a note about upgrades

There were a lot of major changes between versions 7 & 8 of Kentico. Many namespaces were changed, new features such as DataQuery were introduced, and a completely new administrative UI was added.
 
The changes were necessary and welcome, as the complexity of the platform had grown so much that a major reorganization was needed. However, upgrades from 7 to 8 were challenging in many cases. While Kentico provided solid documentation and tools to help with the upgrades, in sone cases they were difficult and time-consuming, especially when best practices were not followed during initial development, something the BlueModus team commonly sees when we take over maintenance or support of a site.
 
In our initial experience with Kentico 9, we've had a much better experience with upgrades. We'll provide more feedback as we continue to perform more upgrades,– but so far it appears the upgrade path with be a lot easier from 8 to 9. That’s good news, and will help with rapid adoption of the new version.

New Features & Enhancements

Continuous Integration
This feature is probably the one we’re most excited about. Historically, Kentico’s development model works best with a single, shared database since so many objects are stored in SQL. Although this works great for small teams, once you start looking at more than a handful of developers, or your teams are spread out, it can introduce some serious headaches.
 
BlueModus works on a lot of larger-scale, enterprise solutions for our clients and partners, where the shared database model leaves a lot to be desired. There were some helpful workarounds and best practices, but ultimately, the approach wasn’t always optimal.
 
The new Continuous Integration (it might be better to call it “file-based objects”) feature allows most objects and content to be serialized and stored in the file system and source control. This is an exciting update because it makes it easier for developers to have isolated local databases and commit changes to objects and content via source control. Tied with a solid review/pull process, this will make development a lot smoother, especially for complex projects. BlueModus has already implemented this with our CI pipelines, and we’ll provide a deeper dive into this feature in a future post.
 
Module Improvements
Kentico 8 introduced a solid module model that lets developers build complex custom modules while keeping them portable. In Kentico 9, this model has been improved with the following features:

  • Nuget support – allows packages to be exported in Nuget format
  • Bootstrapping – code and SQL queries can be executed before and after installation
  • Update & Uninstall support – makes it easy to update modules
  • Ability to include page types in modules – an important improvement because many modules do include page types; now they can be included in the package

This upgrade is an important step for the platform because it makes it easier to efficiently create and install custom modules. Hopefully, it will also increase adoption and open up more modules on the marketplace. For our team, it’s exciting as well because we’ve created our own internal suite of tools and modules, and these improvements will allow us to do a lot more with them.
 
Enhanced MVC Support
With ASP.NET 5, Microsoft is moving away from the Webforms world. This is a welcome change for many, but given the amount of code that currently exists, Webforms won’t disappear any time soon. Kentico is aware of this roadmap and as a result has introduced a big first step to support MVC.
 
The admin section of Kentico 9 is still Webforms-based, but a complete MVC Visual Studio solution and example site is included. This separates the presentation from the admin side, but new helper methods and features (such as content-only pages) assist in making this workable. Kentico still has a long way to go to completely move away from Webforms, as the portal engine and many features don’t yet work with MVC, but it’s an important step that will make MVC development dramatically more efficient.
 
Web Farm enhancements
In Kentico 9, the web farm synch engine has been rewritten and is much more robust. It’s faster, has less overhead, and supports auto-scaling features in Microsoft Azure. We’ve seen some issues with high-traffic sites using web farms in the past, so this is a welcome improvement to alleviate such concerns.
 
Staging Improvements
Kentico’s Staging feature is great, but not perfect. One of the challenges we’ve run into, especially on large sites, is the vast number of staging tasks that are created.
 
In Kentico 9, there are filters and search tools to find tasks, and each task now includes the user that created them. In addition, users can set a site-wide context tag. Every staging change made under these tags will be searchable for that tag. For example, if you’re working on the blog section, you can create a “blog” tag and every change you make to pages or objects will be included in that tag. You can then quickly find those staging tasks. Essentially, it will let you create change sets.
 
One issue that has not been addressed in Kentico 9 is the ability to easily filter staging tasks. For example, at BlueModus we commonly want to exclude all user updates or content updates from staging. Since there is no easy out-of-the-box way to do this, we have created a custom module that helps. Look forward to a post about this in the future.
 
Find used form controls and widgets/webparts
This feature adds a tab to the Form Control, Widget, and Webpart administrative areas, which lets you see all instances of those objects in sites. This can be extremely helpful when making changes to large sites.
 
New Documentation
In version 8, Kentico’s documentation was greatly improved, as they moved to Atlassian Confluence and wrote lots of content focused on solutions rather than just providing dry documentation. In Kentico 9, many incremental improvements have been added. You can read more about this here: https://docs.kentico.com/display/K9/Kentico+9+Documentation+Home
 
Smaller Installation
The overall project size has dropped a bit in Kentico 9, which is nice. We’ve also noticed improvement in the just-in-time (JIT) compilation speeds under ASP.NET 4.6.
 
EMS Enhancements
In Kentico 9, enhancements to EMS functionality and performance have been added. Here’s a quick list, and we’ll provide more info later on once we use these features in real world scenarios.

  • Integrated Campaign Management – Allows all aspects of analytics and reporting for campaigns to be managed in one place
  • Marketing Automation Improvements
    • E-Commerce – easier to send shopping cart reminders and upsell emails
    • Forms – ability to segment based on form responses makes it easier to quickly customize and track the user experience
  • Global Email Opt-outs – allows Kentico to act as a compliant email marketing platform
  • Mass contact Import – makes it easier to add large amounts of contact data

Removed Features and Support
The Kentico platform has grown a lot over the years, so they have (rightly) made some decisions to remove or deprecate certain features that aren’t often used. Doing so helps with maintenance and reduces the size of the overall solution, so we’re fully on board with these decisions.
 
Some of the items that have been removed or no longer supported in Kentico 9 include:

  • Support for ASP.NET 4.0 and IIS Classic mode
  • Mapping SKU fields to Page Fields
  • Intranet features (Project Management, Document Library, old SharePoint Connector)
  • Wireframe Feature

(Keep in mind that some of the above items will still be available as a separate package if desired.)

More Info

The list above, while not comprehensive, does hit what we consider to be the most important areas of the new release. I hope you've found it helpful. The following links provide more info on Kentico 9:
 
http://www.kentico.com/product/roadmap
https://devnet.kentico.com/tag/kentico%209
https://docs.kentico.com/display/K9/Release+notes+-+Kentico+9

What do you think of Kentico's latest platform release? I'd enjoy hearing your thoughts or questions in the comments below!


Dave Conder
Dave Conder has been using technology to create value and solve problems for more than 15 years. His background includes technical management, network architecture and design, security, and application development. As CTO, Dave ensures that BlueModus always uses the best people, practices, and tools to deliver world-class digital marketing solutions.