Kentico 8 is here! It includes an amazing list of technical enhancements. Attend this webinar to join Kentico’s CTO, Martin Hejtmanek explore these new Kentico Version 8 enhancements. In this interactive session Martin will show some of his personal favorites and why he thinks they are important for Kentico developers.
8. Biggest release ever
• Completely redesigned UI
• Lots of new features
• Covered lots of most wanted topics
• Improved architecture
• Agile development
9. All new features
… will not be shown today, see
http://devnet.kentico.com/articles/an-overview-of-kentico-8-features
11. My top 5 architecture improvements
• Better MVC support – Separated project
• Support for automated testing – First step to successful CI
• DataQuery / ObjectQuery / DocumentQuery – The new API
• Event handlers – More handlers, more powerful
• Housekeeping – Clearer responsibilities
15. What is coming next?
Kentico 8
Kentico 8.x
Kentico 9 ?
Kentico X ?
16. The closest steps
• Further education about Kentico 8 through DevNet articles
• Delivering upgrade from Kentico 7 – End of April
• Shorter release cycles - Q3/2014, Q4/2014?
• Improving team development and CI
• Further reduction of the code base for faster compilation times
• Further improvements of UX
• Deepening of functionality
Thank you Thom, and everyone else welcome to my webinar!Today, I would like to tell you something about what was happening behind the scenes of Kentico in the last 18 months, and what Kentico 8 brings you at the technical side of things.
I have used these two pictures during last year’s Connections.I have borrowed them to this presentation as well, because they illustrate the state of Kenticobefore version 8 and where we are going in the future.The overall architecture was simply reaching its limits, and we had to make some important decisions to not stay behind the market.
And those decisions were tough … as it is always hard to balance between what particular groups of people prefer. You always have limited resources, so you can’t do everything, you have to prioritize.So we established a true Product management team, spoke to you a lot, and prioritized.
In the end, we have actually chosen two main roads, not just one, because both of them are extremely important, each to a certain group of people. One is yours, as you need to deliver what is expected efficiently, and the other is your clients and their less technical people, who use the product from a completely different perspective.
So on one side we established a User experience team that helped us solve the problems of the end clients by completely redesigning the application to make it simpler to use.
And on the other, we hadcouple of experts that helped us solve some technical obstacles and define more long-term technology vision.These are not the actual geeks …
These are the actual geeks … Today I would like to focus more on the work done in the background by these guys, as you already heard the other part on Monday.
I was saying this a lot with recent releases, but Kentico 8 is once again the biggest release ever.Things like these take time to be done right, so let version 7 to stick around for little longer than usual, and focused on these new goals.It wouldn’t be a good new version without actual new features so even that there is a lot of refactoring behind it, it still solves important topics for you in terms of new functionality.I would also like to mention, that during that time, we have managed to transition our team from a waterfall process to agile development, which will help us to be more flexible in delivery the next times.
Today, I am not going to show you all new features, if you want to see them, see my article on DevNet. Instead, I will focus on the ones that I feel help you most in your everyday job as a developer.
First, I would like to mention that we have been again able to slim down the project, and will continue doing that with couple of next versions as well.
Now let me shown you some of my favorite changes in the architecture …It is going to be:- Better MVC support – We have moved the MVC files into a separate web application project, so that you can compile it independently of the main applicationSupport for automated (or regression) testing – We are aware that today’s effective processes, especially continuous integration requires the ability to test certain things in an automated way.The whole new API to get data from the system represented by DataQuery and related strongly typed queriesImproved event handlers – There is now more of them, and they provide many more options than before.Last but not least, we have done some housekeeping in our libraries and namespaces in order to make clearer what are particular responsibilities of modulesSo let me show you some of that in Visual Studio- MVC Support – When you open a solution of your project, which is now also little differently structured, you get the main application and the MVC project. If you make some change to the MVC files, you can simply compile the MVC project separatelySupport for automated testing – We now provide a couple of items that will let you use automated tests within your projects:CodeSamples/CustomTests project, you just copy and include it to your solutionSample.testsettings file, that gives you the necessary minimum for successful test. That minimum is deployment of two libraries that are not directly referencedI have already included both into the solution, and updated my test connection string, so when I now go to Test explorer, I can run the sample tests.Our sample includes several scenarios, there is a Unit test, Integration test, and Isolated integration test, we will give you more details through the DevNet articles.- Let me now create a simple test, so that I can demonstrate you the next thing, which is DataQueryYou can do the same with any data, including documents, let me show you that …So that was about DataQuery, and expect a more detailed article on DevNet in following days as well.Now let me show you some of the cool stuff in event handlersI am going to attach before and after update event of the user, and show you how you can now connect actions in these two.We have a couple of things that you can do (Using, Lock, Transaction, CallWhenFinished) that will give you much more power.Just be careful about using transactions and locks, as they lock context and therefore descrease performance in multi-threaded environments.I mentioned housekeeping, so let me just show you couple of new libraries that were separated … Taxonomy, CustomTables, Globalization, Localization, MacroEngineWe have also removed CMSHelper library that was causing heavy monolithic connection of most of the modules.
I don’t want to spend the whole webinar in Visual Studio, so I will show you also a couple of things in the UI, that will increase your productivity. …The ones I picked as my favorite are:Smart search improvements that include predictive search, search in attachments, and support for synonyms and stemmingForm engine improvements where we included a lot of support for macros to unleash its powerTesting of compilation of virtual objects to make your life easier Much easier module development, so you can build modules our way including proper UI and API instead of leveraging custom tablesAnd improved UI for macros, where is a couple of new things that again make your life easierLet me actually show these:Smart search improvementsLet me now go to our sample E-commerce site, to show you how when I search, I get the results as I typeIf I go to the search index properties, I can now also check that the content of attachments should be indexed.By default, we support indexing of the most used open formats such as Word, Excel, PDFs, or text files. But you can attach also your custom extractors of content from other formats.Now let me show you what is new in the Form engineYou have probably already seen the new Form builder, but I would like to focus more on the advanced field editor.When I go there, you can see that macro arrows are now almost everywhere, and you can easily leverage the power of macros in your form fields to customize the form behavior or make it dynamic.Now when I look at validation, you can see that there is certain list of defined validation rules available.These are now Macro rules that you may already know, and you can manage them through Macro rules application.This way, you can easily customize the engine for your specific client needs.Speaking about macros, let me show you what is new in macros in generalIf you go to System – Macros, you get couple of new options, you can test macros, benchmark them, and also get the report to be able to easily locate particular macro or detect problems.So that is about macros, let me show you another cool thing by just switching to Virtual objects tabThere is a little button at the bottom, and when I click it, it attempts to load all compilable virtual objects to validate that they can be compiled.It takes a longer time at first try, as it needs to compile one by one, but when you do the same later, the ones that were already cached are processed in no-time.The last thing I want to show you is the Module development, or at least what it offers.We will be providing more details through DevNet articles.When you install Kentico, all modules are presented as installed, and you can only partially customize them.For this presentation, I have unlocked the Membership module to show you what module development offers, so that I don’t need to create my own, but you get the same things available for your newly created modules.First thing that is different from previous version is that everything related to modules is now in a single place.You can define module classes same way as you are used to with custom tables, but you can also generate API for that class through Info and Provider.This way, you get the same API as from Kentico. Notice this assembly attribute that registers your object type to the system On the UI side, you can easily build UI elements using Portal engine and either predefined general templates, or your own.I don’t want to go into too much details right now, see the documentation for more details, or wait for our more detailed article on this topic.
So that was it aboutKentico8 features for today, now what is coming next …I told some of you at the Connection that we have a long way ahead of us towards the bright future.But there is still lot of things to do to achieve the ultimate results.We have just gone over couple of hills, and there are other challenges ahead of us, so we won’t change our direction just yet, and stay with these topics for a while with couple of minor versions during the next year or so.But we will still need your feedback, because we need to make right decisions to reach the ultimate goals, so make sure you are part of it.
I am not going to tell you what will happen a year from now …But I will give you an idea what will be our next steps from a developer point of view.We have already started a series of articles on DevNet that will guide you through all the new technology aspects one by one, first ones are to come in the following days.In the meanwhile, precisely at the end of April, we are going to deliver the upgrade process from the previous version, so you can easily migrate your existing projects an leverage all the new stuff.We plan to deliver the next minor releases in shorter cycles, to be able to incorporate any of your current feedback in a faster way. The current hot topics for us for the closest releases are:Team development and Continuous integrationImprove the compilation time of the web project through further reduction of the code baseUX improvementsand deepening of the existing functionality so that it better matches the needs in particular scenarios
But it all depends on your feedback, we may change the plans based on that.So in case you have any feedback for Kentico 8, or for our future plans, make sure you let us know throught any available channels.And also make sure to support further ideas on uservoice, so we focus on the right things.
And that is pretty much all I wanted to tell you today, go ahead and use Kentico 8, and give us as much feedback as you can so we can make it even better.And thank you for using Kentico and joining us today.