Keeping up with Kibana: This week in Kibana for September 6th, 2019

Kibana UI Update for 9/2 - 9/6

Hiring

Security

Space specific default routes

Currently, the default route is specified in the kibana.yml and applies to every space. We have created a draft PR which allows this to be configured on a per-space basis using Kibana’s advanced settings.

SAML redirect and hash based routing

Due to the nature of Kibana’s hash-based routing, Kibana’s server does not have access to the full url which is required to redirect the user when the SAML handshake is initiated. We have a draft PR which uses an intermediary page in Kibana to capture the full URL. This will solve a considerable part of this problem, but Elasticsearch will also be implementing relay state to allow us to redirect to the full url.

Sharing saved objects in multiple spaces

The Kibana security team has come to general agreement on a high-level technical approach. Further investigation and documentation is forthcoming.

Platform

New Platform Development

The team is 100% focused on helping teams migrate their plugins to the New Platform. In the past two weeks, we’ve met with Canvas, Maps, Integration Manager, and Elasticsearch UI to help guide their migrations and collect information about remaining blockers to completing their migration to the New Platform.

We’re collecting this information to help prioritize our 7.5 roadmap that we are finalizing next week. In the meantime, we’re polishing and finishing up some projects from 7.4:

Completed this week

In Progress

New Platform Migration

All teams should begin their migration work to the New Platform during 7.5. This is critical to ensure that we get all migrations done before 8.0.0-alpha1. Be sure to reach out to your team’s migration consultant if you have questions or need help planning your migration. We’ll be meeting with all teams regularly going forward.

This week 6 Migration PRs were merged, all were done by the App Architecture team.

Operations

The PR for our static filesystem #43884 for node modules is now out of the draft state and starting review. To reiterate the impact this has: 475% reduction in unzip time on Windows stemming from a 411% reduction in the number of files. 

The team is working on reducing the number of workers needed for a CI run. We have taken this from 28 workers down to 4 in #445289.

App Architecture

Embeddables

The action interface no longer requires an embeddable and triggerContext to be passed in. The shape of ActionContext is now completely up to the specific action implementation.

New Platform Migration

Lots of good progress this week:

Kibana App (Visualizations, Sharing, Discover, Reporting)

Lens

We are making final preparations for merging to master, which will help us stay on top of new platform changes that are happening faster than we can keep up. The biggest remaining requirement for our merge is to increase functional test coverage.

Graph

Last week, the second PR of making saved object management consistent with other apps got merged. A follow-up PR moving all of the setting menus into an EUI flyout is currently in review. It also gives the forms a fresh new look (thanks a lot for the help from the design team!). A PR re-enabling functional tests for the Graph app is currently in review.

Next steps include EUI-ification of the “graph bar” (vertex type manager, index pattern picker and search bar) and incremental conversion of the existing code to Typescript.


Elastic Charts

This week we merged PR to migrate TSVB to elastic-charts

Continuing to work on migrating Discover (coming soon) as well as new features for the chart library.

Add prop to settings to remove duplicate axes when they have the same range, step, tick format and position. 

Implemented feedback on the pie / sunburst / donut chart annotation; started the integration work.

Discover

The de-angularization of Discover’s Context led to also EUI-fication and a bit of redesign. PR is currently under review #44474. The follow up PR takes care of de-angularization of Discover’s doc #44474.

Canvas

i18n

That ol’ Canvas gang has been hunkered down in their bunkers doing i18n stuff for the past week.  Translation is fun - and rewarding. 

Design

What is old, is new again

The design team is currently contributing to several projects where older parts of Kibana are being updated. This week’s contribution is on EUI-ifying the Graph application.

kibana-eui-flyout3.png

Elastic Charts has new docs

So you’re considering converting your old crusty charts to Elastic Charts? Good on you!

While the code for Elastic Charts lives in its own repo, docs pertaining to theming and coloring live on the EUI site. A significant PR (#2209) was merged this week which, experts agree, demonstrates our best docs to date. Be sure to check out the ‘Coloring charts’ section where you can try different options and copy the configuration code!

kibana-elastic-charts-docs.png

New compressed, editor-style forms and controls

Let’s just say Marie Kondo would be proud of our progress on compressed forms and input controls. While EUI currently provides a compressed prop for several form inputs, that style has been updated in an effort to better accommodate forms in tight spaces (think forms in side bars and small panels).

Several PRs have been made against a feature branch with just a few cleanup iterations remaining before this is released to the wild. Due to the changing of current compressed styles, this work will be considered breaking and the team has a plan in place to migrate affected forms to the new style. Read the details of that migration plan here: #2286

kibana-compressed-form.png

Moar Datagrid features

The team continues to make great progress on the upcoming Datagrid component. Sorting, fullscreen, responsiveness, and accessibility improvements have all been added (#2230) with attention now shifting to multi-column sorting.

kibana-datagrid1.png

kibana-datagrid2.gif

EUI GH DB

There are two great resources you’ll need when building a workpad in Canvas: 1) some readily available data and 2) example Canvas expressions. In an effort to learn more about designing in Canvas, and generate example content for new users to reference, the design team is putting together an EUI GitHub Dashboard (EUI GH DB...ahem) workpad.

kibana-eui-canvas.png

Stack Services

Reporting

More work went into fixing bugs and issues around the new Chromium build, as well as logging and stability improvements. We’re preparing to embark on Scheduled reports soon, so some time was spent planning and conceptualizing what this would look like and how we might accomplish it.

  • Move our binary assets over to GCP from AWS (#44685)
  • Fix build checksums + rename them for clarity (#44665)
  • Remove chromium stdout/stderror observables, add brower logger (#44359)
  • Don’t use the connection header on every request (#44343)

Telemetry

We started working on moving telemetry to open source.  This will be an ongoing effort as it will take a while to move things and verify that everything still works properly.

Alerting

We merged #44483 which provides white-listing support for actions that make network calls, which was a blocker for getting the previously disabled webhook action enabled again; and it’s enabled again!  We have also started in on some Kibana UI for alerting and actions.

We started in on the “event log” (new es index) to capture both CRUD-level action/alerting api requests, as well as action execution / failure, and alerting interval checking / firing.  These will provide the data for the alerting / action UI. Initial primitive draft PR is available #45081, and an umbrella issue was created to track sub-tasks #45083