Skip to content

Commit 2bea55a

Browse files
committed
Expand "Extension Types" documentation and correct minor code formatting issues.
1 parent 84daace commit 2bea55a

File tree

2 files changed

+103
-15
lines changed

2 files changed

+103
-15
lines changed

16/umbraco-cms/customizing/extending-overview/extension-types/README.md

Lines changed: 102 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,119 @@
11
---
22
description: >-
3-
The Extension types have some general features and some are provide
4-
specifically to a type.
3+
An overview of general extension types available in the Umbraco backoffice.
54
---
65

76
# Extension Types
87

9-
### General features <a href="#package-manifest" id="package-manifest"></a>
8+
## General Features
109

11-
The general features of all Extension Types can be read as part of the [Extension Manifest Article](../extension-registry/extension-manifest.md)
10+
Extension Types in Umbraco allow developers to extend and customize the behavior of the backoffice. Each type provides
11+
unique functionality designed for specific tasks, such as creating custom dashboards, enhancing entity actions, or
12+
enabling localization. Learn more about the shared properties and overall structure in the
13+
[Extension Manifest](../extension-registry/extension-manifest.md) article.
1214

13-
### General Extension Type <a href="#package-manifest" id="package-manifest"></a>
15+
## General Extension Types
1416

15-
The system provides Extension Types for certain needs and then there is a few that has a general prupose.
17+
The **Umbraco backoffice** provides **Extension Types** designed to meet a variety of customization needs. These include
18+
extensions tailored for specific functionalities, as well as general-purpose extensions for broader use cases.
1619

17-
### [Bundle](bundle.md) <a href="#package-manifest" id="package-manifest"></a>
20+
### [App Entry Point](app-entry-point.md)
1821

19-
The `bundle` type enables you to gather many extension manifests into one. These will be registered at startup.
22+
The **App Entry Point** extension type is used to execute JavaScript code at Umbraco startup, and before the user has
23+
logged into or initialized the backoffice.
2024

21-
### [Backoffice Entry Point](backoffice-entry-point.md) <a href="#entry-point" id="entry-point"></a>
25+
### [Backoffice Entry Point](backoffice-entry-point.md)
2226

23-
The `backofficeEntryPoint` type is used to execute the method of a JavaScript file when the backoffice is initialized. This file can be used to do anything, this enables more complex logic to take place on startup.
27+
The `backofficeEntryPoint` extension type is used to execute JavaScript upon initialization of the backoffice. This
28+
extension type provides lifecycle hooks (startup, teardown) for extension developers to customize backoffice behavior.
2429

25-
### [Extension Conditions](condition.md) <a href="#conditions" id="conditions"></a>
30+
### [Block Custom View](block-custom-view.md)
2631

27-
Most Extension Types support conditions. Defining conditions enables you to control when and where the Extension is available. This Type enables you to bring your own Conditions for the system.
32+
The `blockEditorCustomView` extension type is used to define a custom web component for representing blocks inside the
33+
Umbraco block grid property editor.
2834

29-
### [Kinds](kind.md) <a href="#kinds" id="kinds"></a>
35+
### [Bundle](bundle.md)
36+
37+
The `bundle` extension type is used to aggregate multiple extension manifests into a single entity, which will be
38+
registered at startup.
39+
40+
### [Dashboards](dashboard.md)
41+
42+
The `dashboard` extension type enables extension authors to create custom informational panels that can be displayed
43+
in the Umbraco backoffice. These extensions can be added to existing Umbraco sections or to a custom section.
44+
45+
### [Entity Actions](entity-actions.md)
46+
47+
The `entityAction` extension type is used to create fly-out submenus that offer actionable functions towards an
48+
entity (document nodes, media files). These commonly contain actions like: Trash, Duplicate To..., Publish and
49+
Unpublish, or any action that an extension author creates.
50+
51+
### [Entity Bulk Actions](entity-bulk-actions.md)
52+
53+
The `entityBulkAction` extension type works similarly to the **Entity Actions** extension type, but with the
54+
ability to perform the actions on a collection or selection of entities.
55+
56+
### [Entity Create Option Action](entity-create-option-action.md)
57+
58+
The `entityCreateOptionAction` extension type is used to provide custom entity creation actions via a dedicated
59+
modal interface.
60+
61+
### [Extension Conditions](condition.md)
62+
63+
Most Extension Types support conditions which allow extension authors to control when and where the Extension is
64+
available/visible. This Type enables extension authors to define their own conditions.
65+
66+
### [Global Context](global-context.md)
67+
68+
The `globalContext` extension type creates a custom context of data and functions, accessible throughout the entire
69+
backoffice and the entirety of the session.
70+
71+
### [Header Apps](header-apps.md)
72+
73+
The `headerApp` extension type is used to place single-purpose extensions in the top-level navigation bar. These
74+
extensions appear next to the user profile.
75+
76+
### [Icons](icons.md)
77+
78+
The `icons` extension type is used to make custom icon extension sets available in the Umbraco backoffice and in
79+
custom Umbraco UI components. Extension authors provide SVG files and register them using this extension type.
80+
81+
### [Kinds](kind.md)
82+
83+
The `kind` extension type is used to create custom extension configurations that can be used as the basis of, or
84+
inherited by, other custom extension types.
85+
86+
### [Localization](localization.md)
87+
88+
The `localization` extension type is used to register additional languages and files of translation strings that can
89+
be used in Umbraco backoffice extensions.
90+
91+
### [Menu](menu.md)
92+
93+
The `menu` extension type is used to create custom menus that can be placed in sidebar extensions or displayed as a
94+
fly-out from a button, header, or content app.
95+
96+
### [Modals](modals/README.md)
97+
98+
The `modal` extension type is used to configure and present dialogs and sidebars within the Umbraco backoffice.
99+
100+
### [Property Value Preset](property-value-preset.md)
101+
102+
The `propertyValuePreset` extension type is used to customize the default value of a property editor and allow for
103+
dynamic behavior through hooks.
104+
105+
### [Sections](sections/README.md)
106+
107+
The `section` extension type is used to place top-level navigation items within the Umbraco backoffice. Custom
108+
Section extensions appear alongside Content, Media, Settings, and others, as seen in the purple navigation bar.
109+
110+
### [Trees](tree.md)
111+
112+
The `tree` extension type is used to create a hierarchical structure composed of nodes, such as documents or media
113+
items.
114+
115+
### [Workspaces](workspaces/README.md)
116+
117+
The `workspace` extension type provides functionality that operates within specific workspace environments, such as
118+
document editing, media management, or member editing.
30119

31-
The Kind-type enables you to base your Extension registration on a preset manifest. A kind provides the base manifest that your manifest will be ammending. A typical Kind declaration would provide a default Element, making it posible for you to only configure the Element via properties of the Manifest.

16/umbraco-cms/customizing/extending-overview/extension-types/property-value-preset.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ The following Manifest declares a preset for the `Umb.PropertyEditorUi.TextBox`
1010

1111
```typescript
1212
export const manifest = {
13-
type: 'propertyValuePreset';
13+
type: 'propertyValuePreset',
1414
alias: 'my.propertyValuePreset.TextBox',
1515
name: 'My Property Value Preset for TextBox',
1616
api: () => import('./my-property-value-preset.js'),

0 commit comments

Comments
 (0)