-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[Canvas] Remove Flot from Canvas Visualizations #83029
Comments
Pinging @elastic/kibana-presentation (Team:Presentation) |
My 2cents is: not option 3. Removing flot in 8.0 should be a high priority for the team - 9.0 is just too far away. |
I'm a little confused on how we propose to do Option 2. Would we still leave flot in for backwards compatibility and just remove Canvas elements from being added? @clintandrewhall |
@timductive a. Remove |
Thanks @clintandrewhall as per our discussion it would be nice to have some telemetry on flot usage and some effort R&D for option b vs c. |
Closing in favor of #101377 |
Introduction
Since its inception, Canvas has used
flot
for its charts. This imposes a number of restrictions:jQuery
, of which no other components requireflot
, Canvas requires deep knowledge which isn't shared elsewhere in Elasticpie
The goal is to remove both
flot
andjQuery
in Canvas.Considerations
We cannot replace
flot
in a minor release. Canvas is a "pixel-perfect" tool, and replacingflot
means that workpads will change... in a significant or minor way, it doesn't really matter. Upgrading from 7.x to 7.x+1 shouldn't result in Canvas-rendered charts being different.Therefore, we're planning to remove
flot
in 8.0/9.0. As a result, we need to plan for its removal now.Options
We have a two options-- one pragmatic, one bold:
flot
with Elastic Charts.flot
-based Canvas elements with embedded Lens/Visualize objects.Replace
flot
with Elastic ChartsWe could choose to remove
flot
and render EC visualizations instead.Pros
Considerations
flot
with Elastic Charts. Some time has passed since, but, at the time, there were some gaps between what EC and Canvas could present. We'd have to decide whether to fill those gaps or live with the differences.Replace
flot
-based Canvas elements with Lens/VisualizeWe could choose to double-down on the amazing experiences Lens/Visualize provide. Canvas could choose to drive people to Lens to create new visualizations on workpads, rather than create them within Canvas.
Pros
Considerations
Plan
As I see it, there are a few ways to plan to remove
flot
in Canvas:a. Show elements in error with migration tips/wizard to Lens;
b. Leave
flot
-based expression code in place to support older workpads; remove in 9.0;c. Migrate
flot
-based expressions to a Kibana plugin (installable by Fleet?) that people would have to install for older workpads to work?flot
in 8.0, move to Lens Embeddables in 9.0.a. Provide "heads up" opportunities in 8.0 that prepares users for the change.
Personally, I am leaning toward Plan Option 2. It rips off the band-aid early and frees us up to focus. As Lens and Canvas both gain traction, it's going to be much harder to train people off the experience they're used to in Canvas without pain. I'm also wary of investing time in moving to Elastic Charts only to see Lens embeddables surpass Canvas elements.
The text was updated successfully, but these errors were encountered: