diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bd0e1ea53..9a15cf48f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -814,7 +814,7 @@ Then, [extract strings for the new language](#extracting-new-strings-for-transla ### Improving visualizations -Superset is working towards a plugin system where new visualizations can be installed as optional npm packages. To achieve this goal, we are not accepting pull requests for new community-contributed visualization types at the moment. However, bugfixes for current visualizations are welcome. To edit the frontend code for visualizations, you will have to check out a copy of [apache-superset/superset-ui](https://github.com/apache-superset/superset-ui): +To edit the frontend code for visualizations, you will have to check out a copy of [apache-superset/superset-ui](https://github.com/apache-superset/superset-ui): ```bash git clone https://github.com/apache-superset/superset-ui.git @@ -847,6 +847,18 @@ The topic of authoring new plugins, whether you'd like to contribute it back or not has been well documented in the [So, You Want to Build a Superset Viz Plugin...](https://preset.io/blog/2020-07-02-hello-world/) blog post +To contribute a plugin to Superset-UI, your plugin must meet the following criteria: +* The plugin should be applicable to the community at large, not a particularly specialized use case +* The plugin should be written with TypeScript +* The plugin should contain sufficient unit/e2e tests +* The plugin should use appropriate namespacing, e.g. a folder name of `plugin-chart-whatever` and a package name of `@superset-ui/plugin-chart-whatever` +* The plugin should use them variables via Emotion, as passed in by the ThemeProvider +* The plugin should provide adequate error handling (no data returned, malformatted data, invalid controls, etc.) +* The plugin should contain documentation in the form of a populated `README.md` file +* The plugin should have a meaningful and unique icon +* Above all else, the plugin should come with a *commitment to maintenance* from the original author(s) + +Submissions will be considered for submission (or removal) on a case-by-case basis. ### Adding a DB migration