Umbraco MVP working at Ecreo, creator of packages like Full Text Search and Impersonator
Søren Kottal discusses quantity queries in CSS, which allow styling based on the number of child elements within a container using the :has selector combined with :nth-child(). This technique enhances layout flexibility without JavaScript. Additionally, the tailwindcss-quantity-queries plugin facilitates these queries in Tailwind CSS, promoting dynamic design.
In his discussion, Søren Kottal emphasizes the importance of a well-designed 404 page that enhances user experience by providing helpful search results. By integrating Full Text Search with the 404 page, users are directed to relevant content instead of encountering dead ends. The implementation details and code examples are provided for practical application.
Søren Kottal discusses his experience upgrading to TailwindCSS v4, highlighting key features like CSS-configurable values, automated content scanning, and the deprecation of safelisting classes. He addresses challenges such as UTF-8 BOM encoding and emphasize new methods for custom utilities and simplified plugin integration, ultimately finding the upgrade process straightforward.
Umbraco Cloud, hosted on Azure, offers quick project setup and automatic deployments for Git commits, primarily for the master branch. However, it triggers deployments for all branches, causing delays. Users can customize this behavior using Kudu by modifying the post-receive Git hook to deploy only from the master branch, enhancing efficiency.
In upgrading to Umbraco 15, users of ModelsBuilder may encounter issues due to the removal of the IPublishedSnapshotAccessor interface, causing model build failures. Søren Kottal suggests reintroducing the interface by adding a specific code snippet to .generated.cs files, allowing for successful model rebuilding and compatibility with Umbraco 15.
In his article, Søren Kottal highlights the challenges of maintaining a Starter Kit for Umbraco projects, including cumbersome manual processes and conflicts with deployment tools. To address these issues, he introduces the Schemex Exporter and Importer packages, which automate schema generation and facilitate project setup, streamlining the development process.
In Umbraco 14, package registration has shifted to a frontend-only approach, requiring a static umbraco-package.json file in the App_Plugins folder. For backend-only packages, developers can use the new IManifestReader interface to register packages in C#. Additionally, package manifests can now contribute to telemetry data for better insights.
Søren Kottal discusses the challenge of integrating third-party images on websites and the lack of control over their dimensions, formats, and availability. They highlight their solution using Umbraco and ImageSharp to gain control over third-party images by creating a provider for ImageSharp to download and manipulate external images. They offer the provider on NuGet and the Umbraco Marketplace for easy use.
Umbraco's Full Text Search version 4.0.0 brings bugfixes, performance improvements, and new languages. Notable features include appsettings.json configuration, HttpClient rendering, non-content search, and caching notifications.