My first Umbraco Bellissima Package

Just a super quick blog post to share that I have created my first Umbraco V14 Package for the new Umbraco backoffice codenamed ‘Belissma’.

Umbraco V14 has a totally different architecture when it comes to extending the backoffice, as its been architected on using Web Standards by using WebComponents. YAY for using the Web platform and not getting locked into a specific Javascript framework anymore !

So what did I build?

I present to you a simple package that allows you to view a specific content nodes entry in Examine, to see what values and raw data it has stored for an Umbraco node. This is useful if you use Examine a lot along with customising the index or adding extra fields, you are then able to easily peek to see what’s stored.

A screenshot of the Umbraco Package 'Examine Peek'
A screenshot of the Umbraco Package ‘Examine Peek’

So Examine Peek was born an Umbraco V14 Entity Action that open a dialog from the content node Actions menu or the right click menu items from the content tree.

I hope to find some time to create a video rebuilding it from scratch to help teach you some of my findings I learnt along the way. So watch this space 👀

Where can I get it?

You can download and install the package into your Umbraco V14 beta001 site by installing the package from Nuget or if your curious you can take a look through the source code on GitHub.

dotnet add package ExaminePeek --version 1.0.0-beta001

Umbraco Community Runtime Validators

This is a short but sweet blog post, to let you know about the Umbraco Community Runtime Validators package is out and available for you to use.

This little package came about working with the lovely lot over at Gibe Digital and I suggested that perhaps the code for a specific client project be reused and turned into this project where the wider Umbraco community can benefit from it.

So a BIG thanks to the Gibe development team for peer reviewing the work and collaborating with me on it.

What is an Umbraco Runtime Validator?

This is some code that can run to determine if the Umbraco environment is configured correctly, typically for a Production environment and prevent it from booting and giving you a verbose reason as to why. This makes sure you have all the optimal settings needed to run your Umbraco site in a production environment.

Umbraco ships with the following Runtime Validators to help make your site ready and optimal for use in production.

  • JITOptimizer
    The application is built and published in Release mode (with JIT optimization enabled)
  • ModelsBuilderMode
    The config value Umbraco:CMS:ModelsBuilder:ModelsMode is set to Nothing
  • RuntimeMinfication
    The config value Umbraco:CMS:RuntimeMinification:CacheBuster is set to a fixed cache buster like Version or AppDomain
  • UmbracoApplicationUrl
    The config value Umbraco:CMS:WebRouting:UmbracoApplicationUrl is configured
  • UseHttps
    The config value Umbraco:CMS:Global:UseHttps is set to true

To learn more about Runtime Validators you can read the official documentation on what they are and how to write your own Umbraco Runtime Validator.

What’s in Umbraco Community Runtime Validators ?

This first release out to the wild, focuses on ensuring your production environment is configured correctly if you are hosting your Umbraco site in Azure in a load balanced environment and ships these Runtime Validators

Alright already… just tell me how to set it up

Well you can find the package over on Umbraco Marketplace with a lovely readme on how to get setup and running.

But the quick TL:DR version is

dotnet add package Umbraco.Community.RuntimeValidators

Create an Umbraco Composer that updates the RuntimeModeValidators collection

using Umbraco.Cms.Core.Composing;
using Umbraco.Cms.Core.DependencyInjection;
using Umbraco.Community.RuntimeValidators.Validators.AzureLoadBalancing;
using Umbraco.Extensions;

namespace YourProject.Website

public class RuntimeValidatorsComposer : IComposer
{
	public void Compose(IUmbracoBuilder builder)
	{
		builder.RuntimeModeValidators()
			.Add<TempFilesValidator>()
			.Add<HostSyncValidator>()
			.Add<ExamineValidator>();
	}
}

Got an idea for a Runtime Validator

Then please submit an issue on the GitHub repository with your super duper fab idea and lets get the conversation going and have a useful community repo of Runtime Validators to make all our Umbraco sites that much better !