Keeping up with Kibana: This week in Kibana for September 6th, 2019
Kibana UI Update for 9/2 - 9/6
Hiring
- Kibana - Senior JavaScript Engineer
- Kibana - Platform JavaScript Engineer (Node.js)
- Kibana - Visualisations Engineer
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
- ApplicationService Mounting - a big one! Enables NP plugins to have UI apps in the browser
- Move licensing client to New Platform (server-side)
In Progress
- Move SavedObject migrations to New Platform
- Move licensing client to New Platform (browser-side)
- Move global banners to New Platform
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:
- Timefilter code was moved to the data plugin.
- Visualization plugin got its np_ready folder setup by a very helpful community member.
- More index_patterns components and field_formats were converted to TypeScript.
- We also fixed a bug with navigation to the TSVB Panel Options and stabilized some flaky tests.
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.
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!
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
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.
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.
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