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

Screenshot Service #116503

Closed
tsullivan opened this issue Oct 27, 2021 · 1 comment · Fixed by #120110
Closed

Screenshot Service #116503

tsullivan opened this issue Oct 27, 2021 · 1 comment · Fixed by #120110
Labels
(Deprecated) Feature:Reporting Use Reporting:Screenshot, Reporting:CSV, or Reporting:Framework instead enhancement New value added to drive a business result needs-team Issues missing a team label

Comments

@tsullivan
Copy link
Member

##Summary
At the lowest level the Screenshot Service will provide the ability for any Kibana plugin to take a screenshot of any Kibana page and return the output as a PNG or PDF.

At a higher level the Expression Screenshot Plugin will provide the ability to take a screenshot of a Kibana expression (be it a Dashboard visualization or Canvas element) and return it as PNG or PDF.

##Problem Statement
Currently, there is no single reliable way to export a Dashboard panel or a Canvas element as a PNG image. Currently, there also is no way to take a screenshot of an arbitrary Kibana UI.

We have the Reporting plugin, which internally is able to take screenshots of Kibana UI to generate reports. We would like to expose the screenshot taking ability of the Reporting plugin (the Screenshot Service) as a standalone plugin (the Screenshot Plugin), which would enable other plugins to take screenshots of Kibana UI for various use cases independent of the Reporting Plugin.

There are a number of use cases where we need to be able to create a screenshot of some Kibana UI:

  1. Kibana Reporting creates PNG and PDF reports by capturing screenshots of Kibana.
  2. Share-to project needs to be able to create PNG and PDF screenshots of Dashboard panels. (Maybe could be extended to Canvas elements, too.)
  3. Alerting needs to be able to send visuals in e-mails and Slack messages. The visuals could be a single visualization, or few visualizations (dashboard), or some other visual relevant for the alert.
  4. We want to enable solution teams to capture screenshots of Kibana UI.
  5. When embedding visualizations in comments, we may want to store visualizations as images, which capture the state of the visualization when it was created.

To solve for all the use cases above, we will create two plugins:

  • The Screenshot Plugin — implements the Screenshot Service, can install and use Chromium, knows how to wait until the Kibana page finishes loading, is able to clip specific regions of a page, and is able to return the screenshot as PNG or PDF.
  • The Expression Screenshot Plugin — is able to return a PNG or PDF of a Kibana expression (achieves it by using the Screenshot Service).

cc @vadimkibana

@tsullivan tsullivan added enhancement New value added to drive a business result Team:Reporting Services labels Oct 27, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-reporting-services (Team:Reporting Services)

@sophiec20 sophiec20 added the (Deprecated) Feature:Reporting Use Reporting:Screenshot, Reporting:CSV, or Reporting:Framework instead label Aug 21, 2024
@botelastic botelastic bot added the needs-team Issues missing a team label label Aug 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
(Deprecated) Feature:Reporting Use Reporting:Screenshot, Reporting:CSV, or Reporting:Framework instead enhancement New value added to drive a business result needs-team Issues missing a team label
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants