Tutorial: How to migrate an existing Umbraco website to .NET Aspire

In my previous article I shared a tutorial on how you can get started with .NET Aspire with a brand new Umbraco 13 website running on .NET 8. In this follow-up tutorial I'll cover how you can make the same transition to .NET Aspire but with an existing pre-Umbraco 13 website.…

Tutorial: How to get started with .NET Aspire & Umbraco 13

.NET Aspire, the latest iteration in the .NET family, offers a modular, high-performance framework for building web applications.…

Custom Umbraco NotificationHandlers

Whenever a content item is published in Umbraco a ContentPublishingNotification event will be triggered. By creating our own NotificationHandler we can hijack this event and cancel or extend the default notification when a user is publishing a content node in Umbraco.…

Tech Lead Digest Issue #121

It’s come to my attention, thanks to several friendly DMs, that my article “How to become a better mentor” was featured in the #121 issue of the Tech Lead Digest: "A carefully curated weekly…

How to become a better mentor - 24 days in Umbraco

In case you missed it make sure you read my contribution to this years 24 days in Umbraco, the yearly Umbraco advent calendar. This was my 3rd year writing for 24 days and this years edition was about how to improve yourself as a mentor for junior or aspiring developers.…

Logging HttpRequests using DelegatingHandler with a named HttpClient and HttpMessageHandlers in Umbraco

Ever found yourself logging the same things over and over again in your Umbraco application when doing HttpClient requests? Wouldn't it be nice (if we could wake up) and all of our request where automatically logged for us in one unified way throughout our entire application?…

Guest appearance on YouTube show UmbraCoffee talking about performance in Umbraco

Today I joined Marcin and Callum on their awesome YouTube show UmbraCoffee to talk about my recent findings and background around the performance issue in Umbraco 9-10 (which I wrote about earlier…

[SOLVED, Manual action required] Performance issue in Umbraco 9-10 when using ContentModel (or ModelsBuilder models) in custom controllers.

If you are using custom controllers with ContentModel or ModelsBuilder models you will experience massive performance issues as your projects scales. This issue is tied to how ASP.NET Core performs validation on object graphs and a fix for this will be shipped but not until v11 as this is a breaking change!…

Unit Testing in Umbraco 9-10.x

The other day I got a friendly heads up from Umbraco Documentation Team member Sofie Toft that the official Umbraco Unit Testing documentation had not yet been verified against the latest major version of Umbraco (v10).…

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.…

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.…

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…

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.…

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!…

Skrift Issue 79

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

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.…

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.…

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”.…

I hosted an Umbraco meetup 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.…

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…

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.…

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.…

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.…

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.…

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.…

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.…

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.…

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:…

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.…

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.…

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.…

How I migrated my Umbraco 8 website to Umbraco version 13

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed congue metus eu ex varius, eget egestas est cursus. Proin maximus urna eget odio lacinia, id cursus lorem pretium.…