Umbraco Commerce Technical Team Lead @ Umbraco HQ | Co-founder of CODECABIN | Creator of UMB.FYI
Matt Brailsford details the development of a Bluesky tips bot for UMB.FYI, which monitors mentions and responds with thank-you messages. He discusses the setup process, opting for a polling method due to bandwidth concerns, and outlines the bot's architecture, including the implementation of a Bluesky client for handling notifications.
With the rise of Bluesky users and the Umbraco community, a tips bot has been introduced to facilitate content suggestions for the UMB.FYI newsletter. Users can easily submit tips by tagging the UMB.FYI account on social media. The initiative aims to keep the community informed across various platforms.
In the latest update to the UMB.FYI newsletter, Matt Brailsford introduces new features including profile pages for content creators, tag pages for article categorization, and topic pages that group related tags. These enhancements encourage community contributions and aim to improve user engagement with the newsletter's content.
Matt Brailsford introduces a GitHub Discussions Blog loader, leveraging Astro’s new Content Layer API. This loader simplifies data fetching for blog posts, allowing easy installation via npm. He highlights improvements like multi-author support, category organization, and integration with Astro's markdown processor, encouraging users to explore this setup.
Matt Brailsford explores using GitHub Discussions as a blogging platform, seeking an alternative to dev.to due to its increasing spam. He details setting up a repository for blog posts, configuring categories and labels, and utilizing Astro for site creation. Matt highlights features like Markdown support, automated deployments, and comment integration via Giscus.
Matt Brailsford outlines the process for deploying Umbraco v14 extension type definitions as NPM packages, ensuring type checking for users. Key steps include consolidating types, generating type definitions using TypeScript, rolling them up with API Extractor, packaging the definitions, and defining an import map for proper resolution.
Umbraco v12 has introduced headless core products with expansion functionality, allowing selective expansion of nested entity reference objects. However, versioning REST APIs becomes problematic when expansion is taken into account, and Matt Brailsford suggests a date-based versioning strategy.
In Umbraco v14, observable models are introduced to provide reactivity for components displaying up-to-date data. To address potential issues with handling user input, Matt Brailsford suggests using the command pattern to encapsulate modifications, store them, and reapply them when needed. This approach ensures user modifications are maintained if the observed model changes.
Umbraco Commerce uses interconnected models for backoffice display, requiring efficient data fetching. Lit's async directives enable easy request handling, improving UI performance and user experience.
In Umbraco v14, when building custom editor UI it can be useful to reuse the existing property editors that Umbraco comes with. In this article Matt Brailsford discusses how to do just that.
This post discusses controlling the display of "quick actions" in an application using filtering and conditions. Filtering is used to display items based on static attributes, while conditions control display based on dynamic runtime conditions. Custom conditions can also be implemented.
This post discusses how to enable the replacement of elements with a custom user controls in Umbraco v14. It covers updating the manifest definition, implementing the required interface, and overriding the default element with a custom component. Developers can now replace the default button element and update the manifest to use the custom component instead.
In this post, we explore the use of "kinds" to create reusable manifest definitions, reducing repetition in manifest definitions by preconfiguring settings. Kinds are registered with the extensions registry and used to prepopulate properties in manifests.
The post discusses enabling developers to override default button behavior in Umbraco v14 by updating manifest definitions, UI components, and API implementations, allowing complete customization of button behavior. Next, it hints at exploring swapping out the button component entirely in the next post.
Matt Brailsford discusses componentizing quick actions by creating a web component with a manifest property, registering the component globally, and using umb-extension-slot to render quick actions. Next, he plans to explore customizing the buttons' click handler.
Matt Brailsford suggests using TypeScript path aliases to simplify import paths. This blog post explains how to set up and integrate path aliases in TypeScript and Vite for Umbraco package developers.
Matt Brailsford discusses creating UI extensions in Umbraco v14, focusing on "Quick Action" buttons. He defines a manifest interfaces and implementations, register them, and renders the quick action buttons. Future posts will explore further customization options.