In my time working in an agency, I’ve seen a lot of projects and a lot of discussion around how best to plan and run various projects in the agency environment. Distinction’s 2020 brand repositioning to the strategy agency that’s all about the action led to some interesting discussions and changes in the way we think about and plan for projects.

It’s been clear for over two decades now that the old way of planning and managing projects, known as the Waterfall methodology, just doesn’t cut it in today’s world of high-speed change. …


In my career I’ve been through many different projects in different industries both working with “in-house” teams and with agencies. In this article I’m going to talk about some of the things I’ve found that make for a successful project.

1. Well defined goals

Whether you’re building a new website or rebuilding/updating an existing one you’re probably doing it for a reason.

Take some time to think about your reasons and how you will measure whether the project has been a success.

Perhaps you want to increase the number of people who submit your enquiry form? Maybe you just want people to spend longer…


As a back-end developer, I often get asked to implement new features without a complete picture of what problem the feature is intended to solve or how it is planned to be used. Often, these details begin to emerge towards the end of the development or in UAT, at which point it often means a lot more work (and cost to the client) to make changes.

Often, they simply don’t think about it, assuming that I know their business as well as they do but on rare occasions, I have known clients to actively withhold such information on the flawed…


I often find myself needing to send custom emails from my code in Kentico projects. To make life easier I created this method as a generic email sender.

I wrote this code in Kentico 10 but, as of writing this article, it was still good up to Kentico 12.

This can be used in a Web Method to allow your front-end javascript to trigger specific email templates, or in your back-end code to do the same.

To use it, create a new email template in Kentico using the “General” email type. Then simply call the method, passing in the…


Kentico 12 MVC is amazing. Its a huge step forward for a CMS that has so much power and provides so much customisation ability to developers.

That said, the forms have caused me some headaches over the last few months as I’ve encountered the same situation several times… a client that wants to have a Kentico form (bizform) rendered on every page that uses a particular MVC layout.

Out of the box, Kentico has no way to do this and still maintain the form-builder functionality allowing the client to edit the form components, validation settings, etc.

The only officially supported…


There is a multitude of content management systems available on the market today ranging in price from “free” to thousands of pounds/dollars and I often find clients gravitating towards the “free” ones.

What does “free” mean?

I want to dispel the illusion of what “free” means in terms of creating a website and selecting a CMS.

Generally, a “free” CMS is one that you don’t have to pay any licensing fee to use. I use quote marks around “free” because the word alone implies that there is no cost to using the CMS in question… this is the illusion.

Even a “free” CMS, such…


This is the third article in our RabbitMQ integration series, where we show you how to to build robust and scalable integrations using Kentico, RabbitMQ and message driven development.

In the first article, Outbound Integration, I talked about how to configure Kentico to send messages to RabbitMQ for processing by one or more external systems.

In the second article, Inbound Integration, I described how to configure Kentico to receive inbound messages from those external systems.

In this article I will detail how to create a separate application to act as a “worker”, and how to run multiple instances of this…


In my previous article I talked about how to send data out of Kentico using RabbitMQ as the message queuing server.

In this article I’m going to look at how you can receive data into Kentico from an external source via a RabbitMQ message queuing server.

Setup

I’ll assume for the purposes of this article that you have already followed the “Setup” section in Part 1 and that the inbound messages from the third-party system that you’ll be receiving will follow the same structure and model as those that we sent in Part 1.

Polling vs subscription

There are two methods by which you…


Preface — Kentico’s integration options

Kentico has an excellent, built-in message queuing integration system called the Integration Bus. The Integration Bus does its job very well and I encourage anyone thinking of an integration between Kentico and some external system to consider it.

It does come with some downsides though. The integration tasks created by the connectors are processed within the scope of Kentico’s scheduled task system. This means that, depending on your configuration, the tasks may be processed or triggered within the context of a web request.

Depending on the nature of your integration, the amount of data that you’re synchronising or the number…


Whether for products or for user profile pages, sometimes having a single page in the tree display data based on an identifier in the URL is the best way to go. Unfortunately, this means that you can’t use Kentico’s built-in alias paths to handle redirects relating to these pages. I find that also having a central location to manage redirect in the CMS makes things a little easier. It can be used to handle redirects from an old site to the client’s new Kentico site with little fuss.

The setup

First, we need to set up a place to store the redirect…

Lee Conlin

By day I'm a software developer with over 20 years of professional experience. By night I step into other worlds through role playing games and creative writing

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store