You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by GitBox <gi...@apache.org> on 2020/02/21 23:10:50 UTC

[GitHub] [incubator-superset] kristw commented on issue #9187: [SIP-38] Visualization plugin refactoring

kristw commented on issue #9187: [SIP-38] Visualization plugin refactoring
URL: https://github.com/apache/incubator-superset/issues/9187#issuecomment-589875402
 
 
   >
   >    - What was the original rationale in moving plugins out into their own
   >    repo(s)?
   >
   > * The collection of visualizations in Superset had grown organically over
   time, with varying quality and lack of ownership for some charts. All
   charts were shipped with every release of Superset. There was no easy way
   to get rid of them.
   * The chart code with no owner (after the PR was merged and the chart
   author abandoned them) became dead code that nobody owns in the main repo,
   and the list kept growing. Maintaining the "visualizations" folder at that
   time was a monumental tasks.
   * Developers have custom needs and keep asking to add more types of charts.
   Some are very specific and debatable whether that is useful for anyone
   else.
   * Very difficult to test the charts.
   
   Breaking them into independent packages and lighter weight repositories
   allow
   * more stable `incubator-superset` and less code to maintain. If a chart
   will only be used by single organization, then the entire community should
   not have to maintain it.
   * chances to deprecate uncommon charts by dropping the plugin from the main
   bundle, but still make them available as packages for developers to install
   them into their own deployment.
   * enforced decoupling. remove hacks for special handlings of certain charts.
   * less arguments about adding certain charts or not.
   * visual inspection of every PR with storybook and easier maintenance.
   * developer productivity: reduced ci build time, smaller codebase, able to
   apply more strict linting rules.
   
   More from https://github.com/apache/incubator-superset/issues/5680
   
   One key part of the embeddable project is to move towards *chart plugins
   > system*, which we can register only necessary charts for superset or
   > register custom ones as wish. This will give more flexibility to the
   > developers to customize their superset instances (making it more
   > lightweight, include-only-needed, or include custom vis type) as well as
   > improve maintainability of the superset codebase (instead of hosting every
   > visualization in the main repo).
   > In order to do that, we aim to split the chart types (i.e. most of the
   > things in src/visualizations) into one or more plugins (npm packages),
   > independent from superset. Then, we will implement a registry mechanism for
   > importing plugins.
   
   
   -Krist
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org