2024 at Umbraco UK Festival
Blog posts from me are like London Buses. You wait ages for one, then three come along at once but all get stuck in traffic behind a delivery driver. Yes, it doesn’t seem very long since I was last down in London for Umbraco UK Festival 2023, and yet in reality 12 months have already passed and the big event in the capital has rolled around once again. After 15 minutes and about 30 rejected ideas, I’m afraid that was still the best opening lines I could manage to come up with for this and it is still somewhat lacking, so maybe it’s for the best if I just give up and move swiftly on to the rest the blog.
For 2024, I was finally able to attend the pre-event Hackathon graciously hosted this year by Hugo & Cat. This was something I’d planned to do in 2023 but last minute issues had gotten in the way of. While I could have gone down on Thursday morning for this, ultimately I decided to head down to London on the Wednesday evening in order to ensure I was already in the city bright and early. This also meant I was able to use Wednesday evening to try and plan out and prepare what I would work on the following day. Or… that was my theory. In practice, it failed again! I’d cloned down the latest Umbraco 15 source in advance, only to remember on the Thursday morning when actually there that I’d not updated any of my build tools for the new .net 9 framework. Which meant before being able to do anything, I still had to spend a long time updating several gigabytes of data for Visual Studio 2022… only to find it couldn’t actually work with .net 9 and apparently I had to install Visual Studio 2022 Preview. If anyone else wondered why I had to replace that 2TB drive with a 4TB one in the summer, you can almost exclusively thank Microsoft’s insatiable love for sheer wastage of computing resources. But still, I eventually got everything in place, and was able to start exploring a bit more with the recently released Umbraco 15 RC4. Firstly I tried updating my usual internal project to this, mainly to see if an issue I’d noticed previously in back office under Umbraco 14 was still present. As it did seem to be, I set about looking at the source code to see if I could fix it, only to find it had already been addressed in the latest version of the source, it just wasn’t present on the snapshot being used with the site. So once again my hope of actually submitting a pull request during a Hackathon day failed to materialise. But it still gave me a good chance to explore the features of the latest upcoming release, as well as to talk to and pick up the growing buzz from fellow developers in a much smaller setting ahead of the main conference day. And with my energy definitely not what it once was these days, I’m keen to still get to as many of these as possible while I can even if I ultimately get zero PRs out on the day.
After resting up for the day after the Hackathon, Friday morning soon rolled round and it was time for the main festival event. The venue, CodeNode near Liverpool Street Station, is apparently one which has been used for Umbraco UK Fest before. However, this was in times before I was able to attend so this 2024 return was my first time here. Though thankfully my calculations worked out nicely for me to get from hotel to venue and still arrive about 3 minutes before doors opened even with the rush hour London commute.
Following a welcome to the day from Callum (complete with one of my best timed photos on social media to date) and several other people giving us all the vital stats that remind us what we’re all here for as a community, the first major talk of the day in the larger room was by Asim Hussain from Green Software Foundation, and focused on how they’ve been trying to do for sustainability what open source has done for software. The talk started off by looking at power within software. No nothing to do with energy consumption, but rather power in the hands of people, and how open source allows dilution of that power across more people rather than having the risk of a singular person being in control (though given recent events, I fear the folks at WordPress possibly didn’t get that memo). As the talk progressed it moved on to how measurements can be used as a way of manipulating things around sustainability by those with vested interests, thus the importance of creating something consistent and outside of organisations with such an interest which culminated in the creation of Impact Framework – a pluggable system for calculating environmental impacts. Overall a very inspiring talk to open the day about aiming to create a culture of transparency for the good of everyone.
At this point, the conference followed the usual pattern of splitting up into multiple tracks. I stuck with track 1 to hear from Kenn Jacobsen on some of the latest features to make it into V15. I’ve been trying my best to keep up with this anyway, however with the cycle between major versions being so short now its something I’ve not been able to manage more than an occasional fleeting glance at in recent months. So having a key feature runthrough condensed to only 45 minutes was certainly welcome. The main focus was on the introduction of block level variants, setting out to solve a problem with creating a consistent set of blocks across languages while still allowing for variations in the content within each language. Sadly not a feature I’m likely to get much chance to play with now given I don’t get the chance to work with many multi-lingual sites anymore, but it is always still fun just to see what is possible. The other major new feature focused on during the talk was the addition of API-only users and members, allowing accounts which have access to data from Umbraco without the full login to the back office. Various demos were included to show this in use, and given the benefit of this to headless sites this is one feature I do hope to be able to make more use of personally.
I stuck with room 1 for the next talk, which was a late notice schedule change from Jason Elkin on Nullable Reference Types and how to use them right. After giving some background on the concept, as well as delving into why the name is in some ways a bad one as types have always been nullable to a degree, the talk moved through a series of demos – with Jason bravely fighting off some of the oddest live demo bugs you’ve ever seen (when was the last time a build failed for you just because you weren’t online for example?). Starting off with very simple refactoring of something by enabling nullable types in the project file and then correcting for introduced warnings, before moving on to more complex examples of syntax and how methods could be constructed to better make use of the feature. The talk concluded with some key takeaways, one of the biggest being that you don’t have to use Nullable Reference Types, and that introducing them badly (for example by abusing the ‘null forgiving’ operator) is worse than just not introducing them at all to a project!
For the last session of the morning I stayed with room 1, which now hosted Laura Weatherhead and her talk on Creating and Delivering Multi-dimensional Content. For those who had stumbled in to the talk thinking it was something that had escaped from a Doctor Who Convention, the talk started by giving a bit of an overview of what was meant by the term, specifically meaning the highly complex content models that can come from growing sites particularly when you start factoring in things like multiple languages and personalisation. Before trying to offer some views on how to try and manage these most effectively, via the use of different packages such as Umbraco Engage (the new name for what was uMarketingSuite) and the Personalisation Groups package. Lots of demos were shown, but Laura was keen to stress throughout that while the best efforts can be made, challenges will always remain. Ultimately the more flexible your solution needs to be, the more complex it’ll become, and there will never be a one-size-meets-all solution that works for all clients.
Following a break for lunch, during which I was able to catch up with and chat with various people, in particular those who hadn’t been able to make the previous day, it was on to the afternoon sessions. In what must be one of my longest single-room streaks at one of these events, I returned to track 1 for Paul Seal’s talk on Simplifying Umbraco Cloud Deployments with CI/CD. With this being a shorter talk than some of those in the morning, it was quite a whistlestop tour of setting up deployments, covering cloning down solutions from Cloud, setting up pipelines in Azure Devops, and how to tie the whole thing together. As it’s been a while since I last set up anything in Azure Devops, it was nice to see reminders of where some of these screens I can vaguely remember using before actually are in the portal, though I imagine I’ll have forgotten all over again (or Microsoft will have changed it all) by the time I ever need to set something up again!
As I had been lucky enough to already catch the next talk on track 1 at an Umbraco Bristol meetup earlier in the year, I made my only switch over to track 2 for a bit to catch a talk from Phil Whittaker on Automating Content Creation for Umbraco Events with OpenAI. For this Phil gave a quick tour through simple software created for Umbraco Manchester and Leeds to try and reduce the burden of creating and promoting meetup content across the huge numbers of social platforms we have available now (Twitter, or what Elon is calling it this week, Mastodon etc etc). As well as demoing the approach, Phil was also able to go over some of the quirks that had to be dealt with while building this out, such as ensuring the OpenAI responses were instructed to only answer yes or no to yes/no questions, in order to avoid wordy answers which were difficult to parse. Or including instructions not to try and include any text in the images generated, as invariably the results would be incorrect or poor quality. The talk finished off with a look at how the project can hopefully be spread more widely in order to help other meetup groups in other locations.
The final talk of the day for the split track that I attended was from Callum on building your own Umbraco Copilot. This was actually a talk I’d already seen only a few weeks earlier at Umbraco Manchester, but had found really intriguing so I went along again in the hope of picking up more of the intricate details I’d missed the first time round. After starting out by raising a point about how AI talks commonly show us how to fill in alt text or meta tags, but often don’t go much beyond that, the rest of the session set about showing building out an entire copilot style assistant to sit in back office. It was also good to see an example of someone building a complex Umbraco 14 extension demo that felt like it was something truly designed for the new CMS approach rather than simply reimplementing something already built for Umbraco 13. Using a combination of the new Umbraco 14 ways of building things, as well as Microsoft’s Semantic Kernel SDK, an integration with GPT4o-mini was built that went initially from being a basic re-implementation of ChatGPT in the back office, to by the end being a much more useful system that was context aware of both Umbraco itself and even which section of the back office you were currently in (eg Content vs Settings), as well as being able to handle voice interaction rather than just simple typed text. While it’s one of those things I’d probably still need to pull apart the code for to really understand properly, this was a great talk (for a second time) just to see some potential on what can be done with a bit of imagination with the tooling and frameworks out there. Often when it comes to creating things, it’s those ideas which are as much of the work as the implementation itself!
After another networking session, which I ended up sitting out of mostly just as I was starting to flag badly by now after several days of quite intensive interactions, we all came back into track 1 for the final session of the day. The Umbraco Product Update, presented by Bolette Kern. This finished off the conference by taking a look at some recent changes, such as the new CEO and acquisitions, before going on to what was coming up imminently across the various products (core and cloud), as well as taking a look at what was still a bit further off on the roadmap. This is always a good one to finish events on as it reminds you that, however feature complete a system may seem, there is always something else to be done or on the horizon for it. Good thinking to take away in general, and something to dwell on for the next few months.
Thankfully after the conclusion of another excellent Umbraco UK Fest we are now in the part of the year where it’s now the shorter gap until the next UK Umbraco Conference, what with Umbraco Spark due in only 4 months time on 7th March 2025. I’ll keep everything crossed that I will still be in a good enough place to attend this next Spring as every one of these events is an inspiration for which great thanks need to go out to all the organisers, sponsors and speakers for making possible every time. As well as being the best chance to get so many of our community together all under one roof!
High Five You (all) Rock
Find out more at:-
Umbraco UK Festival – https://umbracofestival.co.uk
Umbraco Foundation – https://www.umbracofoundation.co.uk/
Umbraco Spark – https://www.umbracospark.com