Keeping up with Kibana: This week in Kibana for September 16th, 2019
Kibana UI Update for 9/9 - 9/13
Hiring
- Kibana - Senior JavaScript Engineer
- Kibana - Platform JavaScript Engineer (Node.js)
- Kibana - Visualisations Engineer
Security
Space specific default routes
The space specific default routes PR is going through review. Once a PR which migrating portions of the Spaces plugin to the NP merges, we will be updating this PR as it makes everything much simpler.
SAML redirect and hash based routing
Initially, we were intending to take advantage of SAML’s RelayState to store the redirect-url during the SAML handshake. However, the SAML specification limits the size of the RelayState to only 80 bytes, so this ended up being infeasible. Instead, we’ll be storing the redirect-url in the session cookie if it’s under a configurable limit, or falling back to the prior behavior. Updates to the PR implementing this are forthcoming.
Platform
New Platform
We’re adopting a much more flexible approach to our planning going forward. This will allow us to reprioritize quickly so that we can make sure we’re working on the most important blockers to plugin migrations. While we’re primarily focused on unblocking plugin teams by delivering more APIs, we’re also working on improving documentation & migration assistance.
This week we started working on the TaskService RFC, and are working to complete the SavedObjectsService on the backend and Licensing plugin on the frontend. We’re also migrating the global banners feature to the New Platform.
In addition, we’re completing our legacy blocker audits with plugin teams. We expect to have the audits done by next week for all plugins. This helps the Platform and App Arch teams prioritize work to unblock plugin teams faster as well as help plugin teams plan their migration.
For the New Platform migration, 5 PRs were merged by plugin teams this week, all by the App Arch team.
Operations
The tracked branch jobs on Kibana CI have been updated to use Pipelines, while PRs continue to use Matrix jobs.
We also had to create manual snapshots for ES master as the release pipeline has been stuck for a couple weeks and the snapshots we were using have been retired.
The team continues working on notarization required by macOS Catalina, the next major version of macOS.
Maps
Geo-Elastic Maps Service
v7.4 release of the EMS Landing Page (https://maps.elastic.co/v7.4) has been deployed
- Uses vector tile basemaps to match the 7.4 release of Kibana ems-landing-page/#122
- It is now possible to zoom in past zoom level 10 (backported to all releases) ems-landing-page/#123
- HTTPS redirection is more optimized (backported to all releases) ems-landing-page/#124
New vector layers in review. We plan to add a few more European countries before publishing to production.
App Architecture
Data Access Services
Data plugin setup APIs are now exposed in the start phase.
New Platform Migration
Lots of work happened here this week:
- Data and expressions plugins got split up, and expressions plugin now has improved exports.
QueryBar
is nowQueryBarTopRow
- Some
index_patterns
return types have been converted to TypeScript. - The existing TSVB plugin was moved into its own dedicated metric visualization plugin that adheres to the new platform plugin structure.
- Visualizations plugin was prepped for migration to the new platform and old rendering infrastructure was removed.
- Various pieces of
ui/field_formats
were moved to thedata
plugin.
Kibana App (Visualizations, Sharing, Discover, Reporting)
Elastic Charts
This week we worked on fixing some bugs including an infinite loop issue in IE11 (#371), fix onBrushEnd listener error (#376), add whitelist ability to percy visual testing to help fix flaky UI tests (#45733).
We also added the ability to set the axis tick visibility (#374)
KQL
- Saved queries were added to Maps! (https://github.com/elastic/kibana/pull/44442)
Graph
Last week the outstanding PRs for typing code saving and loading workspaces and redesigning the settings flyout got merged into master. This brought us to 40% typed code - a good portion of this is additional unit tests though so there is still some room to cover for the migration - a detailed plan will be created this week.
he next pieces of UI moving to React and Typescript are the search bar (with KQL support) and the field manager. Besides that a PR adding a way to pre-populate the Graph with correlations among the most common terms as a part of the “Improving getting started UX” theme is currently in development.
Discover
Merged: De-angularize and EUI-ficate Discover Context control #44474
In Review: De-angularize discover doc #44660
Next up: Redesign of the side menu
Canvas
I18n
The whole Canvas team is focused on bringing Canvas up to speed with localization efforts. This has been backlogged since Canvas went GA and so we are making a concerted effort to get it done now.
Monaco Code Editor
We have started moving Monaco into the kibana_react plugin so that other plugins can make use of it.
Bobby Rossesses Canvas tip of the week
Laurent Huet was curious about how to correctly use the URLPARAM variable inside of Canvas… and then figured out the answer themselves!
essql query={string "select message, machine.os from kibana_sample_data_logs where machine.os='" {urlparam variable="os" default="test" } "'"}
...and finally, all closed PRs for the week.
Design
Editor-style controls and compressed forms
The long-awaited design update to compressed forms has been officially released in EUI! The changes are a big improvement for forms in small containers and tight spots, but also allow for layouts not previously possible. The design team is already hard at work updating impacted forms in Kibana and will continue introducing the new paradigms in the coming weeks. The plan is to be done with all the updates by 7.5 feature freeze. You can follow the progress and timeline in the meta ticket.
A smart(er) datagrid
EUI’s to-be-released datagrid component continues to gain features and functionality. Most notably, it can now detect the data schema from rendered values, and automatically apply styles and formatting based on that information. Think currency and number formatting without any extra configuration!
Query bar and item suggestions
In good practice for a design system, the team made a first-class, reusable component out of an established Kibana pattern: the KQL/query bar. The input and suggestions are each standalone display components to help folks build custom search boxes and query bars.
Discover menu
The Discover app’s field selection menu is getting some design and interactions updates. A GIF is worth (at least) a thousand words:
Stack Services
Alerting
Throttling PR is ready for another round of reviews (#41919). Looking into creating alerts on system startup (#45571). Updated the docs to mention “manage_api_key” cluster privilege is required in order to use alerting with security enabled (#45375). Some users have this privilege already.
The event log work is progressing, work underway to attempt using Saved Objects instead of straight to an ES index (#45081).
Reporting
We did some preparatory work for Scheduled Reports MVP and all its implementation details. We also worked on UX improvements to Reporting (new UI elements and Reporting Table cleanup) in addition to following up on support handbook and SDH tickets. A mass of TypeScripting PRs have been merged. That should make it easier to take on whatever optimization we can do for Canvas / Multi-page reports. We also took a stab at building a plugin to integrate with Task Manager, to gauge the amount of work getting started with Scheduled Reports.