You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make sure to configure your TypeScript compiler so it includes the Global Types from the Backoffice. This enables you to utilize the declared Extension Types. If your project is using other Packages that provides their Extension Types then please list these as well.
4
+
5
+
In your `tsconfig.json` file. Add the array `types` inside `compilerOptions`, with the entry of `@umbraco-cms/backoffice/extension-types`:
In this section you can find the common terms, concepts and guides used to extend the Umbraco backoffice.
14
12
15
-
{% hint style="warning" %}
16
-
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.
17
-
{% endhint %}
18
-
19
13
## [Extension Registry](extension-registry/)
20
14
21
-
An overview of concepts on how to work with extension registration when extending the backoffice.
15
+
How to registere extensions or manipulate others.
22
16
23
17
## [Extension Types](extension-types/)
24
18
25
-
An overview of concepts on how to work with extension types when extending the backoffice.
19
+
An overview of the different ways to append funcationtlity.
Copy file name to clipboardExpand all lines: 15/umbraco-cms/customizing/extending-overview/extension-registry/README.md
+3-21Lines changed: 3 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@
4
4
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.
5
5
{% endhint %}
6
6
7
-
Most of BackOffice is based on Extensions making it crucial to understand how to register your own extensions. This introduction will give you an outline of the abilities of the extension registry.
7
+
The Extensions Registry is your entry to extend or customize the Backoffice. Therefor it is crucial to understand the abilities of the Extension Registry.
@@ -14,24 +14,6 @@ The extension registry is a global registry that can be accessed and changed at
14
14
15
15
Each Extension Manifest has to declare its type, this is used to determine where it hooks into the system. It also looks at what data is required to declare within it.
16
16
17
-
## [Extension Types](../extension-types/)
17
+
## [Replace, Exclude or Unregistere](./#replace-exclude-or-unregistere)
The Entry Point manifest type is used to register an entry point for the backoffice. An entry point is a single JavaScript file that is loaded when the backoffice is initialized. This file can be used to do anything, this enables more complex logic to take place on startup.
Copy file name to clipboardExpand all lines: 15/umbraco-cms/customizing/extending-overview/extension-registry/extension-manifest.md
+52-11Lines changed: 52 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,9 @@ description: Learn about the different methods for declaring an Extension Manife
4
4
5
5
# Extension Manifest
6
6
7
-
The Extension Manifest is the entry point for any extension. It is the declaration of what you want to register.
7
+
The Extension Manifest is the first step for any extension. It is the declaration of what you want to register.
8
8
9
-
The content in this section describes all the extension types that the Backoffice supports. Find a list of the most common types in the [Extension Types](../extension-types/) article.
9
+
In this section you will find all the Extension Types provided by the Backoffice. [See all Extension Types here.](../extension-types/)
10
10
11
11
### Extension Manifest Format
12
12
@@ -48,31 +48,72 @@ Many of the Extension Types require additional information declared as part of a
48
48
49
49
### Registration
50
50
51
-
An Extension Manifest can be declared in multiple ways.
51
+
An Extension Manifest can be registered in multiple ways.
52
52
53
-
The primary way is to declare it as part of the [Umbraco Package Manifest](../../umbraco-package.md).
53
+
The primary registration should take part of the Umbraco Package Manifest.
54
54
55
-
Additionally, two Extension types can be used to register other extensions.
55
+
You can choose to declare all Extensions in the Package Manifest, or use one of three Extension Types to registere more extensions.
56
56
57
-
A typical use case is to declare one main Extension Manifest as part of the [Umbraco Package Manifest](../../umbraco-package.md). Such main Extension Manifest would be using one of the following types:
57
+
This enables you to locate your Manifests in files together with the implementation code and the ability to declare Extension Manifests in TypeScript.
58
+
59
+
A typical structure would be to declare one or more `Bundle` extensions in the Package Manifest. Each of the Bundles points to a `manifests.js` file which declares the Extensions of interest.
58
60
59
61
#### The `bundle` extension type
60
62
61
-
The Bundle extension type can be used for declaring multiple Extension Manifests with JavaScript in a single file.
63
+
The Bundle extension type is used to declare multiple Extension Manifests from a single JavaScript file.
62
64
63
-
The Bundle declares a single JavaScript file that will be loaded at startup. All the Extension Manifests exported of this Module will be registered in the Extension Registry.
65
+
The Bundle is loaded at startup. All the Extension Manifests exported of the JavaScript file will be registered.
64
66
65
-
Read more about the `bundle` extension type in the [Bundle](../../../extending/extending-overview/extension-registry/bundle.md)article.
67
+
Read more about the `bundle` extension type in the [Bundle](../../../extending/extending-overview/extension-registry/bundle.md)[](../extension-types/bundle.md)article.
66
68
67
69
#### The `backofficeEntryPoint` extension type
68
70
69
-
Run any JavaScript code at startup. This can be used as an entry point for a package, registering more extensions or configuring your package.
71
+
Run any JavaScript code when Backoffice startups, after the user is logged in. This can be used as an entry point for a package, registering more extensions or configuring your package.
70
72
71
73
There are many use cases. To name a few, it could be to load external libraries shared by all your extensions or load **global CSS files** for the whole application.
72
74
73
75
The entry point declares a single JavaScript file that will be loaded and run when the Backoffice starts.
74
76
75
-
Read more about the `backofficeEntryPoint` extension type in the [Entry Point](../../../extending/extending-overview/extension-registry/entry-point.md) article.
77
+
Read more about the `backofficeEntryPoint` extension type in the [Entry Point](extension-manifest.md#the-backofficeentrypoint-extension-type) article.
78
+
79
+
#### The `appEntryPoint` extension type
80
+
81
+
Similar as `appEntryPoint` this runs as startup, the difference is that this runs before the user is logged in. Use this to initiate things before the user is logged in or to provide things for the Login screen.
82
+
83
+
## Type intellisense
84
+
85
+
It is recommend to make use of the Type intellisense that we provide.
86
+
87
+
When writing your Manifest in TypeScript you should use the Type `UmbExtensionManifest`, see the [TypeScript setup](../../development-flow/typescript-setup.md) article to make sure you have Types correctly configured.
The `Entry Point` 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.
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.
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.
Copy file name to clipboardExpand all lines: 15/umbraco-cms/customizing/extending-overview/extension-types/bundle.md
+7-13Lines changed: 7 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,12 @@
1
-
# Bundle
2
-
3
-
{% hint style="warning" %}
4
-
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.
5
-
{% endhint %}
1
+
---
2
+
description: Gather Extension Manifests in one file
3
+
---
6
4
7
-
The `bundle` extension type enables you to gather many extension manifests into one.
5
+
# Bundle
8
6
9
-
It points to a single JavaScript file that via JavaScript Modules, exports or re-exports Extension Manifests written in JavaScript.
7
+
The `bundle` Extension Type points to a single JavaScript file that exports or re-exports Extension Manifests written in JavaScript.
10
8
11
-
It can be used as the entry point for a package, or as a grouping for a set of manifests.
9
+
It can be used as the entry point for a package, or as a grouping for a set of manifests. A Bundle can reference other Bundles.
12
10
13
11
## Use Bundle as an entry point for a package
14
12
@@ -17,7 +15,6 @@ If you want to declare your manifests in JavaScript/TypeScript, the Bundle is a
17
15
The following example shows an `umbraco-package.json` that refers to one bundle, which can then declare manifests.
18
16
19
17
{% code title="umbraco-package.json" %}
20
-
21
18
```json
22
19
{
23
20
"name": "My Package Name",
@@ -32,11 +29,9 @@ The following example shows an `umbraco-package.json` that refers to one bundle,
0 commit comments