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

Kibana Actions implementation plan #32371

Closed
16 of 33 tasks
lizozom opened this issue Mar 3, 2019 · 2 comments
Closed
16 of 33 tasks

Kibana Actions implementation plan #32371

lizozom opened this issue Mar 3, 2019 · 2 comments
Assignees
Labels

Comments

@lizozom
Copy link
Contributor

lizozom commented Mar 3, 2019

This issue tracks work of the Kibana Actions of the @elastic/kibana-app-arch team.

Very broadly, actions are executable functions, or a pipeline of functions that will allow enriching the Kibana workflows. Some possible examples are:

  • Filtering (current default)
  • Navigate \ drilldown
  • Export to PDF, image, etc. - relies on new chart implementation
  • Setup alert

Principles

  • Actions are to be defined and configurable at the embeddable level, so they can be supported for visualizations, saved searches, maps and on Canvas and also so that a single visualization can have multiple actions defined in the context of different dashboards.
  • There can be multiple actions defined per each event. In case of more than one available action for the event (i.e. filter and drilldown available), the user would be shown a contextual menu to choose the action to execute.

Implementation Plan

Phase 1: Initial Embeddable API Branch

  • Introduce action and trigger saved objects and registries
  • Move dashboard container code into a separate plugin
  • Move embeddable API out of ui/public into a separate plugin
  • Move dashboard panel chrome into common embeddable API
  • Implement saved searches filter trigger using new action APIs
  • Create a sample functional test plugin that uses the new APIs and introduces Hello World Embeddables and Actions.

Phase 2: Clean up Embeddable API Branch

  • chore Clean up input vs output states. They shouldn't overlap unless an embeddable modifies an input and exports it as an output state.
  • bug Fix "Add new visualization" functionality (not being added to dashboard)
  • bug Convert Map embeddable to new API.
  • bug Grabbing index patterns on dashboard for filter bar needs to be re-implemented.
  • chore Make sure new CSV export panel action still works, convert if necessary to new APIs
  • test Add tests that run against the sample functional test plugin.
    • test Ensure a missing embeddable or action is handled properly as this can happen with plugins installed, that are then uninstalled, but their data still exists on a dashboard for instance.
    • test Simple container example, test adding an embeddable renders.
  • chore improve documentation.

Phase 3: Create initial PR

  • Split apart only the necessary pieces of the Embeddable API branch to the bare minimum required for the first merge of the new APIs.

Phase 4: Introduce new functionality in secondary PRs

Phase 5 & beyond

  • Expression Action to allow chained pipeline
  • Option to inherit state from previous dashboard (time frame, filters, navigation)
  • Option to set static filters for drilldown (time frame, filters, navigation)
  • Allow configuring drilldown behavior
  • New action: Send to slack
  • Action editor management page?
  • [ ]Add new Navigate to App action
  • Support chart events:
    • series data click (currently fires filterBucket event on supported visualization types. Will require adding support on other visualization types)
    • visualization click (currently does nothing)
  • Support more chart events (direct navigation (default), new tab, new window)
    • hover
    • brush

Additional Resources

Drilldown \ navigate action ticket
Embeddables and Actions design doc
Living architecture doc - Actions
Use cases

Things to keep in mind \ consider:

  • Read only users (permissions)
@lizozom lizozom added Meta Team:Visualizations Visualization editors, elastic-charts and infrastructure :AppArch labels Mar 3, 2019
@lizozom lizozom self-assigned this Mar 3, 2019
@stacey-gammon stacey-gammon changed the title Kibana Actions roadmap Kibana Actions implementation plan Mar 19, 2019
@timroes timroes removed Team:Visualizations Visualization editors, elastic-charts and infrastructure labels Mar 27, 2019
@fyodorr
Copy link

fyodorr commented Apr 17, 2019

Looking forward to this change. This would help and open up a lot of new use cases for Kibana.

@ipushkarr
Copy link

Hey, Liza. I'm looking for bubble up click and brush events on visualizations to embedded layer. Do you have any updated when It will be available in Kibana ? Or can you give me path forward to implement the same ? My Parent application is Angular 8 and I have integrated Kibana for chart dashboard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants