Since Kentico released version 9 of their enterprise content management system in November last year, we have been working closely with some of the new features and enhancements released in this edition.
In this article, I take an objective look at some of the features that make my life as a developer A LOT easier, and some which still have a little way to go.
Continuous Integration (CI)
One of the most useful features of Kentico 9 – if multiple developers are working on the same project – is their support continuous integration.
An age old problem when developing applications is the single-database development model. Several developers are happy working through their tasks until one makes a change to a database table that requires a corresponding code change. Boom! There's runtime errors all over the place, and the project comes to a standstill.
The Continuous Integration module allows developers to have their own local databases which, when changed, can have XML notes checked in to source control. This can help with many things:
- Gets around the issues involved in using the widely used single shared database model
- Allows bigger teams to each have their own local database copy
- This feature allows most objects and content to be serialized and stored in the file system so it can be added to source control
- Makes development a lot smoother
Integrated campaign management
Kentico has made significant improvements to its campaign management application by redesigning it to give the user a more streamlined and easy-to-use way to create, manage and evaluate marketing campaigns.
One particularly nice feature is the ability to build custom campaign funnels, so marketers can get a better understanding of the dropout rates through a funnel. Better integration with UTM parameter tracking is also a big step forward.
We were sorry to see the 'automatic campaign creation' feature disappear from Kentico 9, as several clients used this to save time.
Webfarm support with Azure
Kentico has vastly improved it web farm support, allowing solutions to better handle unexpected increases in website traffic.
They have optimised their web farm support for cloud deployments, utilising the auto-scaling features of Microsoft Azure, allowing solutions to seamlessly and effortlessly handle the growth of the site without any impact to the experience of the user.
Kentico’s new MVC offering was the one piece I was most looking forward to, and for the most part, was not disappointed.
First, the good news. The complete separation of admin and presentation interface gives a much cleaner and faster architecture, allowing independent builds and a greater separation of concerns.
I’m very happy that Kentico offer a pure .Net MVC solution instead of custom, inherited controller solution. From our point of view, this is very helpful as work can easily be separated between Kentico and non-Kentico developers.
Now, the bad news. Kentico version 9 offers no ecommerce or Enterprise Marketing Solution (EMS) support out of the box, meaning that (commercially) the current offering should not be used on anything other than a small brochure website.
We've already been testing a Kentico 10 'alpha' release, which will be released with 80- 90% ecommerce and EMS support. There have been a lot of improvements and additions so far and we're certainly chomping at the bit to be able to use this on larger projects.
There is still some concern around the use of Portal Engine and MVC. The Portal Engine model is a key reason why marketers love using Kentico, and are able to make design or template changes without needing a developer. Although from a developer's point of view, having clean separation of mark up and data does leave a cleaner development model.
We're hoping Kentico can bring forward some of the development in these areas to bridge this gap sooner rather than later.
Version 8 of Kentico brought us significant changes to the 'modules' model, and version 9 has continued these improvements.
It’s easier to reuse modules now due to the improved export/import of packages and the additional support of page types within module exports. Every time a package is exported, specified pages types and module data will be included. This has been an important step forward as many modules tend to include page types.
You can now use NuGet packages to share your modules. This allows an easier, integrated and centrally managed solution to maintain your re-used modules.
The ability to update modules without having to uninstall them first also added a huge benefit.
Find used form controls, web parts and widgets
Version 9 has added a new tab to the form control, widget and web part admin area so you can see all the places where the controls are used. This is a small but extremely useful feature!
While I haven't read anything about performance improvements in Kentico 9, having used it for some time now, I can definitely say that the overall performance has increased, especially in the admin system.
Early reports from Kentico 10 suggest that this will be another step-change to increase the first-page load times.
I would love to hear your opinions on Kentico 9.
What changes or enhancements would you like to see in future versions of Kentico?