Hodgepodge: Upgrading to Kentico 11: What I’ve Learned

There comes a time in the life of every blogger where…honestly, they can’t think of a good topic to write an article to on.  So, this one is just going to be a little of this, a little of that, of some things I’ve learned so far working in Kentico 11, plus some other stuff.

Thinking of upgrading to Kentico 11?  Wondering how different it will be, what things you might encounter upon the upgrade? Well let’s look at some things, both well known and not so well known that you may find as you work.

More Known: SKU Limit & Ecommerce

This horse has probably already been beaten to death, so I won’t kick it more than it needs to be.  One big thing with Kentico 11 is a limit on the SKUs for the various versions (except EMS).  The limit is 500 SKUs, this translates to 500 rows in the COM_SKU table, so any variants are also a “Sku” to count towards this.  You may be unable to upgrade to 11 because of this limitation unless you also upgrade to EMS license.  So, know that first.

As for the major overhaul in the Ecommerce, you may be wondering how much you will need to ‘redo.’  There are a couple areas that you’ll need to cover, mainly around the transformations and the invoices.  There were a lot of changes there.  As for the major overhaul to the Ecommerce system, it’s best to read the upgrade documentation and this article to really get a list of all the things that changed, but really the big things are if you have any modification in the Pricing / Shipping, Taxes, or Discounts, these will probably need to be re-worked in the new (and better!) customization model.  Payment Gateways will need a little adjustment to handle the direct or delayed payment.  Things after checkout though, like integrations after an order has been completed probably take less work to update.

Somewhat Known: New Macro Security System

One thing that caught me off guard with my recent upgrade was a lot of changes were made to the Macro Security.  I admit, I was a big fan of just putting the @ symbol at the end of my macro statements to unsign them wherever possible, because one issue I’ve run into in the past is when I signed my macros, if the client ever deleted my account, then all the macros died and needed a resigning.  

Going into Kentico 11, it looks like the macro security tightened, as many macros that were usable without signatures suddenly required signatures.  The big one was Settings, these worked fine unsigned in K10 and below, but K11 requires a valid signature on them, so I had a lot of updating to do (thankful for the Macro Reporting tool found in System -> Macros -> Report).

Along with tightening security, they also implemented something to help resolve the issue that originally started me down the path of unsigning whatever I could, and they now allow you to create a sort of “pseudo” signature.  In System -> Macros -> Identities, you can now create Macro Identities (that are based on an existing user) and assign other users to use that identity!

I could go into lengthy detail, but honestly, this really awesome guy named Bryan Soltis wrote an article on this exact topic!  Really amazing article, top of the line, and I'm not just trying to flatter him either!

Goodbye TreeHelper, My Old Friend

Although in 10 it did give hints that the TreeHelper class was depreciated, so it’s no surprise, but be aware that the TreeHelper is now completely gone in Kentico 11.  No more quick “SelectSingleNode.”  Now you will need to use the DocumentQuery or DocumentHelper.GetDocuments, which granted is perfectly fine and extremely flexible, so upgrading the code isn’t really that hard to do, but just be aware, you will need to do it.

Goodbye (Email Marketing) Email Templates, Hello Better Email templates

It’s noted in the upgrade, but if you have existing Email Marketing Email Templates, they will go bye bye when you upgrade to 11.  The new format probably didn’t have a clean upgrade path, so you will need to recreate them.  The plus side is the new email template system is better, and you have “Widget Zones” you can add to your email templates, which then allow you to add Widgets (which work exactly like my transformable web part, allowing you to add properties and then transform it using macros in this case).

Lesser Known, Very Odd Thing: View breakage

The particular instance I upgraded was originally a Kentico 8.1, which was upgraded to 9, and then from 9 to 11 (9 to 10 to 11).  Some of the site still relied on various Views, and during the upgrade, these Views actually ‘broke.’  I put broke in quotes, because actually the view itself was fine, but probably due to column order changes or SQL query caching or what not, the Views were not functioning properly.  To remedy I had to go into the actual SQL server, and just modify the View so it refreshed.

Now there may be a better way to do this, and this is through the Database Objects.  With this you have the capability to manage Views and Stored procedures directly within Kentico.  There is also a “refresh” on views, which states in documentation that if you make changes to the tables in the views, you can click this to refresh them.

Knowing that, after upgrading, probably won’t hurt to go through and just hit refresh on all your views.  Why not!

Here, take a grain of salt!

Overall, the upgrade processes was pretty painless.  I think I spent about 15 hours upgrading this particular instance, but that was on our largest client, with some 35 sites, and most of the time was spent fixing macros that were on every master page…on every site.  Also, this was an original 8.1 site, and it seems that sites that started in the version 8 range always have weird oddities that carry over.  So, your experience may be a bit cleaner and easier than mine was.  One of my coworkers did an upgrade of an original Kentico 9 site that went much smoother and only took a handful of hours.

So hats off to the Kentico team for continuing to make Upgrades a minor procedure vs. something that could take 50+ hours.

Small Final Note

I would say that by now Kentico 11 is pretty stable and ready to be upgraded, so if you can, I would encourage you to take the leap.  And don’t worry, most of the tools I’ve created will work on Kentico 11 without any modification, I know the Bootstrap tool does, and I’m pretty sure the Advanced Category Selector and the Many to Many selector are all fine.  I’ll work on double checking and getting them updated in the marketplace hopefully shortly, as I’m starting to free up after some major projects.
Good luck on the upgrades, and if you have any questions, feel free to reach out to myself or all the helpful people on the Devnet Q&A.
Blog post currently doesn't have any comments.
Is one > than three? (true/false)