Brian McKeiver

Brian McKeiver BizStream

I have over 20 years of experience in delivering digital solutions to clients, mainly at BizStream. I'm passionate about software platforms and technologies that can help solve real world problems. I specialize in architecting solutions that use Kentico Xperience, Kentico Kontent, .NET, and Azure. I enjoy hanging out with my wife, chasing around my three children and vigorously rooting for the Michigan State Spartans and Detroit Lions.

Brian ranks #17 in the community leaderboard with total of 1100 reputation points.


How to Migrate from .NET MVC 5 to .NET Core for Kentico Xperience

Brian McKeiver    —       —    Featured Article

.NET Core and .NET 5 have been available for some time now and .NET 6 will be released any month now. However, the majority of existing Kentico Xperience MVC sites previous to version 13 were created in .NET MVC 5. This situation is especially true for Kentico 11 and Kentico 12 MVC versions as those previous versions weren't yet ready for and basically incompatible with .NET Core. So, what's a .NET and Kentico developer to do if they have been working only in MVC 5?

25 Reasons to Move to Kentico Xperience MVC

Brian McKeiver    —       —    Article

Even in 2021, I am still having multiple conversations with existing Kentico Xperience clients from a business, executive, and/or marketing standpoint about moving from Portal Engine to MVC. Most of my conversations revolve around people who are having difficulties to fully understand why a rebuild of a site in MVC is necessary. These conversations around the migration from Portal Engine to MVC are often times thought of as only purely technical conversation. This is actually a common response, as many of the benefits are stated in a technical way. However, I’m here to tell you that this technical only consideration should be broadened into multiple other considerations.

That motivation is why I have created this blog post series. I’d like to fully answer the question of “Why MVC?” once and for all. I figure that if I am having this conversation multiple times, there must be other people having it to with their clients. Why not answer it fully in writing and in a holistic way, that way all of us in the Kentico Xperience community are able to use it as a resource for all clients out there who have Portal Engine based Kentico Xperience sites and are considering what to do next.

20 Things Developers Should Know about Kentico 2020

Brian McKeiver    —       —    Featured Article

A new year means that a new version of Kentico is around the corner, and I feel this time around the release situation is a little different, as no past version nor major release can hold a candle to the upcoming release of Kentico 13, aptly code named Kentico 2020 or Kentico Phoenix. There is so much going on, that I thought it might be good to summarize the key aspects of the release that developers should be aware of it.

Generate Realistic Test Data in Kentico

Brian McKeiver    —       —    Article

Recently I wanted to play around with some user specific scenarios in my Kentico instance for a presentation that I was working on. To do that I needed a Kentico 9 instance with a lot of various users, user settings, and role associations already setup. After firing up a few instances of Visual Studio and running locally, I realized that I didn't have any good sandboxes to play in. So I bit the bullet, and started down the path of automating the creation of a few hundred users.

I figured that there was no way it would take more than just a few minutes to do this task. It’s just creating a few users in Kentico which is like 4 or 5 lines of code in a for loop, right? As it turns out, there is a good way to do this, and then an even better way to do it using some freely available NuGet packages.

How To Search by PO Number in Kentico E-Commerce

Brian McKeiver    —       —    Article

One of the primary strengths of the Kentico e-commerce platform is that it can be customized with relative ease. Honestly, this one of the main reasons that my team and I decided to go with Kentico in the first place. The Kentico API and provider object model is top notch, and it can be extended to do just about anything. This is especially true in the e-commerce pillar of the all-in-one solution. Do you need to integrate your Kentico e-commerce site with an ERP system, roll your own custom payment gateway implementation, or sync up with a shipping carrier's API? Have no fear, all of these tasks are totally accomplishable in Kentico.

With that being said, one of the most common requests that we get at BizStream when building a custom e-commerce site in Kentico is the ability for B2B users to make purchases via the use of a Purchase Order Number (PO Number) instead of a standard credit card payment method. That's one feature that isn't totally 100% out of the box when you have a custom checkout process. Again this task is not a tough issue, and there are many helpful links to get you started in this area if you need to.

