Keeping up with Kibana: This week in Kibana for July 19th, 2019

Kibana UI Update for July 15-19



New Platform

The final changes to move authentication to the new platform have been made, and will most likely have merged to master before you read this update.

Allow feature privileges which are excluded from base privileges

To enable ML and Reporting to transition to Kibana Privileges, we’re adding the ability for feature privileges to be excluded from the base privileges. This will allow users to grant access to ML and Reporting using the “custom” feature privileges during the 7.x timeframe.


New Platform 

The route handler interface RFC is pending final feedback from application teams. Mikhail has begin implementation, but we’re still accepting any final concerns before proceeding. All blocking issues for the security plugin’s migration have been solved.

We are in the process of adopting New platform Elasticsearch API to the legacy format to simplify further migration to the elasticesearch-js client. It shouldn't affect you unless you already use New Platform callAsCurrentUser / callAsInternalUser.

Migrating the Saved Object Client (SOC) to the new platform has turned out to be a bit more involved than we originally anticipated, but no critical roadblocks. We expect to begin review next week.

We’ve been iterating on the ContextService this week to make consuming it much more ergonomic. This should be reviewed and merged next week which will unblock the last stages of the ApplicationService and HttpService.

Stack Services

Alerting Service


  • Change action config / params schema from joi to @kbn/config-schema #40694
  • Creates structured result of running an action #41160
  • Renders email action message text as html from markdown #41187

in progress

  • Add security support for alerts and actions  #41389
  • Add an index action as built-in action
  • Task manager error handling enhancements #39829


  • Move UI telemetry into a library
  • Update mappings
  • Discuss 6 months plan


  • Automate label extraction and email sending to translators
  • [merged] Use .i18nrc.json as the source of truth and enhance tooling
  • Testing German and French locales
  • Discuss 6 months plan


We finished the essential test suites for the static filesystem and will start the refactoring phase and fine tuning next. The old member-access rule from tslint was also enabled on typescript-eslint as the support for it was finally added.


  • Enable @typescript-eslint/explicit-member-accessibility rule #41422

App Architecture

Embeddables & Actions

Now that the final PR has merged with the initial embeddables API, we have been working toward prepping the API and dashboard embeddable container for migration to the new platform.


We merged a fix for a long-standing bug affecting visualizations that were using the "other" bucket functionality for terms aggregations.

We opened a PR to add a @kbn/utility-types package for us to use in TypeScript across Kibana.

Kibana App (Visualizations, Sharing, Discover, Reporting)

New visual editor Lens

This week we thought about the basic structure of Lens and decided to add the concept of “layers”. This makes it possible to combine data tables of different queries (and even index patterns) in a single chart. The resulting PR touches a lot of places and is not merged yet, but will make charts possible as shown in the screenshot below.


Besides that we worked on showing Lens visualizations on dashboards by implementing the embeddable API and continued to improve performance. 

Elastic Charts

Version 8.0.2 is out with some breaking changes and new features:

  • You can now override the computed color of all the series of a specific type (all the lines for example) or of a series component using the fill/stroke attribute of the style. See #258 for more details.


This also means that we introduced a breaking change: the previous Theme includes also the fill/stroke attributes for the series styles: with this change, specifying a fill or stroke at theme level means to override and use the same color on every series that belongs to that overridden attribute.

  • We are also in the process to clean and restyle the legend. The first pass was to remove the redundancy of icons on the legend removing the eyeOpen/eyeClosed icons showing them only when necessary. We have now a bit more space for the series title.
  • image3.png
  • We also fixed the last two issues missing before replacing the Discover chart with elastic-charts, covering some edge cases when displaying a single bar.


PR for deangularizing kbnTableHeader is ready for review #41259

Before deangularizing kbnTableRow kbnDocViews has to be finished, so this is the next step.


Embeddables in Canvas

We have decided to tackle the embeddables in Canvas en masse, and by enabling this exciting new feature, Canvas adoption, relevance, and flexibility will increase.  From existing users to prospective customers, Canvas will allow everyone to quickly create and brand personalized content faster and easier with an extra dose of fantabulousness.

Canvas is currently in fast-follow mode behind the Kibana App Architecture team to enable existing shared visualizations like Maps in Canvas using the new embeddable architecture  for the 7.4 release.




Surprise. We’re doing some exploration on what the graph visualizations could look like. We don’t anticipate jumping too deeply into this project during 7.4, but it’s on our radar and will get some more attention over the next few minors.


Menu systems in the top nav exploration

One recurring pattern we’ve seen in the design team is that the apps are trying to put together various OS style “bar navs” to deal with their controls. We’re considering creating an actual nested menu system to deal with it. This would give folks a little more reliable way to deal with these sorts of situations and make our app to app experience a little more uniform.


Charting lib removed from EUI (breaking change)

We merged a PR in EUI to remove the charting library. Since this is a breaking change, we also went through and end of lifed a bunch of Sass mixins and the K6 themes.

  • We're hiring

    Work for a global, distributed team where finding someone like you is just a Zoom meeting away. Flexible work with impact? Development opportunities from the start?