705b7449f0
* refactor: plugin manager page * fix: bug * feat: addByNpm api * fix: improve the addByNpm * feat: improve applicationPlugins:list api * fix: re-download npm package when restart app * fix: plugin delete api * feat: plugin detail api * feat: zipUrl add api * fix: upload api bug * fix: plugin detail info * feat: upgrade api * fix: upload api * feat: handle plugin load error * feat: support authToken * feat: muti lang * fix: build error * fix: self review * Update plugin-manager.ts * fix: bug * fix: bug * fix: bug * fix: bug * fix: bug * fix: bugs * fix: detail click and remove isOfficial * fix: upgrade no refresh * fix: file size and type check * fix: bug * fix: upgrade error * fix: bug * fix: bug * fix: plugin card layout * fix: handling exceptional cases * fix: tgz file support * fix: macos compress file * fix: bug * fix: bug * fix: bug * fix: bug * fix: add upgrade npm type * fix: bugs * fix: bug * fix: change plugins static expose url * fix: api prefix * fix: bug * fix: add nginx `/static/plugin/` path * fix: bugs and pr docker build no dts * fix: bug * fix: build tools bug * fix: improve code * fix: build bug * feat: improve plugin info * fix: ui bug * fix: plugin document bug * feat: improve code * feat: improve code * feat: process dev deps check * feat: improve code * feat: process.env.IS_DEV_CMD * fix: do not delete the plugin package * feat: plugin symlink * fix: tsx watch --ignore=./storage/plugins/** * fix: test error * fix: improve code * fix: improve code * fix: emitStartedEvent * fix: improve code * fix: type error * fix: test error * test: console.log * fix: createStoragePluginSymLink * fix: clientStaticMiddleware rename to clientStaticUtils * feat: build tools support plugins folder * fix: 350px * fix: error * feat: client dev support plugin folder * fix: clear cli options * fix: typeError: Converting circular structure to JSON * fix: plugin name * chore: restart application after command * feat: upgrade error & docs * Update v14-changelog.md * Update v14-changelog.md * Update v14-changelog.md * fix: gateway test * refactor(plugin-workflow): add ready state for gracefully tearing down * Revert "chore: restart application after command" This reverts commit 5015274f8e4e06e506e15754b672330330e8c7f8. * chore: stop application whe restart * T 1218 change plugin folder (#2629) * feat: change folder name * feat: change `pm create` command * feat: revert plugin name change * fix: delete samples * feat: change plugins folder * fix: pm create * feat: update docs * fix: link package error * fix: docs * fix: create command * fix: pm add error * fix: create add build * fix: pm creatre + add * feat: add tar command * fix: docs * fix: bug * fix: docs --------- Co-authored-by: chenos <chenlinxh@gmail.com> * feat: docs * Update your-fisrt-plugin.md * Update your-fisrt-plugin.md * chore: application reload * chore: test * fix: pm add error * chore: preset install skip exists plugin * fix: createIfNotExists --------- Co-authored-by: chenos <chenlinxh@gmail.com> Co-authored-by: chareice <chareice@live.com> Co-authored-by: Zhou <zhou.working@gmail.com> Co-authored-by: mytharcher <mytharcher@gmail.com>
60 lines
1.9 KiB
Markdown
60 lines
1.9 KiB
Markdown
# v0.14: New plugin manager, supports adding plugins through UI
|
|
|
|
This release enables plug-and-play plugins in production environments. You can now add plugins directly through the UI, and support downloading from the npm registry (which can be private), local uploads, and URL downloads.
|
|
|
|
## New features
|
|
|
|
### New plugin manager interface
|
|
|
|
<img src="https://demo-cn.nocobase.com/storage/uploads/6de7c906518b6c6643570292523b06c8.png" />
|
|
|
|
### Uploaded plugins are located in the storage/plugins directory.
|
|
|
|
The storage/plugins directory is used to upload plugins, and is organized as npm packages.
|
|
|
|
```bash
|
|
|- /storage/
|
|
|- /plugins/
|
|
|- /@nocobase/
|
|
|- /plugin-hello1/
|
|
|- /plugin-hello2/
|
|
|- /@foo/
|
|
|- /bar/
|
|
|- /my-nocobase-plugin-hello/
|
|
```
|
|
|
|
### Plugin updates
|
|
|
|
Currently, only plugins under storage/plugins can be updated, as shown here:
|
|
|
|
<img src="https://demo-cn.nocobase.com/storage/uploads/703809b8cd74cc95e1ab2ab766980817.gif" />
|
|
|
|
Note: In order to facilitate maintenance and upgrading, and to avoid unavailability of the storage plugins due to upgrading, you can put the new plugin directly into storage/plugins and then perform the upgrade operation.
|
|
|
|
## Incompatible changes
|
|
|
|
### Changes to plugin names
|
|
|
|
- PLUGIN_PACKAGE_PREFIX environment variable is no longer provided.
|
|
- Plugin names and package names are unified, old plugin names can still exist as aliases.
|
|
|
|
### Improvements to pm.add
|
|
|
|
```bash
|
|
# Use packageName instead of pluginName, lookup locally, error if not found
|
|
pm add packageName
|
|
|
|
# Download from remote only if registry is provided, can also specify version
|
|
pm add packageName --registry=xx --auth-token=yy --version=zz
|
|
|
|
# You can also provide a local zip, add multiple times and replace it with the last one
|
|
pm add /a/plugin.zip
|
|
|
|
# Remote zip, replace it with the same name
|
|
pm add http://url/plugin.zip
|
|
```
|
|
|
|
## Plugin development guide
|
|
|
|
[Develop the first plugin](/development/your-fisrt-plugin)
|