Case-sensitivity reference error when running NPM build in Azure DevOps YAML Pipeline with Ubuntu vmImage.

Yesterday I was helping our frontend team to set up a new CI workflow moving from Teamcity + Octopus Deploy to Azure DevOps pipelines and I ran into a weird issue that I thought I would share the solution to in case someone runs in to the same issue.…

Umbraco Package Awards 2022 Jury member

Ever wondered what the process of nominating and selecting the Package Award winners is like? 2022 was my second year on the Umbraco Package Award jury panel, and in the name of transparency and openness, I thought I would share with you what this process looks like and how we selected this year's winning packages and contributors.…

Microsoft MVP Award: Unboxing!

Better late than never I guess. The other day it dawned on me that I’m actually a Microsoft MVP. Like for real!…

Performance issue found in Umbraco 9.5.1

The other week one of our teams discovered a performance issue on one of our Umbraco v9 sites. At first, we assumed the issue was related to something in our code, but after some investigation we found that this also was an issue in a clean install of Umbraco 9.5.1.…

Meetup presentation summary: Umbraco, Best of Bread and Composable DXP

Yesterday I was invited to do a presentation at a meetup at Knowit in Gothenburg. The target audience for this meetup was basically anyone that wasn’t a developer and wanted to know more about the various CMS & Commerce plattforms we are partners and work with.…

I'm a 4x Umbraco MVP

I’m happy to announce that for the 4th time in my career I’ve been awarded Umbraco MVP! Once again a huge thank you Umbraco for this lovely award and for creating such an amazing community!…

CMS and Testing presentation at a local "mini-meetup"

Yesterday me and three of my coworkers arranged a "mini-meetup" for a local university here in Gothenburg called Medieinstitutet. We each did presentations that represented our skill: Frontend, Backend (me) and QA.…

I'll be speaking at the Umbraco Leeds Meetup, again!

Last year I did a presentation on Unit Testing at a Umbraco Meetup in Leeds and this year I have been invited once again, but this time I'll be doing my presentation about Moving smoothly between Optimizely and Umbraco that I did a few weeks ago in Gothenburg.…

C# 8.0 Default interface methods in under 60 seconds!

Last week I noticed a new feature in C# 8.0 called Default Interface Methods. Although the official documentation is great, it's quite extensive so I thought I would do this really short and simple breakdown of what this feature enables.…

I’m an Umbraco Certified Master on version 9

Today I completed bridging my Umbraco certification status from version 8 to the latest version 9 and I thought I would share my bridging path and experience with you.…

THE ELEMENT TYPE VS. CONTENT TREE PARADOX!

This is a follow up post on my previous article: TRULY REUSABLE BLOCKS (FROM A BLOCK LIBRARY) IN UMBRACO 9 Why are we doing this? Why do we create a base document type with our block properties…

Truly reusable Blocks (from a Block Library) in Umbraco 9

As your are probably aware of, Umbraco does not have reusable blocks out of the box. However, there are tricks to how you can enable reusable blocks in Umbraco and in this blogpost I’m going to show you how. And it doesn’t even require any coding, all of this is configurable from the back-office.…

Integration Testing an Umbraco API using .NET Web Application Factory

Lately I've been experimenting with the new WebApplicationFactory in .NET 6.0 together with custom Umbraco API controllers to verify that each API endpoint is up and running and that they return the expected output.…

Moving smoothly between Optimizely and Umbraco CMS

As I mentioned in one of my previous posts, I had a presentation planned at a lunch meetup in the Knowit Gothenburg office, called "The Optimizely developers guide to Umbraco".…

Guest on tech Podcast 'Digitalterapi'

Last week I was a guest on tech podcast “Digitalterapi” talking about Umbraco, Open Source, Community and much much more..…

How do you pronounce Umbraco?

Last week I created a Twitter poll to try to get an answer to how most community members pronounce Umbraco.…

THE OPTIMIZELY DEVELOPERS GUIDE TO UMBRACO

Next week I'll be doing a talk at Knowit on how to move smoothly between Optimizely (Episerver) and Umbraco from a developers perspective. This is a presentation I've planned on doing for years and finally got around to.…

