Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin structure for chart/visualizations/expressions #107500

Closed
timroes opened this issue Aug 3, 2021 · 3 comments
Closed

Plugin structure for chart/visualizations/expressions #107500

timroes opened this issue Aug 3, 2021 · 3 comments
Labels
impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. Meta Team:Visualizations Visualization editors, elastic-charts and infrastructure

Comments

@timroes
Copy link
Contributor

timroes commented Aug 3, 2021

After some discussion we figured, that we should strive to the following folder structure for visualization related plugins:

└ chart_expressions (just a folder, see 1)
  └ expression_tagcloud
  └ expression_pie
  └ ...
└ vis_types (just a folder, see 2)
  └ pie (previous vis_type_pie)
  └ tagcloud (previous vis_type_tagcloud)
  └ ...
└ visualize (the editor)
└ visualizations (the current visualizations plugin with shared visualize infrastructure)
└ charts (utility methods for all charts, e.g. palette service)

(1) This folder will contain all plugins offering a chart function and it's corresponding renderer. They are meant to be used among other plugins, e.g. every renderer/chart function that is supposed to be used shared between Visualize, Lens or Canvas should be extracted to here. We originally discussed having only one plugin for all chart_expressions. We decided against this, since we expect there do be different owners of those, and thus separate plugins make it easier to handle that.

(2) This folder will contain the legacy visualization types (i.e. visualize visualizations). If their renderer/expression is not shared with any other plugin, it can be contained within the vis_type_* plugin in this folder. If it's sharing a renderer/expression with Lens or Canvas, the renderer must be extracted into the chart_expression folder (see 1). When moving folders here we will strip of the vis_type_ of the folder name since it's kind of redundant. It should nevertheless remain in the plugin's id.

@timroes timroes added Meta Team:Visualizations Visualization editors, elastic-charts and infrastructure labels Aug 3, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app (Team:KibanaApp)

@timroes
Copy link
Contributor Author

timroes commented Aug 3, 2021

cc @ppisljar (since we discussed this)
cc @clintandrewhall I think it makes sense that we would group all your expression_* plugins also under the chart_expression folder in this case

@stratoula
Copy link
Contributor

This has been addressed!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. Meta Team:Visualizations Visualization editors, elastic-charts and infrastructure
Projects
None yet
Development

No branches or pull requests

4 participants