-
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][meta] Unify Expression Renderers and Deprecate flot #101377
Comments
Pinging @elastic/kibana-presentation (Team:Presentation) |
Pinging @elastic/kibana-app-services (Team:AppServices) |
Pinging @elastic/datavis (Team:DataVis) |
Pinging @elastic/kibana-app (Team:KibanaApp) |
i can try working on an initial version of that vis_type guide. one thing to note is that we probably don't want to create actual vis types (something that would already appear in visualize editor) but just the expression function and renderer part. the main thing we'll need to address (besides moving some files) is described in this issue #74644 (and should also be done for all renderers that are not extracted out of canvas) |
@ppisljar @clintandrewhall Do you think we should use the And yes @ppisljar I'm putting together a guide. Should be wrapping that up shortly. |
i am ok with using i think the markdown (lets make sure its .mdx) should go under dev_docs (cc @stacey-gammon do you agree?) as its gonna be describing the good practices to creating expression functions and renderers. we already have a very simple tutorial there on how to register a function and a renderer for expressions. we could either extend those sections or (imo preferably) link from there to this more extended guides on writing fn/ renderer and the best practices around it. |
Perhaps we go with |
sounds good to me. the only thing i am not sure is if we want to refactor |
Gotcha... maybe just rename the plugin from |
👍 We'll go with |
just checking in on this, for 8.0, do you need anything from @elastic/datavis on this? |
Closing out this initiative for now as it has been mostly completed, and we are unable to prioritize the remaining portions. |
Background
At its inception, Canvas created a novel means of data manipulation and rendering we now call
expressions
, where a set of string-based "steps" take input and supply output to the next step. Expressions as both a concept and runtime were then extracted out into theexpressions
plugin in Kibana. To date, more products such as Lens use Expressions to manipulate and visualize data.While the Expressions tooling was successfully extracted, the rendering portion of the Expressions-- functions such as
revealImage
,plot
,shape
, etc-- were tightly coupled to Canvas and remained untouched. Many of these renderers utilize an olderjQuery
plugin known asflot
to render charts.In the time since these renderers were written, Elastic Charts has become the preferred (and frankly, better) method of data visualization, while
flot
has fallen out of favor and into a barely-maintained library. With each passing release, the Canvas chart renderers become more and more difficult to maintain, and thus have been slated for replacement with Elastic Charts for quite some time.While one might think the biggest bottleneck migrating these renderers from
flot
to Elastic Charts might be time, in reality, it's release strategy: changing the renderers to use a different charting library constitutes a breaking change. As a "pixel perfect" presentation solution, users should not upgrade to the next minor and have their Canvas workpads visually change, or even break.We originally planned these changes for 8.0. After spending some time researching these updates as breaking changes, a better strategy emerged: unification and deprecation.
Points of Contact
Reference
Considerations
src/plugins
and begin with thevis_type_
prefix.revealImage
,shape
, etc-- or working with other teams to refactor existing plugins--visTypeXY
,visTypeMarkdown
, etc-- to meet everyone's needs.filters
,embeddable
, etc-- should not be extracted.Implementation Considerations
Project Plan
vis_type_*
plugins that currently exist.revealImage
shape
error
repeatImage
image
metric
progress
vis_type_
plugin APIs for use in Canvas.Long Term
Result
vis_type_timelion
andvis_type_tagcloud
.gauge
andmetric
.The text was updated successfully, but these errors were encountered: