Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
139 changes: 117 additions & 22 deletions 14/umbraco-cms/extending/dashboards.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,41 @@ description: >-

# Dashboard

{% hint style="warning" %}
This article is a work in progress and may undergo further revisions, updates, or amendments. The information contained herein is subject to change without notice.
{% endhint %}
Each section of the Umbraco backoffice has its own set of default dashboards. Your own custom sections can show dashboards, and you can create your own custom dashboards for existing sections.

<figure>
<img alt="The Getting Started dashboard in Umbraco" src="./images/getting-started-dashboard.jpg" />
<figcaption>The Getting Started dashboard in Umbraco</figcaption>
</figure>

The dashboard area of Umbraco is used to display an "editor" for the selected item in the tree. If no item is selected, then the default set of section dashboards is shown in the dashboard area.

Notice that [Section Views](./section-trees/sections/section-view.md) is another similar approach to append information to the root of a Section. Section views are thought mainly to be used as Secondary pages. These two approaches should ideally not be combined.

## Default Dashboards in Umbraco

The default dashboards in Umbraco are the ones that are displayed when you first enter a section in the backoffice. These dashboards are used to display information and functionality that is relevant to the section you are in.

The default sections in Umbraco are:

| Alias | Name |
| --- | --- |
| Umb.Section.Content | Content |
| Umb.Section.Media | Media |
| Umb.Section.Settings | Settings |
| Umb.Section.Members | Members |
| Umb.Section.Users | Users |
| Umb.Section.Translation | Dictionary |

Each section of the Umbraco backoffice has its own set of default dashboards.
Here is a table of the default dashboards in Umbraco and the sections they are used including their aliases:

The dashboard area of Umbraco is used to display an 'editor' for the selected item in the tree. If no item is selected, for example when the section is first loaded in the browser, then the default set of section dashboards are displayed in the dashboard area, arranged over multiple tabs.
| Alias | Section | Weight | Description |
| --- | --- | --- | --- |
| Umb.Dashboard.UmbracoNews | Umb.Section.Content | 20 | The Getting Started dashboard users see when they first enter Umbraco. Contains the latest news of Umbraco including outbound links to resources |
| Umb.Dashboard.RedirectManagement | Umb.Section.Content | 10 | Contains a list of active URL redirects |
| Umb.Dashboard.SettingsWelcome | Umb.Section.Settings | 500 | Contains a set of boxes with links to appropriate resources |

The dashboard area of Umbraco is used to display information for a Section. Notice that Section Views is another similar approach to append information to the root of a Section. Section views are thought mainly used as Secondary pages. These two approaches should ideally not be combined.
Even though these dashboards are useful, you might want to create your own custom dashboard to display specific information or functionality.

You can try and [create a custom dashboard](../../tutorials/creating-a-custom-dashboard/) as a way on getting started on this topic.

Expand All @@ -23,26 +49,95 @@ This section dives into the Dashboard Extension Manifest, shows how to register

### Example Extension Manifest

Insert this as an entry of extensions in your `Umbraco-package.json` or register it via JavaScript.
{% hint style="info" %}
You can read more about manifests in the tutorial [Creating Your First Extension](../tutorials/creating-your-first-extension.md).
{% endhint %}

Insert this as an entry in the `extensions` list in a `umbraco-package.json` file.

```jsx
{% code title="~/App_Plugins/WelcomeDashboard/umbraco-package.json" lineNumbers="true" %}

```json
{
"type": "dashboard",
"alias": "my.welcome.dashboard",
"name": "My Welcome Dashboard",
"element": "/App_Plugins/WelcomeDashboard/dashboard.js",
"elementName": "my-welcome-dashboard",
"weight": -1,
"meta": {
"label": "Welcome Dashboard",
"pathname": "welcome-dashboard"
},
"conditions": [
"type": "dashboard",
"alias": "my.welcome.dashboard",
"name": "My Welcome Dashboard",
"element": "/App_Plugins/WelcomeDashboard/dashboard.js",
"weight": -1,
"meta": {
"label": "Welcome Dashboard",
"pathname": "welcome-dashboard"
}
}
```

{% endcode %}

This will register a dashboard with the alias `my.welcome.dashboard` and the name `My Welcome Dashboard`. The dashboard will be loaded from the file `/App_Plugins/WelcomeDashboard/dashboard.js`. The dashboard will be displayed with the label `Welcome Dashboard` and the URL `/welcome-dashboard` on *all sections*, e.g. `/section/content/dashboard/welcome-dashboard`.

### Conditions

You can specify conditions for when the dashboard should be displayed. This is done by adding a `conditions` property to the manifest. Ideally, we would like the dashboard to be shown only in a specific section. This can be done by specifying the condition called `Umb.Condition.SectionAlias` and providing the [alias of the section](#default-dashboards-in-umbraco) you want the dashboard to be displayed on:

```json
"conditions": [
{
"alias": "Umb.Condition.SectionAlias",
"match": "Umb.Section.Content"
"alias": "Umb.Condition.SectionAlias",
"match": "Umb.Section.Content"
}
]
]
```

This will make the dashboard only be displayed on the Content section.

{% hint style="info" %}
You can read more about [Extension Conditions](./backoffice-setup/extension-registry/extension-conditions.md) in the documentation.
{% endhint %}

### Properties

The dashboard manifest can contain the following properties:

| Property | Type | Description |
| --- | --- | --- |
| type | string | The type of extension, should be `dashboard` |
| alias | string | A unique alias for the dashboard extension |
| name | string | The name of the dashboard extension |
| element | string | The path to the JavaScript file that exports the dashboard |
| elementName | string | (Optional) The name of the Web Component that contains the dashboard (only if not a default export) |
| weight | number | (Optional) The weight of the dashboard, lower numbers are displayed first |
| meta | object | Additional metadata for the dashboard <table><thead><tr><th>Property</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td>Label</td><td>string</td><td>The label shown to the user</td></tr><tr><td>pathname</td><td>string</td><td>The routable URL pathname</td></tr></tbody></table> |
| conditions | array | (Optional) [Conditions](./backoffice-setup/extension-registry/extension-conditions.md) for when the dashboard should be displayed |

### Full Example

{% code title="~/App_Plugins/WelcomeDashboard/umbraco-package.json" lineNumbers="true" %}

```json
{
"type": "dashboard",
"alias": "my.welcome.dashboard",
"name": "My Welcome Dashboard",
"element": "/App_Plugins/WelcomeDashboard/dashboard.js",
"weight": -1,
"meta": {
"label": "Welcome Dashboard",
"pathname": "welcome-dashboard"
},
"conditions": [
{
"alias": "Umb.Condition.SectionAlias",
"match": "Umb.Section.Content"
}
]
}
```

{% endcode %}

<figure>
<img alt="The Welcome Dashboard shown in the Content section" src="./images/welcome-dashboard.jpg" />
<figcaption>The Welcome Dashboard appears in the Content section</figcaption>
</figure>

You can learn about [creating a custom dashboard](../tutorials/creating-a-custom-dashboard/README.md) in the tutorials section. Here you will learn how to build the dashboard itself as a Web Component.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed 14/umbraco-cms/extending/images/welcome-example.png
Binary file not shown.