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
* Rework the page to add information about building a plugin
* Remove links to plugin development guides
* Add short decision table
* Move HotReloading snippet
* Convert link to Strapi Marketplace to an external link
Copy file name to clipboardExpand all lines: docusaurus/docs/cms/admin-panel-customization/extension.md
+21-10Lines changed: 21 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,13 +2,10 @@
2
2
title: Admin panel extension
3
3
description: Learn more about extending Strapi's admin panel.
4
4
displayed_sidebar: cmsSidebar
5
-
toc_max_heading_level: 4
6
5
tags:
7
6
- admin panel
8
7
- admin panel customization
9
-
10
8
---
11
-
12
9
import HotReloading from '/docs/snippets/hot-reloading-admin-panel.md'
13
10
14
11
# Admin panel extension
@@ -19,17 +16,31 @@ Extending Strapi's admin panel means leveraging its React foundation to adapt an
19
16
20
17
There are 2 use cases where you might want to extend the admin panel:
21
18
22
-
- As a Strapi plugin developer, you want to develop a Strapi plugin that extends the admin panel **everytime it's installed in any Strapi application**.
19
+
| Approach | Scope | Entry point | Docs |
20
+
|---|---|---|---|
21
+
| Local extension | One Strapi project |`/src/admin/app.(js\|ts)` and `/src/admin/extensions/`|[Admin panel customization](/cms/admin-panel-customization)|
22
+
| Plugin extension | Any project that installs your plugin |`[plugin-name]/admin/src/index.(js\|ts)`|[Admin Panel API overview](/cms/plugins-development/admin-panel-api)|
23
23
24
-
👉 This can be done by taking advantage of the [Admin Panel API for plugins](/cms/plugins-development/admin-panel-api).
24
+
- As a Strapi plugin developer, you want to develop a Strapi plugin that extends the admin panel **everytime it's installed in any Strapi application**.
25
+
👉 This can be done by taking advantage of the [Admin Panel API for plugins](/cms/plugins-development/admin-panel-api), which lets you add navigation links and settings sections, inject React components into predefined areas, manage state with Redux, extend the Content Manager's Edit and List views, and more.
25
26
26
27
- As a Strapi developer, you want to develop a unique solution for a Strapi user who only needs to extend a specific instance of a Strapi application.
27
-
28
28
👉 This can be done by directly updating the `/src/admin/app` file, which can import any file located in `/src/admin/extensions`.
29
29
30
+
<HotReloading />
31
+
32
+
## When to consider a plugin instead
33
+
34
+
Starting with a direct customization in `/src/admin/app` is the right default for project-specific needs. Consider moving to a plugin-based approach when one or more of these signals appear:
35
+
36
+
- You are duplicating the same admin customization across several Strapi projects.
37
+
- You want to version and distribute the extension — either internally or through the <ExternalLinktext="Strapi Marketplace"to="https://market.strapi.io/"/>.
38
+
- You need stronger automated testing independent from a single project codebase.
39
+
- Multiple teams need shared ownership and release management for the same extension.
40
+
41
+
For a full introduction to plugin development, see [Developing Strapi plugins](/cms/plugins-development/developing-plugins).
42
+
30
43
:::strapi Additional resources
31
-
* If you're searching for ways of replacing the default Rich text editor, please refer to the [corresponding page](/cms/admin-panel-customization/wysiwyg-editor).
32
-
*The <ExternalLinkto="https://design-system.strapi.io/?path=/docs/getting-started-welcome--docs"text="Strapi Design System documentation"/> also provide extensive additional information on developing for Strapi's adminpanel.
44
+
* If you're looking for ways of replacing the default Rich text editor, refer to the [corresponding page](/cms/admin-panel-customization/wysiwyg-editor).
45
+
*To understand how plugins integrate with the Strapi admin panel, start with the [Admin Panel API overview](/cms/plugins-development/admin-panel-api).
0 commit comments