docs: new contributing language around adding new plugins (#10507)

* Update CONTRIBUTING.md

* nixing bugfix line (unnecessary)

Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>

* proper caps on TypeScript

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

Co-authored-by: Jesse Yang <jesse.yang@airbnb.com>
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
This commit is contained in:
Evan Rusackas 2020-08-03 20:14:25 -07:00 committed by GitHub
parent c58bb852db
commit 5bb8b9790f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 1 deletions

View File

@ -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