06 July 2018

Keeping up with Kibana: The week of July 2nd, 2018

By Lee Drengenberg

Welcome to Keeping up with Kibana! This is a series of posts on new developments in the Kibana project and related learning resources and events.

Job Openings in Kibana:

Internationalization (i18n)

While work proceeds on tooling and tests for localization, we’ve merged the base i18n engine with support for translating React components and Angular templates. On deck is taking the engine for a test run on a portion of the Management app before we roll it out throughout Kibana.


Other news

Geo

  • EMS now publishes four new data layers with administrative subdivisions:
    • Australia States
    • Switzerland Cantons
    • Japan Prefectures
    • Irish Counties

GIS-ScreenShot.png

Features in these layers contain the corresponding ISO-3166-2 identifiers, and have field names in the official language (or languages) of the country.  These can be used to build region maps.


  • Work is underway on a new GIS UI plugin to bring Kibana’s mapping capabilities up to parity with the functionality displayed at the Elasticon demo in March. The following features have been implemented:
    • Openlayers map display
    • Add/preview layers from EMS Sources
    • React/Redux source/layer pipeline for easy addition of new sources/layers
    • Interactive layer re-ordering
  • Core development of the EMS Landing Page, a website to browse all the available data layers from EMS, is completed. Infra is currently working on creating a production deployment of this app. Stay tuned!

Management

The team focused on adding support for integrating visualizations with rollup indices, EUIfying the scripted fields editor, improving Console autocompletion (#20218, #20151, #20013, #19928), and refactoring Courier in preparation for supporting rollup searches (#20332, #20315, #20060). Although not Management-specific, we also helped a community member get a massive 472-file spell-check PR over the line.


PRs

  • EUIfied the Grok Debugger (#20027) and added Static Lookup field formatter (#19637)
  • Removed numerous unused or unnecessary Notifier methods (#20327)
  • Simplified the trial license logic (#20211)

Platform

The new platform on the server is imminent. All PRs into the feature branch have been reviewed and merged.  We’re doing one last high-level spot check with a goal of merging early next week. This change should not impact downstream teams, but if you notice any weird global behaviors server-side, give us a shout.


We made a bit of a breakthrough with the new platform in the UI effort that greatly simplified the effort. We now see a clear path toward legacy and new platform apps running side by side, along with both legacy and new platform global behaviors working in both types of apps.

While work proceeds on tooling and tests for localization, we’ve merged the base i18n engine with support for translating React components and Angular templates. On deck is taking the engine for a test run on a portion of the Management app before we roll it out throughout Kibana.

PRs

  • Use @kbn/test on Kibana CI #18967
  • Update makelogs to 4.1.0 #20232
  • Remove Notifier lifecycle, timed, event, describeError, and log methods #20327
  • Add draft implementation of I18n engine #19555

Sharing

Here are the main PRs we addressed:

  • Add isBeta flag to add data module schema #20049
  • Continue to typescriptify dashboard and reporting #19857, #20061
  • Migrate dashboard save error from old toast message to new EUI toast #19956

Overall, 17 PRs had activity this last week!


Visualizations

Work to finish the new chart component in EUI continues. We did a lot of preparation for refactoring for using the Canvas pipeline in all Kibana visualizations. To support rollups in Kibana, we're refactoring and extending the existing editor and infrastructure in a way that we can limit down available aggregations (#19913), fields (WIP) and fixing or disabling parameter (WIP).


Also,  you are now able to use a multiple of the overall chart time as an offset in Timelion (#19709).

PRs

  • Allow setting offset relative to overall chart time (#19709)
  • Change AggConfig(s) to ES6 syntax (#20224)
  • Reactify visualizations (#16425)
  • Remove Angular from Courier request handler (#20032)
  • Fix flaky visualize lab mode tests (#20165)
  • Remove unused code src/core_plugins/metrics/public/services/executor_provider.js (#20135)
  • Add AggTypeFilters to filter out aggs in editor (#19913)

Design

Work on the popover service continues, including fixing position when content is dynamic. Work continues on the new visualization editor—we're building out the (responsive) layout in the prototype. Work also continues on the Super Select dropdown. We are finalizing some prerequisites for the global nav components and hope to start building these out in EUI soon.

Docs

The Saved Object and Getting Started documentations are getting updates.  New docs for the APM UI have been published.


EUI version status

EUI is now at 1.0.1

  • Kibana master is at EUI 0.0.55. No breaking changes to upgrade. Though it looks like some outstanding issues with popovers may be blockers to updating.
  • Cloud master is at EUI 0.0.44. Four breaking changes to upgrade, mostly around tables.

PRs

  • EuiComboBox list is positioned correctly in IE (#946)
  • EuiPopover now positions popover content over all other elements, instead of sometimes clipping and EuiOnClickOutside works with child components rendered via React portals (#948)
  • Add more (mainly style) options to EuiRange (#932)

Security

Role Based Access Control (RBAC) Phase 1 has been peer reviewed.  We’ll be adding integration tests for the Elasticsearch APIs that aren’t covered by our existing Saved Object specific API integration tests, and adjusting the legacy fallback deprecation log to only happen on login.

The PR to make the SavedObjectClient space aware is submitted, and there were some minor changes requested. We also worked with the design team to determine the best design for presenting the “base privilege” for all of Kibana and then allowing customization at the space level.


QA


Until next week,

Kibana Team