<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:github="https://github.com/discussions"><channel><title>mattbrailsford.dev</title><description>Welcome to my personal blog where I mostly write about Umbraco.</description><link>https://mattbrailsford.dev</link><atom:link href="https://mattbrailsford.dev/feed" rel="self" type="application/rss+xml"/><item><title>What We Gained Building Umbraco AI on Microsoft.Extensions.AI and the Microsoft Agent Framework</title><link>https://mattbrailsford.dev/what-we-gained-building-umbraco-ai-on-meai-and-maf</link><guid isPermaLink="true">https://mattbrailsford.dev/what-we-gained-building-umbraco-ai-on-meai-and-maf</guid><description>When we set out to build AI capabilities for Umbraco, we had a choice every platform team faces: build your own abstractions, or bet on someone...</description><pubDate>Tue, 21 Apr 2026 08:30:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AlSvs</github:discussionId><github:discussionNumber>63</github:discussionNumber></item><item><title>Guardrails in Umbraco AI</title><link>https://mattbrailsford.dev/guardrails-in-umbraco-ai</link><guid isPermaLink="true">https://mattbrailsford.dev/guardrails-in-umbraco-ai</guid><description>When you add AI to a CMS, you’re giving it the power to generate content, respond to visitors, and interact with editors. That’s powerful — but it...</description><pubDate>Thu, 16 Apr 2026 08:30:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AlRpi</github:discussionId><github:discussionNumber>61</github:discussionNumber></item><item><title>Introducing Umbraco AI Search</title><link>https://mattbrailsford.dev/introducing-umbraco-ai-search</link><guid isPermaLink="true">https://mattbrailsford.dev/introducing-umbraco-ai-search</guid><description>If you’ve used the build in search in Umbraco, you’ll know it’s keyword-based. You type “deployment guide” and it finds pages containing those...</description><pubDate>Tue, 14 Apr 2026 08:30:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AlRo5</github:discussionId><github:discussionNumber>60</github:discussionNumber></item><item><title>File Uploads in Umbraco.AI</title><link>https://mattbrailsford.dev/file-uploads-in-umbraco-ai</link><guid isPermaLink="true">https://mattbrailsford.dev/file-uploads-in-umbraco-ai</guid><description>File uploads have landed in Umbraco.AI. While the most visible change is in Copilot — where you can now drag and drop documents directly into the...</description><pubDate>Thu, 09 Apr 2026 08:30:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AlRor</github:discussionId><github:discussionNumber>59</github:discussionNumber></item><item><title>Why Umbraco 17.4.0 Is a Big Deal for AI</title><link>https://mattbrailsford.dev/why-umbraco-1740-is-a-big-deal-for-ai</link><guid isPermaLink="true">https://mattbrailsford.dev/why-umbraco-1740-is-a-big-deal-for-ai</guid><description>If you told most Umbraco developers to get excited about a minor release, you’d probably get a polite nod. Point releases aren’t usually the ones...</description><pubDate>Tue, 07 Apr 2026 08:30:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AlRP4</github:discussionId><github:discussionNumber>58</github:discussionNumber></item><item><title>Umbraco AI Prompts: Template Syntax and Variables</title><link>https://mattbrailsford.dev/umbraco-ai-prompts-template-syntax-and-variables</link><guid isPermaLink="true">https://mattbrailsford.dev/umbraco-ai-prompts-template-syntax-and-variables</guid><description>Following on from my Introducing Umbraco AI post, I wanted to dig deeper into one of the add-on packages that I think has the most immediately...</description><pubDate>Thu, 02 Apr 2026 08:30:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AlRFJ</github:discussionId><github:discussionNumber>57</github:discussionNumber></item><item><title>Understanding Contexts in Umbraco AI</title><link>https://mattbrailsford.dev/understanding-contexts-in-umbraco-ai</link><guid isPermaLink="true">https://mattbrailsford.dev/understanding-contexts-in-umbraco-ai</guid><description>In my introductory post, I gave a high-level overview of how Umbraco AI is structured — providers, connections, profiles, and contexts. Of those,...</description><pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AlINd</github:discussionId><github:discussionNumber>56</github:discussionNumber></item><item><title>The Umbraco AI Kitchen Sink Install</title><link>https://mattbrailsford.dev/umbraco-ai-kitchen-sink-install</link><guid isPermaLink="true">https://mattbrailsford.dev/umbraco-ai-kitchen-sink-install</guid><description>Since we released Umbraco AI, one of the most common bits of feedback I’ve heard is: “I want to try it, but I’m not sure which packages to...</description><pubDate>Wed, 04 Mar 2026 11:19:26 GMT</pubDate><github:discussionId>D_kwDOMyW45M4Akgxh</github:discussionId><github:discussionNumber>55</github:discussionNumber></item><item><title>Replacing My Custom Git Worktree Skill with Claude Code Hooks</title><link>https://mattbrailsford.dev/replacing-my-custom-git-worktree-skill-with-claude-code-hooks</link><guid isPermaLink="true">https://mattbrailsford.dev/replacing-my-custom-git-worktree-skill-with-claude-code-hooks</guid><description>If you’ve been following along with my recent posts, you’ll know that git worktrees have become a fundamental part of how I work. One worktree per...</description><pubDate>Tue, 24 Feb 2026 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AkVy1</github:discussionId><github:discussionNumber>54</github:discussionNumber></item><item><title>How Task Metadata Saved My Git History: Keeping Claude Code in the Right Git Worktree</title><link>https://mattbrailsford.dev/keeping-claude-code-in-the-right-git-worktree</link><guid isPermaLink="true">https://mattbrailsford.dev/keeping-claude-code-in-the-right-git-worktree</guid><description>One of the biggest boosts to my AI assisted development productivity has got to be the introduction of using git worktrees. With these it’s...</description><pubDate>Sat, 14 Feb 2026 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AkJpX</github:discussionId><github:discussionNumber>53</github:discussionNumber></item><item><title>Introducing Umbraco AI</title><link>https://mattbrailsford.dev/introducing-umbraco-ai</link><guid isPermaLink="true">https://mattbrailsford.dev/introducing-umbraco-ai</guid><description>If you caught the Umbraco Winter keynote webinar, you’ll have seen us announce something I’ve been working on for a while now - Umbraco AI. I’ve...</description><pubDate>Thu, 05 Feb 2026 11:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4Aj-Fh</github:discussionId><github:discussionNumber>52</github:discussionNumber></item><item><title>Solving Port Conflicts in AI-Assisted Development: HTTP over Named Pipes</title><link>https://mattbrailsford.dev/http-over-named-pipes</link><guid isPermaLink="true">https://mattbrailsford.dev/http-over-named-pipes</guid><description>The way I work day to day has changed quite a lot over the last 6 months.
AI coding assistants like Claude Code aren’t just speeding up individual...</description><pubDate>Mon, 02 Feb 2026 19:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4Aj7RN</github:discussionId><github:discussionNumber>50</github:discussionNumber></item><item><title>SPECKL: Testing a Human-First Approach to AI-Assisted Development</title><link>https://mattbrailsford.dev/speckl-testing-a-human-first-approach-to-ai-assisted-development</link><guid isPermaLink="true">https://mattbrailsford.dev/speckl-testing-a-human-first-approach-to-ai-assisted-development</guid><description>I’m giving a talk at Umbraco in the City soon about Spec-Driven Development (SDD), which has had me deep in research on where AI tooling is taking...</description><pubDate>Tue, 14 Oct 2025 08:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AiYpm</github:discussionId><github:discussionNumber>49</github:discussionNumber></item><item><title>UMB.FYI Celebrates it&apos;s 2nd Birthday with a Pulse Check</title><link>https://mattbrailsford.dev/umbfyi-celebrates-its-2nd-birthday-with-a-pulse-check</link><guid isPermaLink="true">https://mattbrailsford.dev/umbfyi-celebrates-its-2nd-birthday-with-a-pulse-check</guid><description>Two years ago, I launched UMB.FYI with a simple goal: to make it easier to follow the heartbeat of the Umbraco community. Every week, new blog...</description><pubDate>Mon, 06 Oct 2025 09:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AiPGY</github:discussionId><github:discussionNumber>48</github:discussionNumber></item><item><title>UMB.FYI Gets a New Workflow Engine</title><link>https://mattbrailsford.dev/umbfyi-gets-a-new-workflow-engine</link><guid isPermaLink="true">https://mattbrailsford.dev/umbfyi-gets-a-new-workflow-engine</guid><description>Every week when I put together UMB.FYI, the weekly Umbraco community newsletter, I found myself repeating the same little tasks over and over...</description><pubDate>Wed, 03 Sep 2025 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4Ahs-Z</github:discussionId><github:discussionNumber>47</github:discussionNumber></item><item><title>Adding Scheduled Posts to My GitHub Discussions Powered Blog</title><link>https://mattbrailsford.dev/adding-scheduled-posts-to-my-github-discussions-powered-blog</link><guid isPermaLink="true">https://mattbrailsford.dev/adding-scheduled-posts-to-my-github-discussions-powered-blog</guid><description>When I first built my GitHub Discussions–powered blog and later created the Astro Discussions Blog Loader, one critical feature was still missing:...</description><pubDate>Fri, 29 Aug 2025 18:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4Ahn7m</github:discussionId><github:discussionNumber>46</github:discussionNumber></item><item><title>UMB.FYI Celebrates it&apos;s 100th Issue</title><link>https://mattbrailsford.dev/umbfyi-celebrates-its-100th-issue</link><guid isPermaLink="true">https://mattbrailsford.dev/umbfyi-celebrates-its-100th-issue</guid><description>This week marks a special milestone for me as UMB.FYI, my Umbraco news aggregating newsletter side project, hits its 100th issue 🎉
What started as...</description><pubDate>Wed, 27 Aug 2025 05:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4Ahdk7</github:discussionId><github:discussionNumber>44</github:discussionNumber></item><item><title>Building an MCP Server for Umbraco Commerce</title><link>https://mattbrailsford.dev/building-an-mcp-server-for-umbraco-commerce</link><guid isPermaLink="true">https://mattbrailsford.dev/building-an-mcp-server-for-umbraco-commerce</guid><description>It’s undeniable that the biggest story to come out of this year’s Codegarden was the MCP integration developed by Phil Whittaker and Matt Wise. The...</description><pubDate>Mon, 11 Aug 2025 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AhPpC</github:discussionId><github:discussionNumber>43</github:discussionNumber></item><item><title>How I Saved 5GB of Storage Per Year for UMB.FYI</title><link>https://mattbrailsford.dev/how-i-saved-5gb-of-storage-per-year-for-umbfyi</link><guid isPermaLink="true">https://mattbrailsford.dev/how-i-saved-5gb-of-storage-per-year-for-umbfyi</guid><description>As the editor of UMB.FYI — the weekly newsletter for the Umbraco community — I try to deliver the news in a clean, easy-to-digest format without...</description><pubDate>Tue, 22 Jul 2025 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4Ag4nD</github:discussionId><github:discussionNumber>42</github:discussionNumber></item><item><title>UMB.FYI Gets an iOS Tip Shortcut</title><link>https://mattbrailsford.dev/umbfyi-gets-an-ios-tip-shortcut</link><guid isPermaLink="true">https://mattbrailsford.dev/umbfyi-gets-an-ios-tip-shortcut</guid><description>It’s no secret that UMB.FYI is built around community. The whole point is to surface and share the best Umbraco-related content being posted across...</description><pubDate>Sun, 20 Jul 2025 00:00:01 GMT</pubDate><github:discussionId>D_kwDOMyW45M4Ag1QW</github:discussionId><github:discussionNumber>41</github:discussionNumber></item><item><title>ND &amp; Me: Running in Emulation</title><link>https://mattbrailsford.dev/neurodiversity-and-me-running-in-emulation</link><guid isPermaLink="true">https://mattbrailsford.dev/neurodiversity-and-me-running-in-emulation</guid><description>A late-diagnosed dev&apos;s journey through neurodivergence, self-doubt, and learning to run more natively</description><pubDate>Tue, 24 Jun 2025 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AgYgP</github:discussionId><github:discussionNumber>40</github:discussionNumber></item><item><title>Installing K6 on a Raspberry Pi</title><link>https://mattbrailsford.dev/installing-k6-on-a-raspberry-pi</link><guid isPermaLink="true">https://mattbrailsford.dev/installing-k6-on-a-raspberry-pi</guid><description>I’ve recently been doing some performance testing at work using K6 and had the need to test a script locally. I could have run the script on the...</description><pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AdblZ</github:discussionId><github:discussionNumber>39</github:discussionNumber></item><item><title>Getting Started on Bluesky for Umbraco Developers</title><link>https://mattbrailsford.dev/getting-started-on-bluesky-for-umbraco-developers</link><guid isPermaLink="true">https://mattbrailsford.dev/getting-started-on-bluesky-for-umbraco-developers</guid><description>Bluesky, the decentralized social media platform gaining a lot traction of late, is becoming a vibrant space for the Umbraco community. Whether...</description><pubDate>Sat, 14 Dec 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AdSt7</github:discussionId><github:discussionNumber>38</github:discussionNumber></item><item><title>Introducing the Umbraco Bluesky Labeler</title><link>https://mattbrailsford.dev/introducing-the-umbraco-bluesky-labeler</link><guid isPermaLink="true">https://mattbrailsford.dev/introducing-the-umbraco-bluesky-labeler</guid><description>With the recent boom of Bluesky users comes a lot if interesting and exciting community initiatives born from it’s open API. One such interesting...</description><pubDate>Fri, 13 Dec 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AdRZ5</github:discussionId><github:discussionNumber>37</github:discussionNumber></item><item><title>UMB.FYI links get Urchin Tracking Module (UTM) parameters</title><link>https://mattbrailsford.dev/umbfyi-links-get-utm-parameters</link><guid isPermaLink="true">https://mattbrailsford.dev/umbfyi-links-get-utm-parameters</guid><description>In a recent conversation with an Umbraco community member on Mastodon, they asked if it would be possible if we could add Urchin Tracking Module...</description><pubDate>Thu, 05 Dec 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AdDnl</github:discussionId><github:discussionNumber>35</github:discussionNumber></item><item><title>Creating a Bluesky bot in C#</title><link>https://mattbrailsford.dev/creating-a-bluesky-bot-in-csharp</link><guid isPermaLink="true">https://mattbrailsford.dev/creating-a-bluesky-bot-in-csharp</guid><description>I recently blogged about us adding a new Bluesky tips bot to UMB.FYI and so I thought I’d share a bit more detail on how I went about...</description><pubDate>Tue, 19 Nov 2024 00:00:02 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AcqQp</github:discussionId><github:discussionNumber>34</github:discussionNumber></item><item><title>UMB.FYI gets a Bluesky tips bot</title><link>https://mattbrailsford.dev/umbfyi-gets-a-bluesky-tips-bot</link><guid isPermaLink="true">https://mattbrailsford.dev/umbfyi-gets-a-bluesky-tips-bot</guid><description>With the recent surge in Bluesky users and a growing Umbraco cohort on the platform, it seemed like an ideal time to bring a tips bot to the...</description><pubDate>Tue, 19 Nov 2024 00:00:01 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AcqAu</github:discussionId><github:discussionNumber>33</github:discussionNumber></item><item><title>UMB.FYI gets Profiles, Tags and Topics</title><link>https://mattbrailsford.dev/umbfyi-gets-profiles-tags-and-topics</link><guid isPermaLink="true">https://mattbrailsford.dev/umbfyi-gets-profiles-tags-and-topics</guid><description>Since creating UMB.FYI newsletter a little over a year ago, I’ve slowly been tweaking and adding features as I’ve gone along and today I wanted to...</description><pubDate>Mon, 21 Oct 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AcB3n</github:discussionId><github:discussionNumber>32</github:discussionNumber></item><item><title>Launching the GitHub Discussions Blog Loader for Astro</title><link>https://mattbrailsford.dev/launching-the-github-discussions-blog-loader-for-astro</link><guid isPermaLink="true">https://mattbrailsford.dev/launching-the-github-discussions-blog-loader-for-astro</guid><description>In a recent post I shared my new blog setup using GitHub Discussions as a blogging engine combined with Astro’s new Content Layer API coming in v5,...</description><pubDate>Thu, 03 Oct 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4Abvjm</github:discussionId><github:discussionNumber>31</github:discussionNumber></item><item><title>Building a GitHub Discussions Powered Blog</title><link>https://mattbrailsford.dev/building-a-github-discussions-powered-blog</link><guid isPermaLink="true">https://mattbrailsford.dev/building-a-github-discussions-powered-blog</guid><description>Discover how to build a blog powered by GitHub Discussions with full control over site markup, spam-free content, and an easy-to-maintain setup.</description><pubDate>Thu, 26 Sep 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbnSi</github:discussionId><github:discussionNumber>30</github:discussionNumber></item><item><title>Deploying TypeScript Type Definitions for Umbraco v14 Packages</title><link>https://mattbrailsford.dev/deploying-typescript-type-definitions-for-umbraco-v14-packages</link><guid isPermaLink="true">https://mattbrailsford.dev/deploying-typescript-type-definitions-for-umbraco-v14-packages</guid><description>Learn how to deploy TypeScript type definitions for Umbraco v14 packages. This guide covers generating, bundling, and publishing type definitions, using tools like TypeScript CLI and API Extractor.</description><pubDate>Fri, 26 Jul 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbdOx</github:discussionId><github:discussionNumber>1</github:discussionNumber></item><item><title>The Challenge of Versioning Expandable API&apos;s in Umbraco</title><link>https://mattbrailsford.dev/the-challenge-of-versioning-expandable-apis-in-umbraco</link><guid isPermaLink="true">https://mattbrailsford.dev/the-challenge-of-versioning-expandable-apis-in-umbraco</guid><description>Since Umbraco v12 there has been a big push towards making all the core Umbraco products headless. A cool feature of many of these API’s is the...</description><pubDate>Thu, 02 May 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4Abfk3</github:discussionId><github:discussionNumber>29</github:discussionNumber></item><item><title>Using the Command Pattern to Re-Apply Changes to an Observable Model in Umbraco Bellissima</title><link>https://mattbrailsford.dev/using-the-command-pattern-to-re-apply-changes-to-an-observable-model-in-umbraco-bellissima</link><guid isPermaLink="true">https://mattbrailsford.dev/using-the-command-pattern-to-re-apply-changes-to-an-observable-model-in-umbraco-bellissima</guid><description>In Umbraco v14 one of the hot new approaches is observable models.
You can think of observables as a long lived promise that can resolve multiple...</description><pubDate>Tue, 30 Apr 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4Abfkx</github:discussionId><github:discussionNumber>28</github:discussionNumber></item><item><title>Enhancing Asynchronous Data Fetching in Umbraco v14 with Lit Async Directives</title><link>https://mattbrailsford.dev/enhancing-asynchronous-data-fetching-in-umbraco-v14-with-lit-async-directives</link><guid isPermaLink="true">https://mattbrailsford.dev/enhancing-asynchronous-data-fetching-in-umbraco-v14-with-lit-async-directives</guid><description>In Umbraco Commerce we have a number of interconnected models which pose a bit of a problem when it comes to rendering them for display in our...</description><pubDate>Thu, 25 Apr 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbeRL</github:discussionId><github:discussionNumber>20</github:discussionNumber></item><item><title>Reusing Umbraco Properties in Umbraco v14</title><link>https://mattbrailsford.dev/reusing-umbraco-properties-in-umbraco</link><guid isPermaLink="true">https://mattbrailsford.dev/reusing-umbraco-properties-in-umbraco</guid><description>When building user interfaces in Umbraco v14, occasionally there comes a time when you need to build a form based on some dynamically defined...</description><pubDate>Tue, 23 Apr 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4Abfks</github:discussionId><github:discussionNumber>27</github:discussionNumber></item><item><title>Creating your own UI extension points in Umbraco v14 - Part 6: Filters &amp; Conditions</title><link>https://mattbrailsford.dev/creating-your-own-ui-extension-points-in-umbraco-v14-part-6-filters-conditions</link><guid isPermaLink="true">https://mattbrailsford.dev/creating-your-own-ui-extension-points-in-umbraco-v14-part-6-filters-conditions</guid><description>So far in this series we have looked at creating a flexible and extendable “quick actions” feature.

In this post we’ll take a look at how we can...</description><pubDate>Thu, 18 Apr 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4Abfkq</github:discussionId><github:discussionNumber>26</github:discussionNumber></item><item><title>Creating your own UI extension points in Umbraco v14 - Part 5: Kinds</title><link>https://mattbrailsford.dev/creating-your-own-ui-extension-points-in-umbraco-v14-part-5-kinds</link><guid isPermaLink="true">https://mattbrailsford.dev/creating-your-own-ui-extension-points-in-umbraco-v14-part-5-kinds</guid><description>In the last posts in this series, we’ve looked at ways to allow developers to swap out behaviors and UI elements for our “quick action”...</description><pubDate>Tue, 16 Apr 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4Abfkj</github:discussionId><github:discussionNumber>25</github:discussionNumber></item><item><title>Creating your own UI extension points in Umbraco v14 - Part 4: Interchangeable Elements</title><link>https://mattbrailsford.dev/creating-your-own-ui-extension-points-in-umbraco-v14-part-4-interchangeable-elements</link><guid isPermaLink="true">https://mattbrailsford.dev/creating-your-own-ui-extension-points-in-umbraco-v14-part-4-interchangeable-elements</guid><description>In the last post we looked at how we can swap out our “quick action” button behavior whenever a button is clicked.

