diff --git a/docs/developer_portal/extensions/overview.md b/docs/developer_portal/extensions/overview.md index 0ba62a615c9..48bbd9ae5e8 100644 --- a/docs/developer_portal/extensions/overview.md +++ b/docs/developer_portal/extensions/overview.md @@ -50,3 +50,4 @@ Extensions can provide: - **[Deployment](./deployment)** - Packaging and deploying extensions - **[MCP Integration](./mcp)** - Adding AI agent capabilities using extensions - **[Security](./security)** - Security considerations and best practices +- **[Community Extensions](./registry)** - Browse extensions shared by the community diff --git a/docs/developer_portal/extensions/registry.md b/docs/developer_portal/extensions/registry.md new file mode 100644 index 00000000000..4aaf3e233c5 --- /dev/null +++ b/docs/developer_portal/extensions/registry.md @@ -0,0 +1,47 @@ +--- +title: Community Extensions +sidebar_position: 9 +--- + + + +# Community Extensions + +This page serves as a registry of community-created Superset extensions. These extensions are developed and maintained by community members and are not officially supported or vetted by the Apache Superset project. **Before installing any community extension, administrators are responsible for evaluating the extension's source code for security vulnerabilities, performance impact, UI/UX quality, and compatibility with their Superset deployment.** + +## Extensions + +| Name | Description | Author | Preview | +| --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [Extensions API Explorer](https://github.com/michael-s-molina/superset-extensions/tree/main/api_explorer) | A SQL Lab panel that demonstrates the Extensions API by providing an interactive explorer for testing commands like getTabs, getCurrentTab, and getDatabases. Useful for extension developers to understand and experiment with the available APIs. | Michael S. Molina | Extensions API Explorer | + +## How to Add Your Extension + +To add your extension to this registry, submit a pull request to the [Apache Superset repository](https://github.com/apache/superset) with the following changes: + +1. Add a row to the **Extensions** table above using this format: + +```markdown +| [Your Extension](https://github.com/your-username/your-repo) | A brief description of your extension. | Your Name | Your Extension | +``` + +2. Add a screenshot to `docs/static/img/extensions/` (recommended size: 800x450px, PNG or JPG format) + +3. Submit your PR with a title like "docs: Add [Extension Name] to community extensions registry" diff --git a/docs/developer_portal/extensions/security.md b/docs/developer_portal/extensions/security.md index d197b86cc0c..19b30399e8d 100644 --- a/docs/developer_portal/extensions/security.md +++ b/docs/developer_portal/extensions/security.md @@ -28,7 +28,7 @@ By default, extensions are disabled and must be explicitly enabled by setting th For external extensions, administrators are responsible for evaluating and verifying the security of any extensions they choose to install, just as they would when installing third-party NPM or PyPI packages. At this stage, all extensions run in the same context as the host application, without additional sandboxing. This means that external extensions can impact the security and performance of a Superset environment in the same way as any other installed dependency. -We plan to introduce an optional sandboxed execution model for extensions in the future (as part of an additional SIP). Until then, administrators should exercise caution and follow best practices when selecting and deploying third-party extensions. A directory of known Superset extensions may be maintained in a means similar to [this page](https://github.com/apache/superset/wiki/Superset-Third%E2%80%90Party-Plugins-Directory) on the wiki. We also discussed the possibility of introducing a shared registry for vetted extensions but decided to leave it out of the initial scope of the project. We might introduce a registry at a later stage depending on the evolution of extensions created by the community. +We plan to introduce an optional sandboxed execution model for extensions in the future (as part of an additional SIP). Until then, administrators should exercise caution and follow best practices when selecting and deploying third-party extensions. A directory of community extensions is available in the [Community Extensions](./registry) page. Note that these extensions are not vetted by the Apache Superset project—administrators must evaluate each extension before installation. **Any performance or security vulnerabilities introduced by external extensions should be reported directly to the extension author, not as Superset vulnerabilities.** diff --git a/docs/developer_portal/sidebars.js b/docs/developer_portal/sidebars.js index d361865d63c..cff7742de02 100644 --- a/docs/developer_portal/sidebars.js +++ b/docs/developer_portal/sidebars.js @@ -49,6 +49,7 @@ module.exports = { 'extensions/deployment', 'extensions/mcp', 'extensions/security', + 'extensions/registry', ], }, { diff --git a/docs/sidebarTutorials.js b/docs/sidebarTutorials.js index 7abc29f51af..4a59018adb3 100644 --- a/docs/sidebarTutorials.js +++ b/docs/sidebarTutorials.js @@ -93,6 +93,7 @@ const sidebars = { 'extensions/deployment', 'extensions/mcp', 'extensions/security', + 'extensions/registry', ], }, { diff --git a/docs/static/img/extensions/api_explorer.png b/docs/static/img/extensions/api_explorer.png new file mode 100644 index 00000000000..1cafbc62e01 Binary files /dev/null and b/docs/static/img/extensions/api_explorer.png differ