How to disable the Umbraco V14 Getting Started Dashboard

With Umbraco V14 fast approaching its release date, I wanted to share a quick tip with the wider Umbraco community on how you can disable/remove the ‘Getting Started‘ dashboard from Umbraco that is typically used to push marketing material, such as training or upcoming events. Whilst this is OK for us developers and agencies whilst developing a solution for a client, we typically don’t want to show this information and marketing material to the end client that we deliver our solution to.

A screenshot of a default Umbraco V14 install showing the getting started dashboard built into Umbraco.

So with these couple of files placed inside your Umbraco V14 site, you are able to disable and remove this dashboard.

Bye bye dashboard 👋

First thing we need to do is to create a folder called App_Plugins at the root of our Umbraco site files and then in turn create a subdirectory called Tweaks.

The first file we need to create is our package-manifest.json with the following contents

{
    "$schema": "../../umbraco-package-schema.json",
    "name": "Disable Getting Started Dashboard",
    "id": "disable.getting-started-dashboard.package",
    "allowTelemetry": false,
    "version": "1.0.0",
    "extensions": [
        {
            "type": "entryPoint",
            "alias": "disable.getting-started-dashboard.entrypoint",
            "name": "Disable Getting Started Dashboard Entrypoint",
            "js": "/App_Plugins/Tweaks/disable.getting-started-dashboard.js"
        }
    ]
}

With this package manifest file we are then instructing Umbraco to use a Javascript file as an entrypoint, where we will write our code to find the registered dashboard and then remove it.

So let’s create our JavaScript file called disable.getting-started-dashboard.js inside the App_Plugins/Tweaks/ folder. With this Javascript file we can then use it to remove the dashboard using the extensionRegistry methods isRegistered to check if it has been registered already and exists and if so we can then use the method unregister to remove it.

export const onInit = (_host, extensionRegistry) => {
    if(extensionRegistry.isRegistered('Umb.Dashboard.UmbracoNews')){
        console.log('Remove the welcome/marketing dashboard from Umbraco backoffice');
        extensionRegistry.unregister('Umb.Dashboard.UmbracoNews');
    }
};

Tada it’s disappeared

And with that simple bit of magic, our party to trick to remove the marketing focused dashboard is complete.

A screenshot of Umbraco V14 after our code is applied to show the ‘Getting Started’ dashaboard has been removed.

So go forth and reuse this in your own solutions if you need to, or be inspired on how you can remove other extensions registered by Umbraco or other packages.

Update

On LinkedIn I received a helpful and friendly comment from Jacob one of the developers working on the new WebComponent based backoffice who said this:

Jacob Overgaard: Great tip, Warren. You may want to run the "exclude" function instead of "unregister" since you technically don't know if the system dashboard has been registered yet (or will be in the future). Exclude puts in a persistent filter and you don't need to check if the dashboard has already been registered

So let’s update our small piece of JavaScript to do exactly that:

export const onInit = (_host, extensionRegistry) => {
    console.log('Remove the welcome/marketing dashboard from Umbraco backoffice');
    extensionRegistry.exclude('Umb.Dashboard.UmbracoNews');
};

Thanks Jacob for the tip !

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.