10 new things I value most in Kentico CMS 4.1

   —   

Kentico CMS 4.1 is out, I owe you a lot of blog posts recently, so I thought I will give you the brief overview of what is best on 4.1 in comparisson to 4.0.

Here is my list of the 4.1 improvements, best things first:
  1. New media dialogs and attachments - You can see the detailed description im my coleague blog post here. This is by far the best new feature, not only for it's complexity, but also for the fact that it helps everybody to make their work more productive and having the content better organized. Great winner on my list.
  2. New search engine - For the larger web sites the search engine was a great pain, because it was based completely on SQL scripts, not using full text capabilities (unless you configured them so). With our new Lucene.NET based search implementation, the search process becomes a dream. Having something that gives results in no time, and so configurable from the UI interface is a great achievement. If you ask me why we didn't do it sooner, the answer is simple: There was not enough time and you guys are constantly giving us more and more important requirements, that is why. The second place definitely belongs to the new search engine which also helps everybody, including the site visitors.
  3. Optimized output caching and other optimizations - We don't have the public performance report yet, it should be available in about a month but I can tell you we did a lot in this field. Standard processing was improved a little bit as always (few percent improvements), but our biggest deal is the improvement of the output cache which can now handle almost double! the requests than before. I can tell you that a single server environment (just Quad core desktop machine) could process 16.000! request per second without being killed by the IIS, and is memory and CPU stable for a long-term periods. 4.0 on the same configuration could do "only" about 8.500 RPS. There is much more behind this story so I will bring you the details later when the performance report is ready. Just note here that the previous load test data that I published were influenced by the network limitations and limitations caused by the generating request (which is by the way more greedy that the processing of the pages itself :-) ). So the real numbers are about 2-3 times higher, which is great news for everybody considering the additional output cache optimization which also doubles the numbers. Here also belongs the ability for the GZip compression (actually deflate which is faster, you know what I mean). Third place for the optimized output caching.
  4. Partial caching - Speaking about optimization, this is another great new feature which helps a lot. Now we have all types of caching natively available so you may easily bridge the gap between content and output caching. Place four for the Partial caching options.
  5. Multilingual improvements - This mainly includes the per language configurable workflow scopes, limitation of the editors to particular cultures and the overview Languages dialog which helps you decide which language versions should be translated or updated. This covers only those who use multilingual web site, and that is the only reason why it is on my fifth place and not higher.
  6. Bug fixing policy - Not so much of a feature, but a policy we introduced. We don't have so many bugs, but we are definitely aware of the complications that some of them could cause so we are really proud that we can deliver fixes on a global scale in a reasonable amount of time. That is something that gives our product a greater value and it deserves the sixth place. I would also include here all the fixes to 4.0 (which are of course included in 4.1 so you may consider them improvements).
  7. Separable modules - This is also a great achievement. We started to work on this a long time ago (sometimes around version 3.1) and we finally could introduce this with 4.1. You may notice that you are now able to select the custom installation, and install the web site with only some modules, so it doesn't get too heavy with things you are not using. Of course you are limited with what you can use, not being able to use the module features but in case when you don't need the features, if significantly improves your project size and requirements. There are still improvements that need to be done, like the module removal tool (to change existing installation), and we will do them, promise ;-). Seventh place proudly given to separable modules.
  8. New customization possibilities - There are two major things that can help you with your customizations. One is the ability of shipping any custom objects with our objects during their live cycle, with the RelatedData property (I will describe this in details in one of my other posts), and the other are OnBeforeExecuteQuery and OnAfterExecuteQuery that can be used to modify the data layer results on a very low level (I will also describe their usability later, if you try to use it, use it with caution). I am proud that we were able to discuss a lot of customization requirements with some of our new clients which happen to be quite a large companies you will definitely hear about when they put their projects live. The eight place is not because it is not that important, more because there are not crowds using the customization.
  9. Overall UI optimization - We have done a great job in beginning optimizing the UI, not only from the ViewState point of view, but also from the data amounts point of view. It also includes another debug feature where you can see how the application uses cache (again, I will bring the details later). But it is only the beginning, that's why the place it nineth, the larger changes will come with the next version.
  10. More reviewed code - As we grow, more people have more time for detailed reviews of the code and take care about it's friendlyness and correctness. Being completely honest with you, there are things that need to be done, but we take care of it. Unlike some other software companies (not necessarily CMS ones), we never leave some libraries frozen in their development cycle and we are improving everything all the time (those are not only the few percents of performance improvements with each version, but also more specific situations and connecting point we can cover). The last place (just last on my TOP 10 list, not last at all) and thanks belong specifically to our technical leaders (team leaders).
I could thing about some more things but I don't wan't to take too much of your time with small details. Ten is just the right number to end and considering that 4.1 is much smaller version then the previous ones, there is still a lot of things we are proud of.

See you at my next post and enjoy the version 4.1, be better and more effective than your competition just by using the right platform, which is the Kentico CMS (please don't take this as a marketing words, take this as a good advice from a developer like you).
Share this article on   LinkedIn

Martin Hejtmanek

Hi, I am the CTO of Kentico and I will be constantly providing you the information about current development process and other interesting technical things you might want to know about Kentico.

Comments

ecommerce web developers commented on

I would appreciate it for sharing the updates about Kentico CMS 4.1. This is new update for me. I found this post very helpful and hope this would be helpful for the people. It is good to share the new updates on the topic and the way of explanation is good. I always like to read the post. Appreciate this blog for sharing the information.

Martin Hejtmanek commented on

Hi Marcin,

Here is the web.config key:

<add key="CMSAllowGZip" value="true" />

It seems we forgot to add this to the documentation. Sorry about that.

Marcin commented on

How do I enable the GZip compression, I can't find the key name anywhere in the documentation?

Nimesh – Perception System commented on

Nice Post
Informative and useful one
I am .Net Developer and I am looking for this
Thanks for the great stuff.

Manoj commented on

Thanks for the update; it’s good to know about key updates in any new releases. Really appreciate the post.

Nady commented on

GOoOOoooOd Work

james-distinctionhq commented on

Nice summary of the new features Martin - we're certainly pleased with them.

Well done to all your team, and keep up the good work.

James