Extension Management
Description
Adds in the ability to manage extensions from the admin panel. Right now it's only possible to enable or disable extensions. The preview for extensions look like this at the moment:

closes #17694
Featues
- New table
directus_extensionswithname: string,enabled: booleanandoptions: JSON - Endpoints to configure extensions including:
- Editing the enabled status
- Configuring options for extensions (Right now only implemented for future use)
- Getting Information about currently installed extensions (e.g. name, description and so on)
- App interface to view and enable / disable extensions.
Type of Change
- [ ] Bugfix
- [x] Improvement
- [x] New Feature
- [ ] Refactor / codestyle updates
- [ ] Other, please describe:
Requirements Checklist
- [ ] New / updated tests are included
- [ ] All tests are passing locally
- [x] Performed a self-review of the submitted code
If adding a new feature:
- [x] Documentation was added/updated. PR:
@Nitwel Moving this to draft, seeing all the linter warnings / commented out codeblocks etc. Lmk when this is ready for review!@
Any progress? 😊
@Nitwel I installed 2 interfaces to test this, one via index.js file directly in the extensions folder and one via npm. Neither showed up in the extensions list to enable/disable. I must be missing something, any guidance?
Did you get some sort of error in the console @ConnorSimply? When you are able to see the installed extensions in Directus, you should also be able to see them there.
@Nitwel There were no errors when I tested this. However, did notice some things.I had to rebuild dev to get the package installed via pnpm to show up, thats ok. I installed two packages one via pnpm and one with an index file in the extensions folder. The installed via pnpm showed up in the list, the index file one did not.
The interface I installed via pnpm and is in the list was a display. Enabling and disabling the extension did nothing, and when the extension was disabled it still used the display extension.
Is it supposed to enable/disable only certain types of extensions or should it work on all of them?
Are you accessing the app in dev mode, cause that might be a reason. Maybe try it build from the api and that should work fine.
@Nitwel Mind resolving the merge conflicts and providing a description of what this PR adds and how it works exactly? 🙂 the UI screenshot itself is obvious, but I'm very curious to learn more about new endpoints, database tables, etc
Updated the PR description with more info.
⚠️ No Changeset found
Latest commit: a4331288e27d4af96d796a3bfa263c8623f67cb0
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
Click here to learn what changesets are, and how to add one.
Click here if you're a maintainer who wants to add a changeset to this PR
Hey @Nitwel ! Anything stopping this great PR? Hope to get this going asap 🙏🏼
Feels like this PR is forgotten 😢
Not really, there are just way bigger things cooking in the background that will outdo this quite a lot.
Okay, Marketplace... https://directus.market/
Closing in favor of #19506 and #19507 🎉