Funny enough, we are actually currently working on a project that has this requirement in Kentico 9 (yes this is actually a Kentico MVC site too). And after demoing the working functionality to the client, we received a question of how to then look up orders in the administrative interface by a PO Number. And that is something that I didn't have an immediate answer for. After doing some quick research, it turns out that this customization is not that hard to do.

Revenge of the JavaScript Web Part

Brian McKeiver    —       —    Article

According to a recent report, JavaScript is used by 93.6% of all websites. To say that's a large amount is a gigantic understatement. Considering the fact that there are over 1 billion websites in the world, that means there has to be at least 100 million different ways JavaScript is used today (it sure feels like it somedays anyway). Even though many developers strive to use the latest patterns, best practices, and modular implementations, the fact is, we all do our client side scripting a little differently. This trend continues into how we use JavaScript in Kentico CMS web development. There are many different ways to handle it in Kentico, and every site seems to have it done just a little bit differently from the next.

There are great articles out there, from some very smart people, on how to best utilize scripts in Kentico. So I'm not going to cover those scenarios in today's blog post. Instead I am going to focus on a real world scenario that I have dubbed "The Revenge of the JavaScript Web part". Basically it boils down to a Kentico quick tip on one very sneaky gotcha, when dealing with the built-in JavaScript Web Part in Kentico. Keep reading to make sure that you are not bit by the same hard learned lesson that my team and I recently went through.

Kentico Rocks Podcast Episode 17

Brian McKeiver    —       —    Article

In this episode of Kentico Rocks, Brian McKeiver and Bryan Soltis review the state of using ASP.NET MVC in Kentico 9. The discussion includes why MVC matters for Kentico developers and Kentico partners, some tips and real world experience with using MVC in Kentico, and use cases for where MVC makes sense over the venerable Kentico portal engine. Listen on to find out if you should be using MVC in your own Kentico website development process.

How Search For Kentico Works

Brian McKeiver    —       —    Article

In the second quarter of 2016 BizStream launched Compare for Kentico, part of the BizStream Toolkit, a suite of add-ons for Kentico developers. Today I'm proud to review the second tool of the toolkit, Search for Kentico.

