From 9ed2f754039136736d097a5914126601068fe220 Mon Sep 17 00:00:00 2001 From: Ben Szymanski Date: Wed, 10 Sep 2025 14:49:29 -0500 Subject: [PATCH 01/10] Revamp documentation for 'Header Apps' in Umbraco, simplifying explanations, restructuring content, and providing updated examples using both manifest and TypeScript approaches. Added a new section on interactive header apps and included a custom example. --- .../.gitbook/assets/header-apps-custom.png | Bin 0 -> 92214 bytes .../extension-types/header-apps.md | 140 +++++++++++------- 2 files changed, 87 insertions(+), 53 deletions(-) create mode 100644 16/umbraco-cms/.gitbook/assets/header-apps-custom.png diff --git a/16/umbraco-cms/.gitbook/assets/header-apps-custom.png b/16/umbraco-cms/.gitbook/assets/header-apps-custom.png new file mode 100644 index 0000000000000000000000000000000000000000..85303a2099666e83d4ac78ffe083dd8b2f82d1da GIT binary patch literal 92214 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�^x+7MxQT)2}A$j4DGPfU9&m0 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 F{{lDPbM*iK literal 0 HcmV?d00001 diff --git a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md index 117c6dafac2..a4e1b34c332 100644 --- a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md +++ b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md @@ -1,32 +1,25 @@ --- -description: Example how to work with extension registry +description: Place single-purpose extensions in the top-level navigation bar, next to the user profile avatar. --- # Header Apps -{% hint style="warning" %} -This page is a work in progress and may undergo further revisions, updates, or amendments. The information contained herein is subject to change without notice. -{% endhint %} +Header apps appear next to the user profile and the global search icon in the top right of Umbraco’s Backoffice. Extension authors can create custom header apps to add globally accessible functionality to the Backoffice. -A header app appears next to the user profile and global search icon on the top-right corner of Umbraco's backoffice. - -In this article, you can find an example of an extension registry. This example details the creation of a Header App in two ways, similar to how the extension registry can be created: +

Header Apps

-1. [Using a manifest file](header-apps.md#button-header-app-with-manifest). -2. [Using the JavaScript/TypeScript file](header-apps.md#button-header-app-with-js-ts). +## Button Header App as a link -

Header Apps

+## Registering a header app using a manifest -## **Button Header App with Manifest** +Extension authors can create header apps that link to resource both inside and outside the backoffice. Header apps can be created using a manifest or using TypeScript. -Below you can find an example of how to setup a Header App using the manifest file. +To create a link-style header app, define a `headerApp` extension in the `umbraco-package.json` file. Be sure to include `meta.label` and `meta.icon` so that your header app appears when you reload the backoffice. -1. Follow the [Vite Package Setup](../../development-flow/vite-package-setup.md) to create a header app and name it "`header-app`" when using the guide. -2. Create a manifest file named `umbraco-package.json` at the root of the `header-app` folder. Here we define and configure our dashboard. -3. Add the following code to `umbraco-package.json`: +If `meta.href` is defined, the header app will function as a link. The link will open in a new tab if the href value is a full url (complete with a protocol scheme, ex: https://), otherwise it will open in the same tab. {% code title="umbraco-package.json" lineNumbers="true" %} -```typescript +```json { "$schema": "../../umbraco-package-schema.json", "name": "My Header App", @@ -37,7 +30,7 @@ Below you can find an example of how to setup a Header App using the manifest fi "alias": "My.HeaderApp", "name": "My Header App", "kind": "button", - + "element": "/App_Plugins/header-app/dist/header-app.js", "meta": { "label": "Hello Umbraco", "icon": "icon-hearts", @@ -49,24 +42,48 @@ Below you can find an example of how to setup a Header App using the manifest fi ``` {% endcode %} -* First we define the type which is a `headerApp`. Then we add a unique alias and a name to define the extension UI. -* Then we can define what kind of extension it is, where in this case we can use a pre-defined element called button. -* The button requires some metadata: an icon, label of the button (name of the button) and a link which opens once clicked. +### Registering the header app using TypeScript + +Header app extensions can also be registered using TypeScript. + +Create an object that implements the `UmbExtensionManifest` interface, then register the extension with the `umbExtensionsRegistry` service. + +{% code title="my-element.ts" lineNumbers="true" %} +```typescript +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; + +const manifest: UmbExtensionManifest = { + type: "headerApp", + alias: "My.HeaderApp.Documentation", + name: "My Header App Documentation", + kind: "button", + meta: { + label: "Hello Documentation", + icon: "icon-addressbook", + href: "https://docs.umbraco.com/" + } +}; + +umbExtensionsRegistry.register(manifest); +``` +{% endcode %} -4. In the `header-app` folder run `npm run build` and then run the project. Then in the backoffice you will see our new Header App extension with **heart icon**: +## Button Header App with deeper interactivity -

Header App in the Backoffice registered via Manifest File

+Extension authors can also create header apps that have more interactivity than a simple link. -## **Button Header App with JS/TS** +By creating a custom component, extension authors can control how the button renders itself and how it behaves when clicked. This allows header apps to control navigation, open modals, or perform other actions. -Below you can find an example of how to setup a Header App using the TypeScript file. +For example, this is how the current user header app is able to present a modal when clicked. -This is a continuation of the above steps from the **Button Header App with Manifest** example. We will register a new Header App directly from the .ts file. +

The current user modal is presented from a header app

-1. Add a reference to the .js file. Update the `umbraco-package.json` with the following: +In order for a header app to have some functionality, extension authors will need to define behavior by creating a JavaScript or TypeScript component. Once the component has been created, it will need to be registered in the header app's `element` property. +{% tabs %} +{% tab title="Package Manifest" %} {% code title="umbraco-package.json" lineNumbers="true" %} -```typescript +```json { "$schema": "../../umbraco-package-schema.json", "name": "My Header App", @@ -77,40 +94,57 @@ This is a continuation of the above steps from the **Button Header App with Mani "alias": "My.HeaderApp", "name": "My Header App", "kind": "button", - "element": "/App_Plugins/header-app/dist/header-app.js", - "meta": { - "label": "Hello Umbraco", - "icon": "icon-hearts", - "href": "https://umbraco.com/" - } + "element": "/App_Plugins/MyPackage/server-services-header-app.js" } ] } ``` {% endcode %} - -2. Replace the content of the `src/my-element.ts file` with the following: - -{% code title="my-element.ts" lineNumbers="true" %} +{% endtab %} +{% tab title="TypeScript" %} +{% code title="src/server-services-header.ts" lineNumbers="true" %} ```typescript -import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; +import { html, customElement } from "@umbraco-cms/backoffice/external/lit"; +import { UmbHeaderAppButtonElement } from "@umbraco-cms/backoffice/components"; +import { umbOpenModal, UMB_CONFIRM_MODAL } from "@umbraco-cms/backoffice/modal"; + +@customElement("server-services-header-app") +export class ServerServicesHeaderAppElement extends UmbHeaderAppButtonElement { + async #handleUserClick() { + umbOpenModal(this, UMB_CONFIRM_MODAL, { + data: { + headline: "Would you like to disable all Server Services?", + content: + "This action can be undone, but only after all services have stopped.", + color: "danger", + confirmLabel: "Disable all services", + }, + }) + .then(() => { + console.log("User has approved"); + }) + .catch(() => { + console.log("User has rejected"); + }); + } -const manifest: UmbExtensionManifest = { - type: "headerApp", - alias: "My.HeaderApp.Documentation", - name: "My Header App Documentation", - kind: "button", - meta: { - label: "Hello Documentation", - icon: "icon-addressbook", - href: "https://docs.umbraco.com/" + override render() { + return html` + + + + `; } -}; +} -umbExtensionsRegistry.register(manifest); +export default ServerServicesHeaderAppElement; ``` {% endcode %} - -3. In the `header-app` folder run `npm run build` and then run the project. Then in the backoffice you will see our new Header App extension with **address book** **icon**: - -

Header App in Backoffice registered via ts File

+*This example assumes that the extension author has transpiled the above TypeScript code into a JavaScript file. The name and location of this file should match the `element` property in the manifest.* +{% endtab %} +{% endtabs %} From 759fe295143939761bd43fe5ebbb220cc8fb5726 Mon Sep 17 00:00:00 2001 From: Ben Szymanski Date: Wed, 10 Sep 2025 15:00:27 -0500 Subject: [PATCH 02/10] Formatting --- .../extending-overview/extension-types/header-apps.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md index a4e1b34c332..42c3c584f47 100644 --- a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md +++ b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md @@ -4,7 +4,7 @@ description: Place single-purpose extensions in the top-level navigation bar, ne # Header Apps -Header apps appear next to the user profile and the global search icon in the top right of Umbraco’s Backoffice. Extension authors can create custom header apps to add globally accessible functionality to the Backoffice. +Header App extensions appear next to the user profile and the global search icon in the top right of Umbraco’s Backoffice. Extension authors can create custom header apps to add globally accessible functionality to the Backoffice.

Header Apps

@@ -103,6 +103,7 @@ In order for a header app to have some functionality, extension authors will nee {% endtab %} {% tab title="TypeScript" %} {% code title="src/server-services-header.ts" lineNumbers="true" %} +*This example assumes that the extension author has transpiled the above TypeScript code into a JavaScript file. The name and location of this file should match the `element` property in the manifest.* ```typescript import { html, customElement } from "@umbraco-cms/backoffice/external/lit"; import { UmbHeaderAppButtonElement } from "@umbraco-cms/backoffice/components"; @@ -145,6 +146,5 @@ export class ServerServicesHeaderAppElement extends UmbHeaderAppButtonElement { export default ServerServicesHeaderAppElement; ``` {% endcode %} -*This example assumes that the extension author has transpiled the above TypeScript code into a JavaScript file. The name and location of this file should match the `element` property in the manifest.* {% endtab %} {% endtabs %} From 89fc4fafb3974b26211d1bf71a43516ff8610217 Mon Sep 17 00:00:00 2001 From: Ben Szymanski Date: Wed, 10 Sep 2025 14:49:29 -0500 Subject: [PATCH 03/10] Revamp documentation for 'Header Apps' in Umbraco, simplifying explanations, restructuring content, and providing updated examples using both manifest and TypeScript approaches. Added a new section on interactive header apps and included a custom example. --- .../.gitbook/assets/header-apps-custom.png | Bin 0 -> 92214 bytes .../extension-types/header-apps.md | 143 +++++++++++------- 2 files changed, 89 insertions(+), 54 deletions(-) create mode 100644 16/umbraco-cms/.gitbook/assets/header-apps-custom.png diff --git a/16/umbraco-cms/.gitbook/assets/header-apps-custom.png b/16/umbraco-cms/.gitbook/assets/header-apps-custom.png new file mode 100644 index 0000000000000000000000000000000000000000..85303a2099666e83d4ac78ffe083dd8b2f82d1da GIT binary patch literal 92214 zcmZs@1yodB*eEj}!#*x*Gy{VF&jV+_~qMNP#@jy%Xg5A!9eQ zJ6|ds@e9&XV9!$q}+yK_RVq|AJ-4%Sn5b)ieTriA4aD-vr@ld9&X?wGk z9Mdqn7Pkqo0ACx_gd&QDpYkjI*FgD
@6qs%6)p2up%U=fH0< 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�^x+7MxQT)2}A$j4DGPfU9&m0 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 F{{lDPbM*iK literal 0 HcmV?d00001 diff --git a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md index 117c6dafac2..7174f6aa7b3 100644 --- a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md +++ b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md @@ -1,32 +1,27 @@ --- -description: Example how to work with extension registry +description: Place single-purpose extensions in the top-level navigation bar, next to the user profile avatar. --- # Header Apps -{% hint style="warning" %} -This page is a work in progress and may undergo further revisions, updates, or amendments. The information contained herein is subject to change without notice. -{% endhint %} - -A header app appears next to the user profile and global search icon on the top-right corner of Umbraco's backoffice. - -In this article, you can find an example of an extension registry. This example details the creation of a Header App in two ways, similar to how the extension registry can be created: - -1. [Using a manifest file](header-apps.md#button-header-app-with-manifest). -2. [Using the JavaScript/TypeScript file](header-apps.md#button-header-app-with-js-ts). +Header App extensions appear next to the user profile and the global search icon in the top right of Umbraco’s Backoffice. Extension authors can create custom header apps to add globally accessible functionality to the Backoffice.

Header Apps

-## **Button Header App with Manifest** +## Button Header App as a link +## Registering a header app using a manifest +Extension authors can create header apps that link to resource both inside and outside the backoffice. Header apps can be created using a manifest or using TypeScript. + +To create a link-style header app, define a `headerApp` extension in the `umbraco-package.json` file. Be sure to include `meta.label` and `meta.icon` so that your header app appears when you reload the backoffice. -Below you can find an example of how to setup a Header App using the manifest file. +If `meta.href` is defined, the header app will function as a link. The link will open in a new tab if the href value is a full url (complete with a protocol scheme, ex: https://), otherwise it will open in the same tab. -1. Follow the [Vite Package Setup](../../development-flow/vite-package-setup.md) to create a header app and name it "`header-app`" when using the guide. -2. Create a manifest file named `umbraco-package.json` at the root of the `header-app` folder. Here we define and configure our dashboard. -3. Add the following code to `umbraco-package.json`: +Header Apps can also be created using TypeScript. Examples of both approaches are shown below. +{% tabs %} +{% tab title="Using the Package Manifest" %} {% code title="umbraco-package.json" lineNumbers="true" %} -```typescript +```json { "$schema": "../../umbraco-package-schema.json", "name": "My Header App", @@ -37,7 +32,7 @@ Below you can find an example of how to setup a Header App using the manifest fi "alias": "My.HeaderApp", "name": "My Header App", "kind": "button", - + "element": "/App_Plugins/header-app/dist/header-app.js", "meta": { "label": "Hello Umbraco", "icon": "icon-hearts", @@ -48,25 +43,48 @@ Below you can find an example of how to setup a Header App using the manifest fi } ``` {% endcode %} +{% endtab %} +{% tab title="Using TypeScript" %} +{% code title="my-element.ts" lineNumbers="true" %} +Create an object that implements the `UmbExtensionManifest` interface, then register the extension with the `umbExtensionsRegistry` service. + +```typescript +import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; + +const manifest: UmbExtensionManifest = { + type: "headerApp", + alias: "My.HeaderApp.Documentation", + name: "My Header App Documentation", + kind: "button", + meta: { + label: "Hello Documentation", + icon: "icon-addressbook", + href: "https://docs.umbraco.com/" + } +}; -* First we define the type which is a `headerApp`. Then we add a unique alias and a name to define the extension UI. -* Then we can define what kind of extension it is, where in this case we can use a pre-defined element called button. -* The button requires some metadata: an icon, label of the button (name of the button) and a link which opens once clicked. +umbExtensionsRegistry.register(manifest); +``` +{% endcode %} +{% endtab %} +{% endtabs %} -4. In the `header-app` folder run `npm run build` and then run the project. Then in the backoffice you will see our new Header App extension with **heart icon**: +## Button Header App with deeper interactivity -

Header App in the Backoffice registered via Manifest File

+Extension authors can also create header apps that have more interactivity than a simple link. -## **Button Header App with JS/TS** +By creating a custom component, extension authors can control how the button renders itself and how it behaves when clicked. This allows header apps to control navigation, open modals, or perform other actions. -Below you can find an example of how to setup a Header App using the TypeScript file. +For example, this is how the current user header app is able to present a modal when clicked. -This is a continuation of the above steps from the **Button Header App with Manifest** example. We will register a new Header App directly from the .ts file. +

The current user modal is presented from a header app

-1. Add a reference to the .js file. Update the `umbraco-package.json` with the following: +In order for a header app to have some functionality, extension authors will need to define behavior by creating a JavaScript or TypeScript component. Once the component has been created, it will need to be registered in the header app's `element` property. +{% tabs %} +{% tab title="Package Manifest" %} {% code title="umbraco-package.json" lineNumbers="true" %} -```typescript +```json { "$schema": "../../umbraco-package-schema.json", "name": "My Header App", @@ -77,40 +95,57 @@ This is a continuation of the above steps from the **Button Header App with Mani "alias": "My.HeaderApp", "name": "My Header App", "kind": "button", - "element": "/App_Plugins/header-app/dist/header-app.js", - "meta": { - "label": "Hello Umbraco", - "icon": "icon-hearts", - "href": "https://umbraco.com/" - } + "element": "/App_Plugins/MyPackage/server-services-header-app.js" } ] } ``` {% endcode %} - -2. Replace the content of the `src/my-element.ts file` with the following: - -{% code title="my-element.ts" lineNumbers="true" %} +{% endtab %} +{% tab title="TypeScript" %} +{% code title="src/server-services-header.ts" lineNumbers="true" %} +*This example assumes that the extension author has transpiled the above TypeScript code into a JavaScript file. The name and location of this file should match the `element` property in the manifest.* ```typescript -import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry'; +import { html, customElement } from "@umbraco-cms/backoffice/external/lit"; +import { UmbHeaderAppButtonElement } from "@umbraco-cms/backoffice/components"; +import { umbOpenModal, UMB_CONFIRM_MODAL } from "@umbraco-cms/backoffice/modal"; + +@customElement("server-services-header-app") +export class ServerServicesHeaderAppElement extends UmbHeaderAppButtonElement { + async #handleUserClick() { + umbOpenModal(this, UMB_CONFIRM_MODAL, { + data: { + headline: "Would you like to disable all Server Services?", + content: + "This action can be undone, but only after all services have stopped.", + color: "danger", + confirmLabel: "Disable all services", + }, + }) + .then(() => { + console.log("User has approved"); + }) + .catch(() => { + console.log("User has rejected"); + }); + } -const manifest: UmbExtensionManifest = { - type: "headerApp", - alias: "My.HeaderApp.Documentation", - name: "My Header App Documentation", - kind: "button", - meta: { - label: "Hello Documentation", - icon: "icon-addressbook", - href: "https://docs.umbraco.com/" + override render() { + return html` + + + + `; } -}; +} -umbExtensionsRegistry.register(manifest); +export default ServerServicesHeaderAppElement; ``` {% endcode %} - -3. In the `header-app` folder run `npm run build` and then run the project. Then in the backoffice you will see our new Header App extension with **address book** **icon**: - -

Header App in Backoffice registered via ts File

+{% endtab %} +{% endtabs %} From cd104ab743943c7b42372f3423a7c84f2b09978a Mon Sep 17 00:00:00 2001 From: Ben Szymanski Date: Wed, 10 Sep 2025 15:09:30 -0500 Subject: [PATCH 04/10] Formatting --- .../extension-types/header-apps.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md index 7174f6aa7b3..72099cd30c5 100644 --- a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md +++ b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md @@ -8,8 +8,7 @@ Header App extensions appear next to the user profile and the global search icon

Header Apps

-## Button Header App as a link -## Registering a header app using a manifest +## Button Header Apps as a link Extension authors can create header apps that link to resource both inside and outside the backoffice. Header apps can be created using a manifest or using TypeScript. To create a link-style header app, define a `headerApp` extension in the `umbraco-package.json` file. Be sure to include `meta.label` and `meta.icon` so that your header app appears when you reload the backoffice. @@ -20,7 +19,7 @@ Header Apps can also be created using TypeScript. Examples of both approaches ar {% tabs %} {% tab title="Using the Package Manifest" %} -{% code title="umbraco-package.json" lineNumbers="true" %} +{% code title="umbraco-package.json" %} ```json { "$schema": "../../umbraco-package-schema.json", @@ -45,7 +44,7 @@ Header Apps can also be created using TypeScript. Examples of both approaches ar {% endcode %} {% endtab %} {% tab title="Using TypeScript" %} -{% code title="my-element.ts" lineNumbers="true" %} +{% code title="my-element.ts" %} Create an object that implements the `UmbExtensionManifest` interface, then register the extension with the `umbExtensionsRegistry` service. ```typescript @@ -69,7 +68,7 @@ umbExtensionsRegistry.register(manifest); {% endtab %} {% endtabs %} -## Button Header App with deeper interactivity +## Button Header Apps with deeper interactivity Extension authors can also create header apps that have more interactivity than a simple link. @@ -83,7 +82,7 @@ In order for a header app to have some functionality, extension authors will nee {% tabs %} {% tab title="Package Manifest" %} -{% code title="umbraco-package.json" lineNumbers="true" %} +{% code title="umbraco-package.json" %} ```json { "$schema": "../../umbraco-package-schema.json", @@ -103,8 +102,8 @@ In order for a header app to have some functionality, extension authors will nee {% endcode %} {% endtab %} {% tab title="TypeScript" %} -{% code title="src/server-services-header.ts" lineNumbers="true" %} *This example assumes that the extension author has transpiled the above TypeScript code into a JavaScript file. The name and location of this file should match the `element` property in the manifest.* +{% code title="src/server-services-header.ts" lineNumbers="true" %} ```typescript import { html, customElement } from "@umbraco-cms/backoffice/external/lit"; import { UmbHeaderAppButtonElement } from "@umbraco-cms/backoffice/components"; From 10844f014a67e659d4d274d4bb9feac8220911a6 Mon Sep 17 00:00:00 2001 From: Ben Szymanski Date: Wed, 10 Sep 2025 15:15:42 -0500 Subject: [PATCH 05/10] Linting. Word clarity. --- .../extending-overview/extension-types/header-apps.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md index 72099cd30c5..d217e26fc3c 100644 --- a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md +++ b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md @@ -13,7 +13,7 @@ Extension authors can create header apps that link to resource both inside and o To create a link-style header app, define a `headerApp` extension in the `umbraco-package.json` file. Be sure to include `meta.label` and `meta.icon` so that your header app appears when you reload the backoffice. -If `meta.href` is defined, the header app will function as a link. The link will open in a new tab if the href value is a full url (complete with a protocol scheme, ex: https://), otherwise it will open in the same tab. +If `meta.href` is defined, the header app will function as a link. Links will open in the same tab, unless the href property includes a protocol scheme (ex: `https://`). Header Apps can also be created using TypeScript. Examples of both approaches are shown below. @@ -70,7 +70,7 @@ umbExtensionsRegistry.register(manifest); ## Button Header Apps with deeper interactivity -Extension authors can also create header apps that have more interactivity than a simple link. +Extension authors can also create header apps that have more interactivity than a link. By creating a custom component, extension authors can control how the button renders itself and how it behaves when clicked. This allows header apps to control navigation, open modals, or perform other actions. @@ -102,7 +102,7 @@ In order for a header app to have some functionality, extension authors will nee {% endcode %} {% endtab %} {% tab title="TypeScript" %} -*This example assumes that the extension author has transpiled the above TypeScript code into a JavaScript file. The name and location of this file should match the `element` property in the manifest.* +This example assumes that the extension author has transpiled the above TypeScript code into a JavaScript file. The name and location of the transpiled file should match the `element` property in the package manifest. {% code title="src/server-services-header.ts" lineNumbers="true" %} ```typescript import { html, customElement } from "@umbraco-cms/backoffice/external/lit"; From 2f5dad7fac1858f2eae206c2e980935eea647b01 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 25 Sep 2025 13:54:35 +0200 Subject: [PATCH 06/10] remove element --- .../extending-overview/extension-types/header-apps.md | 1 - 1 file changed, 1 deletion(-) diff --git a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md index d217e26fc3c..6a36fa9d1b7 100644 --- a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md +++ b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md @@ -31,7 +31,6 @@ Header Apps can also be created using TypeScript. Examples of both approaches ar "alias": "My.HeaderApp", "name": "My Header App", "kind": "button", - "element": "/App_Plugins/header-app/dist/header-app.js", "meta": { "label": "Hello Umbraco", "icon": "icon-hearts", From 300bb26943be3e4a82d081c39f6dbbd76a04a491 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 25 Sep 2025 13:55:00 +0200 Subject: [PATCH 07/10] Currently links always open in the same tab --- .../extending-overview/extension-types/header-apps.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md index 6a36fa9d1b7..5be41d08754 100644 --- a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md +++ b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md @@ -13,7 +13,7 @@ Extension authors can create header apps that link to resource both inside and o To create a link-style header app, define a `headerApp` extension in the `umbraco-package.json` file. Be sure to include `meta.label` and `meta.icon` so that your header app appears when you reload the backoffice. -If `meta.href` is defined, the header app will function as a link. Links will open in the same tab, unless the href property includes a protocol scheme (ex: `https://`). +If `meta.href` is defined, the header app will function as a link. Links will open in the same tab. Header Apps can also be created using TypeScript. Examples of both approaches are shown below. From c3fcdf4b6736b2e652edb1e82958c66d9acb4957 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 25 Sep 2025 14:07:27 +0200 Subject: [PATCH 08/10] Update header app name in manifest example Changed the 'name' property in the header app manifest example from 'My Header App Documentation' to 'My Documentation Header App' for improved clarity and consistency. --- .../extending-overview/extension-types/header-apps.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md index 5be41d08754..0731fbd45e5 100644 --- a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md +++ b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md @@ -52,7 +52,7 @@ import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registr const manifest: UmbExtensionManifest = { type: "headerApp", alias: "My.HeaderApp.Documentation", - name: "My Header App Documentation", + name: "My Documentation Header App", kind: "button", meta: { label: "Hello Documentation", From f9a81ef88655a7f3b82b162dd9f98201fa03dea5 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 25 Sep 2025 14:09:29 +0200 Subject: [PATCH 09/10] Update header app package and extension names in docs Replaces 'My Header App' with 'My Package' in JSON examples and updates the alias and name fields for clarity in the header app extension documentation. --- .../extending-overview/extension-types/header-apps.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md index 0731fbd45e5..c66573049dd 100644 --- a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md +++ b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md @@ -23,7 +23,7 @@ Header Apps can also be created using TypeScript. Examples of both approaches ar ```json { "$schema": "../../umbraco-package-schema.json", - "name": "My Header App", + "name": "My Package", "version": "0.1.0", "extensions": [ { @@ -85,13 +85,13 @@ In order for a header app to have some functionality, extension authors will nee ```json { "$schema": "../../umbraco-package-schema.json", - "name": "My Header App", + "name": "My Package", "version": "0.1.0", "extensions": [ { "type": "headerApp", - "alias": "My.HeaderApp", - "name": "My Header App", + "alias": "My.HeaderApp.ServerServices", + "name": "My Server Services Header App", "kind": "button", "element": "/App_Plugins/MyPackage/server-services-header-app.js" } From 62c35c71f3ed87db3099976c2b4436b6dc8e6350 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Thu, 25 Sep 2025 14:19:02 +0200 Subject: [PATCH 10/10] Update header-apps.md --- .../extending-overview/extension-types/header-apps.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md index c66573049dd..bed73e38e45 100644 --- a/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md +++ b/16/umbraco-cms/customizing/extending-overview/extension-types/header-apps.md @@ -108,8 +108,8 @@ import { html, customElement } from "@umbraco-cms/backoffice/external/lit"; import { UmbHeaderAppButtonElement } from "@umbraco-cms/backoffice/components"; import { umbOpenModal, UMB_CONFIRM_MODAL } from "@umbraco-cms/backoffice/modal"; -@customElement("server-services-header-app") -export class ServerServicesHeaderAppElement extends UmbHeaderAppButtonElement { +@customElement("my-server-services-header-app") +export class MyServerServicesHeaderAppElement extends UmbHeaderAppButtonElement { async #handleUserClick() { umbOpenModal(this, UMB_CONFIRM_MODAL, { data: { @@ -142,7 +142,7 @@ export class ServerServicesHeaderAppElement extends UmbHeaderAppButtonElement { } } -export default ServerServicesHeaderAppElement; +{ MyServerServicesHeaderAppElement as element }; ``` {% endcode %} {% endtab %}