Skip to content

Commit 25b549c

Browse files
pwizlaactions-user
authored andcommitted
Improve the admin panel extension page (#3003)
* 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
1 parent 259e804 commit 25b549c

File tree

1 file changed

+21
-10
lines changed

1 file changed

+21
-10
lines changed

docusaurus/docs/cms/admin-panel-customization/extension.md

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,10 @@
22
title: Admin panel extension
33
description: Learn more about extending Strapi's admin panel.
44
displayed_sidebar: cmsSidebar
5-
toc_max_heading_level: 4
65
tags:
76
- admin panel
87
- admin panel customization
9-
108
---
11-
129
import HotReloading from '/docs/snippets/hot-reloading-admin-panel.md'
1310

1411
# Admin panel extension
@@ -19,17 +16,31 @@ Extending Strapi's admin panel means leveraging its React foundation to adapt an
1916

2017
There are 2 use cases where you might want to extend the admin panel:
2118

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) |
2323

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.
2526

2627
- 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-
2828
👉 This can be done by directly updating the `/src/admin/app` file, which can import any file located in `/src/admin/extensions`.
2929

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 <ExternalLink text="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+
3043
:::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 <ExternalLink to="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 admin panel.
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).
3346
:::
34-
35-
<HotReloading />

0 commit comments

Comments
 (0)