Integrating Papertrail logging in a .NET (NLog) application

I’ve really come to enjoy Papertrail as an online log viewer. It’s super quick to setup and I can manage and view logs from multiple project and environments in one simple UI with searching, filtering etc.…

Testing an Umbraco Dictionary value using ICultureDictionary and UmbracoHelper

This week I finally found time to work on converting the Umbraco Unit Testing documentation from v8 to v9. The v9 version had some basic examples that I created a while back, but I want to bring all the examples from the v8 version in to the lastest version.…

Trust your tests!

Tests are meant to replace our browser clicking and instead give us instant and reliable feedback if our code is working or not. The browser is just a presentation layer. Trust your tests!…

Comparing different UI Testing frameworks (Selenium, Cypress and Microsoft Playwright)

So I decided that 2022 would be the year when I will start to implement more UI Testing in my projects. But, which framework should I choose?…

Skrift Issue 79

Big thank you Skrift Magazine for currently featuring my blog post on Umbraco Project Structure in you "Around the web" section!…

Using Microsoft Playwright and NUnit to automate search behaviour

I have been experimenting a lot with different UI testing frameworks such as Selenium, Cypress and Playwright in a public GitHub project and I’ve really come to fancy Microsoft.Playwright for .NET in combination with NUnit.…

Umbraco project structure

Recently I got to lay the foundation for a new Umbraco 9 project and so I started to question and think about the setup I have been using so far and if it might be possible to improve somehow.…

I'm a Microsoft MVP 2022!

Last week I opened my email and got a very pleasant surprise: I've been awarded Microsoft MVP 2022!…

Site Variables in Umbraco 9

Lately I've been experimenting with a concept of Site Variables in Umbraco 9 which I thought I would share with you today.…

Knowit Experience becomes Umbraco Contributing Gold Partner 2021

Finally it’s official! Knowit Experience Sweden just got awarded Umbraco Contributing Gold Partner 2021!…

The Umbraco 9 Unit Testing Documentation

By the end of last week I got my #hacktoberfest pull request to Umbraco merged and this morning it was finally live: The Umbraco 9 Unit Testing Documentation!…

Unit Testing with AutoFixture to generate TestCase data

When writing unit tests I often find myself having to come up with these kind of random test case data. But I recently discovered a package called AutoFixture which not only replaces all of the test case data in my tests but also saves me the trouble of having to come up with these random values myself.…

Teaching Unit Testing at a local University College

Today I had the pleasure of lecturing .NET Unit Testing at YRGO, a local University College in Gothenburg. This was actually the fourth year lecturing at YRGO and it’s something I really enjoy doing next to my “regular” work assignments. This session was based a lot on my session from my CodeGarden talk earlier this year.…

Troubleshooting a pending pod in a Kubernetes cluster (AKS)

Last week I had an interesting issue with one of our clients AKS clusters, and in the spirit of sharing I thought I would document the solution and share my findings. I find that when it comes to issues in Kubernetes it’s usually not the solution itself that is the tricky part, which is usually just a single command line, but rather finding information and troubleshooting that I find is the most interesting to read about.…

Get started with Umbraco 9

I was invited to join the celebration of the new Umbraco 9 version recently and in the Umbraco 9 Launch Extravaganza had prepared a little presentation on how to get started with Umbraco 9.…

Differences found when upgrading Umbraco 9 from BETA-003 to RC-004.

Earlier this month I finally had some time to upgrade the Umbraco 9 Demo site from the beta to the latest RC version, and while doing so I got some breaking changes that I had to adjust the code in order for my project to work, and I thought I would share these finding in this really small blogpost.…

Putting Umbraco 9 to the test

In case you missed it, I wrote a blogpost recently for Umbraco.com sharing some of my initial thoughts and findings when exploring the new Umbraco 9 version.…

Rendering products from an external source using a ContentFinder in Umbraco 9

This week I found the time to experiment more with my Umbraco 9 Demo Site, and this time I wanted to build the products section that most Umbracians are familiar with from the original demo site from…

Mocking the UmbracoHelper in Umbraco 9

I’ve always had somewhat of a love-hate relationship with the UmbracoHelper, mostly because until recently it has been a lot of work mocking this little helper. Until now!…

Mocking Property Values in Umbraco 9 (and Umbraco 8)

So I just got back from my summer vacation and I thought I would kickstart this blogging thing with a short and straight-forward blogpost that's easy to digest for anyone (like me) coming back from a long break from coding.…

Umbraco v9 findings

This week I had a little room left in my schedule for studying new tech and obviously I took that time to get up to speed on Umbraco’s new major version built on dotnet core.…

Testing the untestable with the Adapter Design Pattern

During my session at last weeks Codegarden on ‘Getting started with Unit Testing in Umbraco’ I got a really good question in the Q&A afterwards, and I thought I would share the question and elaborate on my answer: -“What tips do you have for mocking services that are overly complex or have lots of dependencies that can't be null?”…

I’m a 3x Umbraco MVP

As mentioned at last week was Codegarden, the official Umbraco Tech-conference, Knowit Experience won an Umbraco Award for Best Designed Site for Opera.se. Not only that, but I was also one of the lucky ones to receive an Umbraco MVP (Most Valuable Person) Award. This was the third time in my career that I’m awarded Umbraco MVP which feel unreal just to be saying. I feel just as proud and grateful today as I did the first time back in 2016.…

Knowit Experience won Umbraco Awards: Best Designed Site

Last weeks Codegarden started on Wednesday with the Umbraco Awards and we were very happy when it was official that Knowit Experience won first price in the category "Best Designed Site" with the site for GöteborgsOperan.…

Preparing for Codegarden 2021

I got a bit of a wakeup call today when I realized that Codegarden 2021 is less than three weeks away! As I’ve mentioned in a previous post, this year I will host a session at Codegarden on Getting started with Unit Testing in Umbraco.…

Starting a new Umbraco project

This week I was curious to hear how the community prefers to start new Umbraco projects so I started a poll on Twitter, and the results from that poll will be revealed at the bottom of this post. But first I thought I would cover the different option and give my two cents on each alternative.…

I’m an Certified Umbraco Content Manager

As an Umbraco MVP one of many benefits is a free certification course of your choice. Since I've already taken all the certifications there is from a developers perspective, I chose to sign up to the Content Management Course.…

Showing a maintenance banner on your Umbraco site

Something we do for most of our sites is setting what we call a deploy flag during our deployments and then have our frontend render a maintenance banner at the top of the website. By showing a maintenance banner we can inform the visitor that at the moment we are performing planned maintenance and that they might experience disturbances.…

I’m a speaker at Umbraco Codegarden 2021

This week I got some exciting news: My session on “Getting started with Unit Testing in Umbraco” has been accepted for Umbraco Codegarden 2021!…

Overriding the preview feature in Umbraco

When building a headless solution your Umbraco installation might serve as an API and does not have any frontend attached to it. In those cases the default preview feature in Umbraco could become useless.…

Testing Umbraco Composers

Something I’ve been wanting to write a test for but haven't come around to yet is the Umbraco Composer that was introduced in version 8. This could look something like this.…

Unit Testing an Url Segment Provider in Umbraco

Using an IUrlSegmentProvider you can modify the url segment that Umbraco generates for any piece of content based on whatever conditions you like. This week I created a test example for this ProductPageUrlSegmentProvider and updated the GitHub project and I'll be submitting a PR to the Unit Testing documentation.…

Umbraco Leeds Meetup Summary

So yesterday was finally the day for my presentation at the Umbraco Leeds Meetup about “Getting started with Unit Testing in Umbraco”.…

Unit Testing Regular Expressions

Not only are unit tests great for securing the behaviour of your code but they also serve as form of living documentation and one area where I find this especially true is when covering regular expressions with your unit tests.…

NUnit vs. xUnit

The endless battle between the two testing frameworks NUnit and xUnit is a hot potato and in this blog post I intend to give my two cents on this topic.…

I hosted an Umbraco lunch session at Knowit Experience

The session was called “A non-technical presentation of a technical platform” and it was a “no tech-lingo” session targeting sales, marketing and people in direct contact with end clients.…

Getting started with Unit Testing #2: Don't get stuck!

A mistake you might do as a beginner tester (I probably did it myself in the beginning) is that you start of hopefully to a great start, testing is going great and you think you’ve got the hang of it…

Getting started with Unit Testing #1: Start fresh!

A lot of developers who embark on the Unit Testing journey will go: -"Okay, I'll write a test in my current project just to see how it feels!". This is almost always a bad idea and chances are you’re going to get stuck and give up. And here's why..…

Stress-free production deployments

I remember in the early days of my career the stress I would have before each production deploy. I never had a good feeling in the stomach on those days, constantly fearing that something would blow up or even worse: that data would be lost forever! Today I work with some of the biggest clients in the country and deploying to production is as stress-free as getting a cup of coffee. Here's how!…

Five tricks to speed up your Unit Testing today

One of the main reasons I hear for not writing tests is -"We don’t have the time!" and that it feels like it would take longer time to write code with test than without. But there are a few tricks you can apply to speed up your Unit Testing today.…

Locked yourself out of Umbraco? No problem!

In Umbraco if you enter your password wrong 5 times you are locked out from the backoffice. This is usually the case when a clients calls saying they can't login (even if they deny having entered the wrong password several times)…

I’ll be speaking at the Umbraco Leeds Meetup

I’ll be speaking about Unit Testing and Umbraco at the Umbraco Leeds Meetup on the 6th of April. In this session I’ll be covering the basics of Unit Testing, how to get started and talk a little about my work with the official documentation and GitHub project on Unit Testing in Umbraco.…

Why we became an Umbraco Gold Partner (Repost in Swedish)

This week I've been really busy blogging. Not only did I write three blogpost for my own blog, I also wrote a blogpost for Knowit.se on why we became an Umbraco Gold Partner.…

Make love not poor editor experiences

This is a topic close to my heart and probably one the strongest reasons why I love working with Umbraco so much. When it comes to creating amazing editor experience there's a lot of things Umbraco gives us out of the box such as grid layouts, block editing, creating custom forms etc. but there are a few things we can do ourselves to improve the experience even move.…

Reading your Umbraco logs using PowerShell

Call me a nerd but I prefer to do as much as possible using PowerShell these days. Even the smallest of tasks that might even go faster to go through a UI I try to find a way to do it using PowerShell.…

Bumping the Client Dependency Framework version

If you are having issues in the UI  of Umbraco (perhaps after deploying, upgrading, creating your own custom editor, using a third party package or you are doing something else that involves custom css or javascript in the back-office) an experienced Umbraco developer will most likely tell you to “Bump your CDF version!“.…

Knowit Experience becomes Umbraco Gold Partner

It’s official! The company that I work for, Knowit Experience, is now an Umbraco Gold Partner. Knowit Experience is the leading customer experience agency in the Nordic region with 900 experts operating in four countries.…

Load Balancing Umbraco using Kubernetes

Something that’s been on my mind for quite some time now is how Umbraco fits in the world of Kubernetes and Containerization. See there’s this notion that Kubernetes and stateful applications such as a CMS do not go hand in hand, but what if they could?…

Skrift Issue 69

My Unit Testing project is currently highligthed in the "Around the web" section on Skrift Magazine. It's also mentioned it in the lastet issue of their newsletter.…

Get current assembly version of your Umbraco website

At work we use TeamCity as a part of our Continuous Deployment procedure for all of our Umbraco websites (even Umbraco Cloud) and one build step I find particularly useful is the one that we call…

Configuring a TLS certificate in Kubernetes

This week I was given the assignment to update a TLS certificate on one of our Kubernetes clusters from a .pfx file and so I though I would share how I solved it and hopefully it can help someone else in the same situation.…

Fixing "the data was truncated" error on an Umbraco Label

If you need to display readonly data in Umbraco the datatype you are looking for is the Label datatype. With this datatype it is not possible to input a value for an editor in the back-office of Umbraco, but you can get & set this value through the ContentService API.…

UmbraCoffee #162

The guys at UmbraCoffee Marcin and Callum are the best. Last Friday some of my blog posts where highlighted under a new section of the show called “Adolfi Appreciation Time”.…

HasValue is not a nullcheck

I stumbled across this “issue” a while back when one of our sites would break for mysterious reasons which turned out to be related to how we'd used the HasValue extension method.…

Docker Deep Dive

I want to recommend a really great book for anyone who wants to learn or become better at Docker. See I’m not a Docker ninja, I’ve fiddled with Docker on a few occasions but I never really had the pleasure of being involved in a project where I would need to use it. So my knowledge hasn’t really gone any deeper than the basics.…

Using Umbraco Health Checks as Integration Tests, Revisited!

Almost every one of our projects moves towards a microservice architecture and our applications are rarely these huge web apps anymore, but instead they are a bunch of applications working together in a cluster of apps.…

API Testing using Test Driven Development (TDD)

This week I’ve been working on an integration to an external provider used for newsletters subscriptions and I’ve realised that if there’s one area where TDD is a match made in heaven it’s when you're doing API Testing.…

Umbraco Unit Testing Updated: February 1, 2021

I had a little sparetime yesterday so I extended the UmbracoUnitTesting project with three additional tests examples and so I've also submitted these tests as a pull request to the Umbraco Documentation.…

Starting to Unit Test: Not as Hard as You Think

I thought I would share a recommendation for a really great book that I think anyone who is new to Unit Testing should read: Starting to Unit Test: Not as Hard as You Think by Erik Deitrich. I read this book many years ago but I remember it to this day because it was an eye opener to what Unit Testing essentially is.…

Parallelism: NUnit vs. xUnit

Running your tests in parallel can significantly improve the speed of your test runs, but it could give you occasional problems especially if you're working on static implementations. Also turns out that depending on which testing framework you're using parallelism might be handled differently.…

Contribution of the week

My little side-gig was featured in this weeks episode of #UmbraCoffee as “Contrib of the week”. Thank you so much for highlighting it and for all your kind words.…

Getting started with Unit Testing in Umbraco just got a whole lot easier!

Around two years ago Umbraco version 8 was released and I was scanning the internet trying to find some documentation on how to do Unit Testing in version 8, without any luck. No examples or tutorials had yet to be made for this and the official documentation did not have a section on Unit Testing. So I thought: How hard can it be?…

Umbraco Cloud performance

I must say I'm impressed with the performance of this website. This site is built with the Articulate blog plugin and it’s resting on Umbraco Cloud.…

Rotating certificates in Azure Kubernetes Service (AKS)

Every once and a while certificates on the Azure Kubernetes Service need to be rotated. If you dont you will receive this error when you try to connect to a cluster.…

MVP Holiday Care Package

Today I recived a package from Odense, Denmark from the lovely Umbraco HQ. Every Umbraco MVP (Most Valued People) recived a New Years package just as we did for Christmas. Mine however arrived 2 weeks after New Years, for which I can thank the Swedish Postal Office for their crappy service.…

How to test internal classes

When you're writing unit tests you may sometimes find yourself in a situation where you need to be able to access an internal class from within another project such as your *.Tests project.…

Top 10 GitHub Contributor

I made the 2020 Top 10 GitHub Contributors list for the Umbraco Documentation, finishing on 7th place. This was announced on Umbraco.com’s blog by Sofie Toft Kristensen:…

UmbraCoffee Guest Appearance

One thing I've always wanted to do is be a guest on UmbraCoffee, the weekly YouTube show focused on the world of Umbraco. So when Marcin reached out and asked if i wanted to be part of episode #154 it was a no-brainer. So now I can finally cross that one of my bucket-list.…

24 days of Umbraco: Your first pull request

You know that warm feeling you get when you’ve submitted a pull request to Umbraco and now you just got it approved and it's ready to be merged.. No? You’ve never done a pull request to Umbraco? Don’t worry, we’re about to change that today.…