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

Cross App Renderer Alignment #95902

Closed
13 of 22 tasks
ppisljar opened this issue Mar 31, 2021 · 7 comments
Closed
13 of 22 tasks

Cross App Renderer Alignment #95902

ppisljar opened this issue Mar 31, 2021 · 7 comments
Labels
Feature:ElasticCharts Issues related to the elastic-charts library Feature:ExpressionLanguage Interpreter expression language (aka canvas pipeline) impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. loe:medium Medium Level of Effort Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas Team:Visualizations Visualization editors, elastic-charts and infrastructure

Comments

@ppisljar
Copy link
Member

ppisljar commented Mar 31, 2021

Currently we have 3 consumers of expressions: visualize, canvas and lens.

All of them support rendering different charts and for many charts we have 3 implementations. We should align and maintain a single implementation of each chart which should be reusable in any application.

Visualize supported charts:

  • vis_type_vislib
    is a vistype that contains pie, area, line, bar, horzontal_bar , goal, gauge and heatmap charts.
    Its deprecated and we plan to replace it in the future. Currently only visualize is using it and we should not spread the usage to other apps, even thou the renderers are written in a way that they are reusable outside of visualize, the actual expression functions are not written in a manner that they could be used from canvas.

  • vis_type_timeseries
    this is the visualization backing TSVB. Its deprecated, so please don't use it. TSVB supports xy charts, tables and gauges.

  • vis_type_timelion
    visuaization backing timelion. Its deprecated, so please don't use it. we have a timelion expression functions that allows you to query for data using timelion syntax. Use any of the supported chart types to render the output.

  • vis_type_xy needs cleanup before it can be reused [Canvas] XY_VIS #110430
    should be the xy replacement for vislib, but currently (apart from it using the elastic charts underneath) its not really written in a way that could be used in other places. This is probably the vis type that needs some attention (asap) to make it reusable. It supports line, bar and area charts, which should replace the vislib ones. This is going to be a large effort and will be tracked as a separate project which we will start once this one is finished.

  • vis_type_vega
    allows you to render vega lite specs. this vis_type is fully reusable and could be used outside of visualize (lens, canvas)

  • vis_type_markdown
    markdown visualization is fully reusable

  • vis_type_metric
    metric visualization that visualize uses. Its fully reusable and should be used in other places like lens and canvas

  • vis_type_tagcloud
    tagclud visualization that visualize uses. Its fully reusable and shuld be used in other places like lens and canvas

  • vis_type_table
    the table visualization visualize uses. Its fully reusable and should be used in other places like lens and canvas

Canvas visualizations/renderers

  • plot should be dropped in favour of vis_type_xy once that is ready to be reused [Canvas][meta] Unify Expression Renderers and Deprecate flot #101377
  • pie should be dropped in favour of vis_type_pie once that one is extracted from lens
  • metric should be dropped in favor of vis_type_metric
  • markdown should be dropped in favor of vis_type_markdown
  • progress should be moved into its own plugin
  • image should be moved into its own plugin
  • shape should be moved into its own plugin
  • repeat_image should be moved into its own plugin
  • reveal_image should be moved into its own plugin
  • embeddable should be moved into its own plugin
  • filters should be moved into its own plugin (blocked on [canvas] remove filters function #113530)
  • error should be moved into its own plugin
    Lens visualizations

Lens is using its own visualization types. Historically we want that way to allow lens to move forward faster, but we are probably at the point that we should revisit this.

  • xy_visualization should be dropped in favor of vis_type_xy
  • pie_chart should be moved to vis_type_pie. should relace vis_type_vislib pie chart in visualize
  • table_visualization should be dropped in favor of vis_type_table
  • metric_visualization should be dropped in favor of vis_type_metric
@botelastic botelastic bot added the needs-team Issues missing a team label label Mar 31, 2021
@ppisljar ppisljar added Feature:ExpressionLanguage Interpreter expression language (aka canvas pipeline) Team:AppServices Team:Visualizations Visualization editors, elastic-charts and infrastructure Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas labels Mar 31, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app-services (Team:AppServices)

@elasticmachine
Copy link
Contributor

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

@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-presentation (Team:Presentation)

@botelastic botelastic bot removed the needs-team Issues missing a team label label Mar 31, 2021
@flash1293
Copy link
Contributor

A large difference between lens and other expression existing expression renderers is lens_multi_table - see #74643

I don't have a good idea how to unify this without creating an API which will be hard to understand for humans editing the expression. Do you have an idea @ppisljar ?

@exalate-issue-sync exalate-issue-sync bot added impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:small Small Level of Effort loe:medium Medium Level of Effort and removed loe:small Small Level of Effort labels Apr 20, 2021
@exalate-issue-sync exalate-issue-sync bot added loe:large Large Level of Effort loe:small Small Level of Effort loe:medium Medium Level of Effort and removed loe:medium Medium Level of Effort loe:large Large Level of Effort loe:small Small Level of Effort labels Apr 28, 2021
@petrklapka petrklapka added 1 and removed 1 labels May 10, 2021
@markov00 markov00 added the Team:DataVis Team label for DataVis Team label May 25, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/datavis (Team:DataVis)

@exalate-issue-sync exalate-issue-sync bot changed the title Expression renderers alignment [expressions] renderers alignment Oct 6, 2021
@exalate-issue-sync exalate-issue-sync bot added impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. and removed impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. labels Oct 6, 2021
@exalate-issue-sync exalate-issue-sync bot changed the title [expressions] renderers alignment Cross App Renderer Alignment Nov 17, 2021
@ppisljar ppisljar removed the loe:medium Medium Level of Effort label Jan 11, 2022
@Kuznietsov
Copy link
Contributor

@ppisljar, this is a new issue with a plan of unification of xy chart for all the plugins (VisEditors/Lens/Canvas): #127115.

@exalate-issue-sync exalate-issue-sync bot changed the title Cross App Renderer Alignment i [Cross App Renderer Alignment] Aug 10, 2022
@exalate-issue-sync exalate-issue-sync bot changed the title i [Cross App Renderer Alignment] Cross App Renderer Alignment Aug 10, 2022
@stratoula stratoula added Feature:ElasticCharts Issues related to the elastic-charts library and removed Team:DataVis Team label for DataVis Team labels Nov 4, 2022
@ThomThomson
Copy link
Contributor

Closing this as the initiative was partially completed and we currently are not prioritizing work to align Canvas with the rest of Kibana.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:ElasticCharts Issues related to the elastic-charts library Feature:ExpressionLanguage Interpreter expression language (aka canvas pipeline) impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. loe:medium Medium Level of Effort Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas Team:Visualizations Visualization editors, elastic-charts and infrastructure
Projects
None yet
Development

No branches or pull requests

8 participants