Brian McKeiver's Blog

Top 5 New Features for Developers in Kentico CMS 6.0

The release of Kentico CMS 6.0 can be summed up in one word. Huge. I counted over 100 new features or improvements listed on the official Kentico CMS 6.0 New Features document that Martin Hejtmanek (CTO of Kentico) released last week. In fact the document weighs in at 114 pages. I recommend downloading it and reading  through it all to get a full grasp on the 6.0 release.

In an effort to summarize and quickly communicate the most beneficial additions, I have started this blog post as the first in a series. The goal of this series will be to break out the best new features by the intended audience.

One side note here, being a top 5 feature in my list is just my opinion. There was no scientific study done. If you think I missed something please let me know in the comments. Without further ado, let’s get started. Below are my Top 5 New Features for Developers in Kentico CMS 6.0:

1. API Improvement – New Business Layer with Support for LINQ

Every developer wants to write the best code he or she possibly can. Having nice strongly typed objects makes us code monkeys very happy. Kentico is revising the API to obsolete using weakly typed datasets as the primary return objects from it’s API methods. LINQ Support also comes in as icing on the cake. The full API layer is not 100% complete at time of the beta release, but there are a few examples that show off the idea.

//Updates a User 
UserInfo user = new UserInfo()
    UserName = "Mcbeev",
    FullName = "Brian McKeiver",
    Email = "",
    Enabled = true


2. Installation Manager for Hotfixing / Upgrading

One minor sore spot with Kentico developers and customers in general has been the upgrade process. Kentico has addressed this with the new Installation Manager. It installs by default.




After you Load it up you can register an installed copy of Kentico that you want to patch, or install a new clean instance.


Kentico Installation Mananger


I can’t tell you how much time this will save for people like myself that maintain multiple instances of Kentico. As always though you should be mindful of any custom code running. And it doesn’t mean that you should check to make sure you have backups of all your data before using this tool.

Also there was a trick to get the Installation Manager to see any instances when it first starts up. You have to click the green Register button first, and then add the path to where the instance is. It would be cool if on startup the app searched the c:\Inetpub\wwwroot directory and found any default installations for me.


3. Object Versioning and Global Recycle bin

This one could easily fall under a top feature for Content Admins, but I thought it made the most sense here. Think of how many times you have been working on a transformation inside of the CMSDesk and then accidently fat finger something or worse yet delete the wrong chunck of html. Now we can have versions on just about every single object inside of the CMS, i.e. CSS, Transformations, Layouts, Templates.




Once Versioning is actually turned on, a version tab appears in the tab strip.




The Global Recycle bin now also lets us recover something that we may have accidently deleted.


4. Inherited Document Types

As you use Kentico you will find yourself creating a lot of custom Document Types. They are very powerful. Adding in the ability to have certain Document Types inherit other Document Types attributes makes them even more useful and reusable.

In the screen shot below I have created a base custom Photo Gallery Document type, BZS Base Photo Gallery. Then I created another one, BZS Enhanced Photo Gallery. In this simple example the base sets up common Photo Gallery fields like ImageSrc, Height, Width, Alt Text, and so on. But the idea here would be that the Enhanced Document Type could then reuse all of those fields while adding in a set of UI properties like CssClass, AnimationName, Interval, and so on so that a jQuery plugin could be used to make a nice sliding effect or transition.




5. New Macro Engine (K#)

Macros in Kentico CMS are again incredibly useful. K# is Kentico’s new syntax parser to write and interpret macros. So far my favorite part of this powerful addition is that there is now IntelliSense like support in the various areas of the Kentico CMS UI itself. This works right in your browser, no Visual Studio needed.




    Not only do you get that, K# itself supports more than just the built in macros, you can easily roll your own custom macros and have the same IntelliSense like support for using them.
    The documentation says that Developers will be able to query data through the new API mentioned above, and then render out a transformation on each result, all within 1 line of K#. I have not had time to play with this a ton yet, but it seems the sky is the limit now with K#.



    One more thing, don't forget to check out Jeroen's post, a Sneak Peek at K#, it's great.
      Like I mentioned at the top, these are only a few of the new features in Kentico CMS 6.0. This list is what excites me as a developer, it was actually very hard to narrow down the list to just 5 items. Check back in a little bit for the next part in this series. It will focus on what improvements there are in 6.0 that are targeted towards Designers.