The goal for Search for Kentico is to be able to easily search across every object in your Kentico instance. If you search for a term like "console.log", our tool will look through every piece of code you have in your website, on the filesystem, as well as every database object that Kentico knows about (and doesn't know about) and return you intelligent results. 

This is a very useful feature in case you want to check for debug statements, look out for dev URLs in content or email templates, or rename a column or SQL View name in the database. Now instead of waiting for some dependent object to possibly error, you can move on with confidence that your rename worked. Keep reading after the jump to find out how this free tool works.

8 Things Developers Should Know about Kentico MVC

Brian McKeiver    —       —    Article

For a few years now the great debate around the ASP.NET community has been around how ASP.NET MVC is the only framework of the future. The general point of this debate is that MVC is the winning framework that is finally ready to obsolete the ASP.NET Webforms technology. While I could write an entire blog post on my full opinions of this debate, today I am not going to do that. Instead, today I am going to focus on how Kentico 9.0 has come to fully embrace ASP.NET MVC.

In the latest release of the CMS, MVC is getting very close to being a first class citizen in the choice of Kentico development models, with the other leading candidate being the Kentico Portal Engine model (which has always been based on ASP.NET Webforms). I say first class citizen because the MVC improvements in version 9.0 have been considerable enough for my team and I to start building out client projects in this model, and we are quite happy with the results.

In fact in the last 6 or 7 months of using Kentico 9.0 MVC we have learned a few things that I feel are worth sharing with the Kentico developer community. So without further ado I would like to present 8 Things Developers Should Know about Kentico MVC.

Application Insights for Kentico

Brian McKeiver    —       —    Article

At the recent Build 2016 conference Microsoft really wowed developers with all sorts of new bells and whistles for Visual Studio, Azure, Bots, and Windows 10.  Included in some of the new enhancements for ASP.Net and Visual Studio was a pretty cool new feature called Visual Studio Application Insights. According to Microsoft, Application Insights allow developers to detect issues, solve problems and continuously improve their applications. The technology is intended to help quickly diagnose any problems in a live application.

Since my team and I are in charge of monitoring quite a few web applications, I found the topic of Application Insights particularly interesting as it relates to Kentico based applications. I immediately thought of questions like would this technology work for web applications only hosted in Azure, or would it also work for existing applications that were on-premise. I was also curious if how easy it was to install and use the technology, how much overhead that it introduces, and exactly how the heck does it actually work. 

Keep reading to find out how easy it is to add Visual Studio Application Insights to a Kentico based web application and what value, if any, this technology can add to your every day job as a web developer or architect.

How Compare For Kentico Works - Part 3

Brian McKeiver    —       —    Article

This is the third part of the How Compare For Kentico Works blog post series. Make sure that read part 2 first before reading this post. In this third post I show you how to use the final output of the comparison and give you examples of how my team at BizStream uses the tool.

Keep reading to find out how you can cut your deployment time, be more confident that the deployment actually worked, and keep some of your own sanity intact when it comes to moving changes from one environment to the next.

 

How Compare For Kentico Works - Part 2

Brian McKeiver    —       —    Article

his is the second part of the How Compare For Kentico Works blog post series. Make sure that you read part 1 first befor reading this post. In this second post we skip by the how and why, and move right in to guts of using Compare for Kentico. We will also walk through how to use the tool to focus in on the differences that really matter.

Keep reading to find out how you can cut your deployment time, be more confident that the deployment actually worked, and keep some of your own sanity intact when it comes to moving changes from one environment to the next.

How Compare For Kentico Works - Part 1

Brian McKeiver    —       —    Article

This past week BizStream launched a new product targeted at Kentico developers, Compare for Kentico. We have been very excited to do so because we believe that Compare for Kentico makes Kentico deployments easier, quicker, and more accurate. We strongly believe this because we have been using the tool internally for quite some time. In fact we have had almost a year to take this tool from a concept, and cobbled together set of functionality, to production worthy. We started with using it on just a few test sites, and are now happily using it to make deployments easier on our client's sites. Our development team loves it, and we think you will too.

With that being said my goal of this blog post is to do a deep dive on using Compare for Kentico to visually compare two different Kentico website instances to show you how it actually works. Keep reading to find out how you can cut your deployment time, be more confident that the deployment actually worked, and keeping some of your own sanity intact when it comes to moving changes from one environment to the next.

Upgrade to Kentico EMS Checklist

Brian McKeiver    —       —    Article

From time to time I get asked: What are the steps to upgrade to Kentico EMS from an existing Kentico CMS site? The technical answer is that upgrading only requires having the correct EMS license added to the installation of Kentico (which you can generate from the client portal). Once the license is in place, the system automatically enables the full feature set of Kentico. The easiest way to check if it worked is to look and see if all of the menu items (Contact management, Email marketing, Marketing automation, etc. etc.) show up for the On-line marketing category in the Kentico menu.

However, if you want to make sure everything is working perfectly, and get the fullest out of your Kentico EMS site there are few more things to consider. For instance, if you have upgraded from previous versions of Kentico like 5.5 R2, 6.0, or 7.0 some of the required features and settings didn’t yet exist and therefore can cause issues. Ensuring that the EMS functionality works correctly really does come in to play if you have had your Kentico CMS site running for a while.

As a result of upgrading many Kentico sites over the years, my team and I at BizStream have found that there are a few things that seem to be recurring issues, and honestly there are some items that we sometimes forgot to check or configure, when upgrading a Kentico 7.0 CMS site to a Kentico 8 or 9 EMS site. To solve this issue I have created a checklist to make this process easier for my team, and I thought it was worth sharing with the Kentico developer community. So today I am presenting my Upgrade Kentico CMS to Kentico EMS Checklist as a free downloadable pdf.

Kentico Rocks Podcast Episode 16

Brian McKeiver    —       —    Article

In this episode of Kentico Rocks, Brian McKeiver and Bryan Soltis sit down and cover Macros in Kentico CMS. The discussion includes an overview, common use cases, best practices, tooling, and gotcha's for developers who are working with Macros in the CMS. Listen on find out how to best utilize this important aspect of developing websites with Kentico.

How To Use Kentico Custom Module Help Topics

Brian McKeiver    —       —    Article

Recently I was having a conversation with BizStream founder, Mark Schmidt, on how we could simplify the learning curve for using some of the custom functionality that we had created in one of our projects. Mark was on the side of adding custom labels into the pages where needed. I was on the side of trying to leverage the excellent help system that Kentico comes built with. The argument actually got quite heated, as it tends to do around the office, and we finally ended the argument without a real agreement.

The fact is that we frequently create custom modules in Kentico to handle any large customization need. Building your own modules is actually the preferred choice and Kentico best practice when it comes to adding in functionality to a site built with Kentico or the actual Kentico admin interface itself. But neither Mark nor I had actually taken the time to sit down and browse through the lesser known aspect of module development.

This morning I had a chance to do that, and it turns out there is a really simple solution to linking any helpful information or documentation to a custom module. The best part is that the solution was just a few clicks away. 

My First Impressions of Kentico 9

Brian McKeiver    —       —    Article

Today I would like to share my thoughts and observations on the latest version of Kentico. Especially since I recently finished upgrading my site here at Mcbeev.com. That’s right my blog is now on the latest and greatest version as you read this.

Kentico 9.0 has been released officially for about a month and a half. However, I have actually had my hands on it for much longer. Thanks to being a Kentico MVP, I was actually lucky enough to be included in some of the preview builds of 9.0 for a few months prior to release. During the beta period I was tasked with giving as much feedback as possible to the Kentico product team and I tried my best to do so. As usual I basically let them know that they knocked it out of the park with this release.

Top 10 Kentico Related Posts of 2015

Brian McKeiver    —       —    Article

Another year has rolled by, and with it comes the chance to reflect on what has happened in the Kentico community and my own blog here at Mcbeev.com.

2015 started out with a bang, with the release of Kentico 8.2 in early January. Kentico 8.2 turned out to be one of the best releases of the year. All of our projects at BizStream quickly upgraded to this new version because of the increased performance and stability. I think everyone would agree that 8.2 rocked.

The year continued with all sorts of new activity for Kentico enthusiasts. The Kentico Developer Roadshow ran through 4 cities. We added a few new Kentico MVPs to the mix. Kentico DevNet itself saw a lot of new and interesting updates. And of course, the Kentico Connection conference in Melbourne, Orlando, Brno once again proved it is the premiere Kentico event of the year.

Finally 2015's biggest news must of course be that Kentico 9.0 was released this past November. Kentico 9 allows for faster website development through CI, Modularity improvements, and optimized auto scaling in the cloud. It also gives marketers a way to optimize campaigns for more insight into their results, and has better support for semantic content editing.

2015 was an excited year for sure. Now on to my best of lists for Kentico Related Posts.

 

Kentico CMS Quick Tip - Mixed Mode Authentication

Brian McKeiver    —       —    Article

Kentico has supported multiple authentication methods for a long time now. I know this capability was in the older versions like 4.0, and 5.0, heck it may have even been there since version 2.0 or 3.0. Chances are if you have been developing on Kentico for any length of time you may have been tasked with configuring Kentico to do more than just Forms based authentication. That could be in the form of some sort of custom authentication, Single Sign On (SSO) authentication, or the next most likely, Windows Active Directory for Mixed Mode based authentication.

My team and I have done this exact thing many times. Most frequently it involves enabling what is commonly referred to as mixed mode authentication. In Kentico, mixed mode authentication lets you use both Forms based authentication as well as Windows AD based authentication. Even though I have done this specific task many times there always seems to be some sort of trick required to getting it to work correctly. Today I am going to share a tip that hopefully helps out any developer who needs to configure Kentico to utilize Windows AD for Mixed Mode authentication.

Free Web Part for Kentico - Better Subscription Form

Brian McKeiver    —       —    Article

Most people agree that the Kentico email marketing capabilities are pretty good. However, one web part we frequently have to "tweak" to get to match a custom design is the tried and true Newsletter Subscription web part. Couple that scenario with the fact that some of our clients ask us to do something a bit special when it comes to asking for a subscription conversion, and you have that making for an interesting set of requirements. This was the motivation that got me thinking it was time to create a new web part that my team and other developers could use to solve this situation. As a result, today I would like to introduce a new free web part for Kentico.

Kentico Rocks Podcast Episode 15

Brian McKeiver    —       —    Article

In this episode of Kentico Rocks, Bryan Soltis and I were able to catch up on what is happening in the Kentico development community. We cover a powerful new tool that every Kentico developer should know about, and we discuss the recent Kentico Developer Competition over on DevNet. We also were able to recap some of the Kentico Developer Roadshow events, and highlight some other events that Kentico has sponsored recently. Think of this episode as your one stop shop for what's recently happened in the community.

Kentico CMS Quick Tip - Enhance your Media Library File Metadata

Brian McKeiver    —       —    Article

One of the things that I love about Kentico is that the platform and the people who work on it are very smart. Sometimes eerily smart. In tonight’s blog post I am going to describe a real world scenario where I thought I would have to customize the system to pull off a feature that I needed for my own purposes at Mcbeev.com.

As it turns out, I was wrong, no customization was required. The system was already built in a way that made my requirement dead simple to solve. Kentico never stops impressing me even after using it for 5+ years.

Keep reading to see how this quick tip will allow you to add and manage metadata to Kentico Media Library files without dropping into any code.

Free Web Part for Kentico - Related Blog Posts by Tag

Brian McKeiver    —       —    Article
Do you want to know what my favorite web part of all time, in the entire galaxy, across any version of Kentico is? The title of this blog post may have given it away to the astute Kentico developer, but you might be surprised at how one of the oldest and simplest of web parts is still super useful to this day. That's right, ladies and gentlemen, in my opinion, the champion of all Kentico web parts is...

Ensure Your Kentico EMS Site Is Running At Peak Performance

Brian McKeiver    —       —    Article

If you are a long time user of Kentico or a Kentico developer who maintains sites that utilize Kentico EMS, this tip is for you. So stop what you are doing, go grab a cup of coffee (or something stronger) and continue reading to see how you can keep your online marketing solution running in top notch form. I should also mention that you won't need to change a single line of code to do so. Yes that's right, not a single line.

I am going to start with a question though. Have you ever heard the saying that "an ounce of prevention is worth a pound of cure"? If you have, then this post should make a ton of sense. If you have not, then maybe I can teach you something today.

Kentico 8.2 Quick Tip for Importing Contacts

Brian McKeiver    —       —    Article

During my initial testing of this minor point release, a few of the new online marketing features have piqued my interest. The change to Email Campaigns from Newsletters is pretty nice, the online marketing performance improvements are welcome, and the ability to import Contacts from a file rounds out what's new in this area of Kentico. The ability to import contacts from a CSV file is nothing earthshaking, however, I was pretty curious to see how it was implemented in Kentico 8.2 so I decided to put it through its paces.

5 Things I Learned At Kentico Connection Boston 2014

Brian McKeiver    —       —    Article

Another year and another successful Kentico Connection conference has just finished. Just like last year, the US version of the conference was hosted in Boston. In 2014 there were new sessions, new people to meet, and plenty of things to learn. As usual I had a great time at the conference. I really enjoy meeting with the other great Kentico partners around the country and seeing how they are using Kentico to create successful solutions. Today I thought I would share a few things I learned during the conference and give my impressions on the two day event. Keep reading to find out the top 5 things I learned at the conference.

Speed Up Your Kentico Debugging in Visual Studio

Brian McKeiver    —       —    Article

Any seasoned ASP.Net developer knows that building your project(s) before starting a debugging session is an important step to take to ensure that there are no silly coding mistakes lurking around. Most seasoned Kentico developers know that performing a full build on a Kentico web site project can be time consuming if there is not a Solid State Drive in use on the computer running Visual Studio.

Kentico Rocks Podcast Episode 11

Brian McKeiver    —       —    Article

In another special episode of Kentico Rocks, Bryan Soltis and Brian McKeiver discuss what their trip across the pond was like as they attended this year's European version of the Kentico Connection conference in Prague. In case you did not hear, all four Kentico MVPs made the journey to converge on the capitol city of the Czech Republic. As a group we discuss some of the highlights of the two day event including some of our favorite moments. Kentico even had a special surprise in store for all of the event attendees that was quite a blast. Give this episode a listen to find out exactly what happened. 

Top 10 Kentico Related Posts of 2014

Brian McKeiver    —       —    Article
It's hard to believe that I am sitting here, on Christmas day, the temperature outside is above freezing, and there is no snow on the ground. A green Christmas just really isn't the same as a white one I guess. However, now that all the presents are open, stockings unhung, and my girls are happily playing with their new toys, I have some rare free time to reflect on what happened this year.

Kentico Rocks Podcast Episode 10

Brian McKeiver    —       —    Article

In this episode of Kentico Rocks, Bryan Soltis and Brian McKeiver join forces with a few special guests. The group talks about a few different strategies that can be used to handle large amounts of data in Kentico. In reality large amounts of data can mean many different things, especially when it comes to displaying that data on a website. For this episode of Kentico Rocks we did try to narrow down our focus to the basics of content management with consideration to big datasets. Care to take a guess who joins us ? Listen to the episode to find out who.

Zoho CRM Module for Kentico 8

Brian McKeiver    —       —    Article
Today I am pleased to announce my latest custom Kentico module, the Zoho CRM Module for Kentico 8.x. Why write a module for Zoho you might ask? Well according to a few sources Zoho is a very common CRM that many organizations across the world utilize for customer relationship management, and it just so happens to be the CRM that we use at BizStream.

Speed Up Your Kentico Debugging in Visual Studio

Brian McKeiver    —       —    Article
Any seasoned ASP.Net developer knows that building your project(s) before starting a debugging session is an important step to take to ensure that there are no silly coding mistakes lurking around. Most seasoned Kentico developers know that performing a full build on a Kentico web site project can be time consuming if there is not a Solid State Drive in use on the computer running Visual Studio.

How to Connect Disqus Comments to Kentico EMS Activity Tracking - Part 2

Brian McKeiver    —       —    Article
One thing that has always bugged me about using Disqus for comments is that the service is all purely client side / JavaScript based, and therefore I lose a little bit of insight into exactly who is commenting on my blog posts from a Kentico Contact Management and Activity Tracking perspective.
 
My goal today is to show you how to fix that and trap those client side events that happen via JavaScript and log them in the built in Kentico Activity Tracking database and UI.

Kentico 8 Marketing Automation Sample Code Snippets

Brian McKeiver    —       —    Article
Recently I was tasked with creating my own Marketing Automation Process Action inside of Kentico 8. I wasn't exactly sure of which method signature to start from so it took a bit of digging to figure out the right class to inherit from. Luckily it didn't take long because the excellent help documentation that comes with Kentico 8 set me on the right path. I'm hoping to save the next Kentico developer who has to do this some time, so I have posted two sample code snippets below. Have I mentioned that I love how easy it is to extend the built-in foundation of Kentico ?

First Impressions on Kentico 8.1

Brian McKeiver    —       —    Article
As you may or may not know, the beta version of Kentico 8.1 was recently released. I've had a chance to take it for a spin and wanted to share my first impressions on what the newest version of Kentico brings to the table. Here's a secret...it's pretty darn impressive.

Yammer Web Part Pack Update for Kentico

Brian McKeiver    —       —    Article
A few people have recently asked if my web parts for integrating with Yammer work with version 8.0 of Kentico. As it turns out, not only has Kentico released a new major version since I wrote these web parts, but so has the Yammer API. Tonight I retro-fitted the code to work with the new API as well as both versions 7.0 and 8.0 of Kentico.

See all Authors