Automated testing with ASP.NET applications with Selenium and Appveyor

Many years ago I read the first edition of Extreme Programming Explained by Kent Beck. While it had a big impact on my programming career -- it was my first introduction to an agile development process -- I never had the opportunity to fully embrace its methodology. Two Extreme Programming practices that I continue to aspire to follow are Test-driven development and Continuous integration.…

Deploying to Azure App Service with custom build script

My agency recently started working on a website built with React. Like most modern sites built using frameworks such as React or Angular, it leverages a Node-based build system. With Kudu, Azure AppService's deployment engine, it is possible to customize your own deployment scripts which is what I needed in order to run the build script for the React website.…

Personal Online Security 101

As a programmer, I take information security seriously because security needs to be baked into the process of developing web applications. While I am not a security researcher, I think I know more about information security than most. At the same time, I see a lot of people not taking basic steps necessary to keep their information protected. So here I present five basic tips that everyone should follow to help protect themselves online.…

The market for Umbraco packages

Recently, the prominent Umbraco package developer Matt Brailsford tweeted ":Hmm, wonder if I can do a kickstarter for an #umbraco package?" I had some thoughts on this but they don't fit into 144 characters, so instead I'm posting them here.…

Password Protecting Azure Websites Revisited

A couple years ago, I wrote about how to Password Protect Azure Websites with Basic Authentication. As I stated, I typically use basic authentication to password protect development or staging sites to block search engines and others from accessing the non-production sites. My post explained how I used a simple Basic Authentication module to implement basic authentication on Azure App Service. While this module works fine, I’ve started using another one called HttpAuthModule which has a couple advantages.…

Adding a timer to trace Ditto mapping

I've been working on improving server response time for an Umbraco project that has complex strongly-typed view models. We are using Ditto, "the friendly view-model mapper for Umbraco", to map our content to our strongly-typed models.…

Using a custom ContentFinder in Umbraco

A while back I wrote about using Vorto, the popular multilingual property editor for Umbraco, with a custom content finder class to serve multilingual content within a single domain. In this post, I will explain how one can use a custom content finder to display a node of content in more than one location.…

Using UmbracoHelper from event handlers

Accessing IPublishedContent from a GatheringNodeData event handler is a bit tricky because the event args don't contain a reference to it, there is no reference to UmbracoHelper or an UmbracoContext object available for accessing the IPublishedContent object from the content cache. The trick is to pass an UmbracoHelper object as an extra parameter to the GatheringNodeData event handler.…