[PR #3745] Plugin system demo #4068

Open
opened 2026-04-25 00:18:12 +02:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/advplyr/audiobookshelf/pull/3745
Author: @advplyr
Created: 12/23/2024
Status: 🔄 Open

Base: masterHead: plugin-implementation-demo


📝 Commits (10+)

  • 62bd7e7 Example of potential plugin implementation
  • ad89fb2 Update example plugin and add plugins frontend page with save config endpoint
  • 23b480b Remove separate plugins dir and use metadata dir for plugins folder
  • 5a96d8a Add Plugin model with migration
  • cfe3def Add isMissing to Plugin model, add manifest version and name validation, create/update plugins table
  • fc17a74 Update plugin to use uuid for id, update example plugin with taskmanager and socketauthority test
  • 048790b Updates on plugin apis and example
  • fe4d3c0 Update plugins page ui
  • a762e6c Merge branch 'master' into plugin-implementation-demo
  • 50e84fc Update PluginManager to singleton, update PluginContext, support prompt object in plugin extension

📊 Changes

30 files changed (+1163 additions, -35 deletions)

View changed files

📝 client/components/app/ConfigSideNav.vue (+8 -0)
📝 client/components/prompt/Confirm.vue (+34 -2)
📝 client/components/ui/ContextMenuDropdown.vue (+1 -0)
client/pages/config/plugins/_id.vue (+154 -0)
client/pages/config/plugins/index.vue (+48 -0)
📝 client/pages/item/_id/index.vue (+62 -0)
📝 client/pages/login.vue (+5 -1)
📝 client/store/index.js (+21 -1)
📝 index.js (+2 -0)
📝 prod.js (+2 -2)
📝 server/Auth.js (+19 -0)
📝 server/Database.js (+6 -0)
📝 server/Server.js (+11 -3)
📝 server/controllers/LibraryController.js (+3 -2)
📝 server/controllers/LibraryItemController.js (+4 -3)
server/controllers/PluginController.js (+82 -0)
📝 server/controllers/PodcastController.js (+8 -13)
📝 server/managers/CronManager.js (+4 -5)
server/managers/PluginManager.js (+274 -0)
📝 server/managers/PodcastManager.js (+1 -1)

...and 10 more files

📄 Description

See the plugin proposal https://github.com/advplyr/audiobookshelf/discussions/3744

See the example plugin https://github.com/advplyr/abs-report-for-review-plugin/tree/master


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/advplyr/audiobookshelf/pull/3745 **Author:** [@advplyr](https://github.com/advplyr) **Created:** 12/23/2024 **Status:** 🔄 Open **Base:** `master` ← **Head:** `plugin-implementation-demo` --- ### 📝 Commits (10+) - [`62bd7e7`](https://github.com/advplyr/audiobookshelf/commit/62bd7e73f42672e6371395a113f33fed6a3530f4) Example of potential plugin implementation - [`ad89fb2`](https://github.com/advplyr/audiobookshelf/commit/ad89fb2eac0d80f53f92b91f49d1457b1fd1a3e6) Update example plugin and add plugins frontend page with save config endpoint - [`23b480b`](https://github.com/advplyr/audiobookshelf/commit/23b480b11a47be26192ee18e1a3768361b9b57df) Remove separate plugins dir and use metadata dir for plugins folder - [`5a96d8a`](https://github.com/advplyr/audiobookshelf/commit/5a96d8aeb3c965d5d77e0c5d8dece632d5ecb874) Add Plugin model with migration - [`cfe3def`](https://github.com/advplyr/audiobookshelf/commit/cfe3deff3b9f17c2e5a704e6e9857078351d9ee8) Add isMissing to Plugin model, add manifest version and name validation, create/update plugins table - [`fc17a74`](https://github.com/advplyr/audiobookshelf/commit/fc17a7486507ae93956ca728204862caa2892b5c) Update plugin to use uuid for id, update example plugin with taskmanager and socketauthority test - [`048790b`](https://github.com/advplyr/audiobookshelf/commit/048790b33a2f6497af0cc5a7410d1848ca75baa2) Updates on plugin apis and example - [`fe4d3c0`](https://github.com/advplyr/audiobookshelf/commit/fe4d3c0852084114435af5f34fa73743feb1f4aa) Update plugins page ui - [`a762e6c`](https://github.com/advplyr/audiobookshelf/commit/a762e6ca0384fb9aab91e1cbcdb59d3a8bc82403) Merge branch 'master' into plugin-implementation-demo - [`50e84fc`](https://github.com/advplyr/audiobookshelf/commit/50e84fc2d500c5e263abff7457bf3cc2b67f154e) Update PluginManager to singleton, update PluginContext, support prompt object in plugin extension ### 📊 Changes **30 files changed** (+1163 additions, -35 deletions) <details> <summary>View changed files</summary> 📝 `client/components/app/ConfigSideNav.vue` (+8 -0) 📝 `client/components/prompt/Confirm.vue` (+34 -2) 📝 `client/components/ui/ContextMenuDropdown.vue` (+1 -0) ➕ `client/pages/config/plugins/_id.vue` (+154 -0) ➕ `client/pages/config/plugins/index.vue` (+48 -0) 📝 `client/pages/item/_id/index.vue` (+62 -0) 📝 `client/pages/login.vue` (+5 -1) 📝 `client/store/index.js` (+21 -1) 📝 `index.js` (+2 -0) 📝 `prod.js` (+2 -2) 📝 `server/Auth.js` (+19 -0) 📝 `server/Database.js` (+6 -0) 📝 `server/Server.js` (+11 -3) 📝 `server/controllers/LibraryController.js` (+3 -2) 📝 `server/controllers/LibraryItemController.js` (+4 -3) ➕ `server/controllers/PluginController.js` (+82 -0) 📝 `server/controllers/PodcastController.js` (+8 -13) 📝 `server/managers/CronManager.js` (+4 -5) ➕ `server/managers/PluginManager.js` (+274 -0) 📝 `server/managers/PodcastManager.js` (+1 -1) _...and 10 more files_ </details> ### 📄 Description See the plugin proposal https://github.com/advplyr/audiobookshelf/discussions/3744 See the example plugin https://github.com/advplyr/abs-report-for-review-plugin/tree/master --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2026-04-25 00:18:12 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#4068