In this post we’ll take a look...</description><pubDate>Thu, 11 Apr 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4Abfka</github:discussionId><github:discussionNumber>24</github:discussionNumber></item><item><title>Creating your own UI extension points in Umbraco v14 - Part 3: Customizable APIs</title><link>https://mattbrailsford.dev/creating-your-own-ui-extension-points-in-umbraco-v14-part-3-customizable-apis</link><guid isPermaLink="true">https://mattbrailsford.dev/creating-your-own-ui-extension-points-in-umbraco-v14-part-3-customizable-apis</guid><description>In the last post in this series, we looked at componentizing the UI for our “quick action” elements.

In this post we’ll take a look at how we can...</description><pubDate>Tue, 09 Apr 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbfkU</github:discussionId><github:discussionNumber>23</github:discussionNumber></item><item><title>Creating your own UI extension points in Umbraco v14 - Part 2: Extension Slots</title><link>https://mattbrailsford.dev/creating-your-own-ui-extension-points-in-umbraco-v14-part-2-extension-slots</link><guid isPermaLink="true">https://mattbrailsford.dev/creating-your-own-ui-extension-points-in-umbraco-v14-part-2-extension-slots</guid><description>In our first post in this series, we looked at the basics of setting up our “quick actions” section for our UI.

In that post we manually fetched...</description><pubDate>Thu, 04 Apr 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbfkP</github:discussionId><github:discussionNumber>22</github:discussionNumber></item><item><title>Simplifying Imports with TypeScript Path Aliases in Umbraco v14</title><link>https://mattbrailsford.dev/simplifying-imports-with-typescript-path-aliases-in-umbraco-v14</link><guid isPermaLink="true">https://mattbrailsford.dev/simplifying-imports-with-typescript-path-aliases-in-umbraco-v14</guid><description>I recently attended the online Umbraco Manchester meetup where Rick Butterfield talked about Generating a TypeScript OpenAPI client from Umbraco’s...</description><pubDate>Tue, 02 Apr 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbeRG</github:discussionId><github:discussionNumber>19</github:discussionNumber></item><item><title>Creating your own UI extension points in Umbraco v14 - Part 1: The Basics</title><link>https://mattbrailsford.dev/creating-your-own-ui-extension-points-in-umbraco-v14-part-1-the-basics</link><guid isPermaLink="true">https://mattbrailsford.dev/creating-your-own-ui-extension-points-in-umbraco-v14-part-1-the-basics</guid><description>In this mini series I’ll take a look at a progressively more advanced example of creating your own UI extensions in Umbraco v14.
I’ll loosely base...</description><pubDate>Tue, 02 Apr 2024 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbfkL</github:discussionId><github:discussionNumber>21</github:discussionNumber></item><item><title>Back to the Front-end: Exploring the Future of the Umbraco UI (Part 10 - RxJS)</title><link>https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-10-rxjs</link><guid isPermaLink="true">https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-10-rxjs</guid><description>Next in this series of posts we take a look at what I think will likely be the thing that people struggle to get their head around the most (I know...</description><pubDate>Fri, 21 Oct 2022 00:00:10 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbeRA</github:discussionId><github:discussionNumber>18</github:discussionNumber></item><item><title>Back to the Front-end: Exploring the Future of the Umbraco UI (Part 9 - Context API)</title><link>https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-9-context-api</link><guid isPermaLink="true">https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-9-context-api</guid><description>Context API’s are an interesting new concept in the new backoffice UI, and really I think HQ themselves are still learning the best approach for...</description><pubDate>Fri, 21 Oct 2022 00:00:09 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbeQ5</github:discussionId><github:discussionNumber>17</github:discussionNumber></item><item><title>Back to the Front-end: Exploring the Future of the Umbraco UI (Part 8 - Lit)</title><link>https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-8-lit</link><guid isPermaLink="true">https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-8-lit</guid><description>When HQ announced that a new backoffice UI was on the cards, by far the biggest question on everyones mind was “what framework will it be built...</description><pubDate>Fri, 21 Oct 2022 00:00:08 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbeQz</github:discussionId><github:discussionNumber>16</github:discussionNumber></item><item><title>Back to the Front-end: Exploring the Future of the Umbraco UI (Part 7 - TypeScript)</title><link>https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-7-typescript</link><guid isPermaLink="true">https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-7-typescript</guid><description>The next thing we’ll be taking a look at is TypeScript.
This has been a bit of a divisive subject in Umbraco’s history as the community have tried...</description><pubDate>Fri, 21 Oct 2022 00:00:07 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbeQa</github:discussionId><github:discussionNumber>15</github:discussionNumber></item><item><title>Back to the Front-end: Exploring the Future of the Umbraco UI (Part 6 - ES Modules)</title><link>https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-6-es-modules</link><guid isPermaLink="true">https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-6-es-modules</guid><description>So in the last blog post we introduced Vite and briefly mentioned that it is based around ES Modules, however as this isn’t a concept most will be...</description><pubDate>Fri, 21 Oct 2022 00:00:06 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbeQS</github:discussionId><github:discussionNumber>14</github:discussionNumber></item><item><title>Back to the Front-end: Exploring the Future of the Umbraco UI (Part 5 - Vite)</title><link>https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-5-vite</link><guid isPermaLink="true">https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-5-vite</guid><description>So in our previous blog post about Web Components we mainly implemented them with vanilla JS, directly writing them in the browser. In reality...</description><pubDate>Fri, 21 Oct 2022 00:00:05 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbeQI</github:discussionId><github:discussionNumber>13</github:discussionNumber></item><item><title>Back to the Front-end: Exploring the Future of the Umbraco UI (Part 4 - Web Components)</title><link>https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-4-web-components</link><guid isPermaLink="true">https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-4-web-components</guid><description>If there is one fundamental cornerstone technology of the new back office UI, it really has to be Web Components. Everything from sections to...</description><pubDate>Fri, 21 Oct 2022 00:00:04 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbeP3</github:discussionId><github:discussionNumber>12</github:discussionNumber></item><item><title>Back to the Front-end: Exploring the Future of the Umbraco UI (Part 3 - Glossary)</title><link>https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-3-glossary</link><guid isPermaLink="true">https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-3-glossary</guid><description>Next up in this series, I think it would be worth creating a bit of a glossary of key tech / concepts that we are going to have to learn about in...</description><pubDate>Fri, 21 Oct 2022 00:00:03 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbePh</github:discussionId><github:discussionNumber>11</github:discussionNumber></item><item><title>Back to the Front-end: Exploring the Future of the Umbraco UI (Part 2 - Resources)</title><link>https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-2-resources</link><guid isPermaLink="true">https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-2-resources</guid><description>To start this series, I thought it would probably be a good idea to collate the various resources that are currently out there with information...</description><pubDate>Fri, 21 Oct 2022 00:00:02 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbePd</github:discussionId><github:discussionNumber>10</github:discussionNumber></item><item><title>Back to the Front-end: Exploring the Future of the Umbraco UI (Part 1 - Introduction)</title><link>https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-1-introduction</link><guid isPermaLink="true">https://mattbrailsford.dev/back-to-the-front-end-exploring-the-future-of-the-umbraco-ui-part-1-introduction</guid><description>For any Umbraco developer in the past few years there have been 2 major milestones on the horizon to prepare for. The first being the move to .NET...</description><pubDate>Fri, 21 Oct 2022 00:00:01 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbePX</github:discussionId><github:discussionNumber>9</github:discussionNumber></item><item><title>Is .NET Core the end of the Pragmatic Umbraco Developer?</title><link>https://mattbrailsford.dev/is-net-core-the-end-of-the-pragmatic-umbraco-developer</link><guid isPermaLink="true">https://mattbrailsford.dev/is-net-core-the-end-of-the-pragmatic-umbraco-developer</guid><description>For anyone who works with C# and .NET, you’ll know just how much ceremony even the simplest of tasks can often require. And whilst for business...</description><pubDate>Mon, 11 Oct 2021 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbeIx</github:discussionId><github:discussionNumber>8</github:discussionNumber></item><item><title>Multi-targeting Razor Views in Umbraco v8 and v9</title><link>https://mattbrailsford.dev/multi-targeting-razor-views-in-umbraco-v8-and-v9</link><guid isPermaLink="true">https://mattbrailsford.dev/multi-targeting-razor-views-in-umbraco-v8-and-v9</guid><description>As we at Vendr recently released our multi-targeted Release Candidate for Vendr v2 we’ve started to look at getting ready some of our add-on...</description><pubDate>Thu, 26 Aug 2021 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbeIs</github:discussionId><github:discussionNumber>7</github:discussionNumber></item><item><title>Automating Umbraco Package Build &amp; Deployments with NUKE Build, GitVersion and Azure DevOps</title><link>https://mattbrailsford.dev/automating-umbraco-package-build-deployments-with-nuke-build-gitversion-and-azure-devops</link><guid isPermaLink="true">https://mattbrailsford.dev/automating-umbraco-package-build-deployments-with-nuke-build-gitversion-and-azure-devops</guid><description>Earlier today, fellow Umbraco package dev Nathan Woulfe blogged about his struggles with getting versioned deployments working in Azure DevOps and...</description><pubDate>Thu, 12 Aug 2021 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbeIE</github:discussionId><github:discussionNumber>6</github:discussionNumber></item><item><title>Adding ILogger&lt;T&gt; support to Umbraco v8</title><link>https://mattbrailsford.dev/adding-ilogger-t-support-to-umbraco-v8</link><guid isPermaLink="true">https://mattbrailsford.dev/adding-ilogger-t-support-to-umbraco-v8</guid><description>As part of my recent works on getting Vendr.NET Core ready, and because we are using a multi-targeted approach, one of the bigger changes between...</description><pubDate>Wed, 04 Aug 2021 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbeH8</github:discussionId><github:discussionNumber>5</github:discussionNumber></item><item><title>Fixing analyzer problems in multi-targeted Umbraco packages</title><link>https://mattbrailsford.dev/fixing-analyzer-problems-in-multi-targeted-umbraco-packages</link><guid isPermaLink="true">https://mattbrailsford.dev/fixing-analyzer-problems-in-multi-targeted-umbraco-packages</guid><description>As many of you may know, I’ve recently been working on getting Vendr ready for Umbraco v9 which is based on .NET Core. As we blogged about, because...</description><pubDate>Wed, 28 Jul 2021 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbeH4</github:discussionId><github:discussionNumber>4</github:discussionNumber></item><item><title>Converting IContent to IPublishedContent in Umbraco v8+</title><link>https://mattbrailsford.dev/converting-icontent-to-ipublishedcontent-in-umbraco-v8</link><guid isPermaLink="true">https://mattbrailsford.dev/converting-icontent-to-ipublishedcontent-in-umbraco-v8</guid><description>Within Umbraco, content can be accessed in two possible ways, either via the ContentService which returns IContent or via the ContentCache which...</description><pubDate>Wed, 03 Feb 2021 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbeHq</github:discussionId><github:discussionNumber>3</github:discussionNumber></item><item><title>Auto-scaling Azures SignalR Service via Powershell Function</title><link>https://mattbrailsford.dev/auto-scaling-azures-signalr-service-via-powershell-function</link><guid isPermaLink="true">https://mattbrailsford.dev/auto-scaling-azures-signalr-service-via-powershell-function</guid><description>Introduction
I am currently working on a project for a rather large cycling event where the organizers wish to display a live race progress map on...</description><pubDate>Mon, 15 Jul 2019 00:00:00 GMT</pubDate><github:discussionId>D_kwDOMyW45M4AbeHf</github:discussionId><github:discussionNumber>2</github:discussionNumber></item></channel></rss>