Keeping up with Kibana: Welcome to 2019! (catch up edition)
Welcome to Kibana weekly update!
Lots of news to share from the last month while Kibana Weekly blog was on vacation. But first, yes, we are still hiring...
- Senior Product Manager, Kibana (Platform & Security)
- Kibana UI/Front end Team Lead
- Kibana - Visualisations & Vega Engineer
7.0 is coming!
7.0 Beta is coming soon. Here is a sneak preview of the new chrome and the light/dark themes that will be part of that release:
Introducing Elastic Charts
We've published the first version of elastic-charts on npm. This library will replace the existing EUI component (as well as other chart library implementations that we currently use) and will include new features and functionality in the next phase.
Feel free to check out the various styles and features here.
Kibana now has a content security policy!
The new Role Management UI is in! We also began work on removing deprecated functionality for 7.0, including the ability to rely upon direct index access to Kibana and some legacy ssl settings.
Progress continues on integrating the various applications with Feature Controls. After some deliberation, the method in which APM, Monitoring and Machine Learning will be exposed using feature controls has been decided, and the PR is going through review. We’ve enabled feature controls in Maps, Advanced Settings, Maps; and we’re actively working on integrating them into the remaining application.
We have been working on wrapping up localization and Chinese translations for 7.0.
We also worked on how to better support/enable users to translate in their preferred languages while waiting for Elastic supported and maintained translation.
With the help of the infamous kibana security team the changes to the saved object service for hiding saved objects from the default repository are coming along but still in review. The secret store has been renamed to the secret service and is ready for early review and feedback #28894 . FYI, a more thorough definition of the phases in Alerting meta issue is currently a work in progress.
Browser testing coverage
Have had a successful build with WebDriver (replacing Leadfoot library) and most tests also pass on Firefox #26477
New platform: The initial review of the new Elasticsearch service is done, and now work turns toward polish and test coverage. This will be the new definitive way to interact with Elasticsearch, but it'll seamlessly power the legacy elasticsearch plugin capabilities. The first existing plugin to start migrating functionality over to the new platform will be canvas! The canvas team had rolled their own plugin system awhile back in order to be more flexible with their expression model, but their functions are relatively decoupled from the legacy bits of Kibana, so they're a great candidate to move to our new plugin system.
The saved object service now supports first-class object relationships. This is a breaking change in 7.0 that will allow us to implement much more robust object interactions and sophisticated import/export functionality.
You can now specify whether you want spaces to act as OR or AND when searching with the saved object client.
An extensible help menu was merged for 7.0 onward. This links off to Kibana documentation by default and allows individual apps to register their own help content.
All previously deprecated elasticsearch.* settings have been removed for 7.0 onward.
- Evaluating visual test tools: Percy and Applitools: Kibana Slides.
- Percy highlights: DOM Snapshotting and rendering across browsers
- Applitools highlights: Nice way to omit verification from parts of the screen and allowing multiple matching options.
- Working with Percy support to get canvas elements to render in their tool and re-doing examples with Kibana.
- Evaluating Cypress with use with Percy for visual testing.
- Walter gave a nice demo of his work.
The design team is mostly in polish and feedback mode now against 7.0. We took in a lot of feedback on the nav changes and made some subtle adjustments there with timings that should make those interactions more pleasant, but there’s still work to do there. Thanks to Matt and Nathan, the EUI datepicker is now is use across the discover, dashboard and visualize applications. Now that the core theming / sass system is complete we’re able to go through each app and do lots of cleanup work. Last week we focused on the Dasbhboard and Discovery apps, but have plans to do similar cleanup for the others as well.
On the EUI front, the dual range slider was merged and available in Kibana master. We’ve locked the 6.7 and 7.0 branches at EUI@6.10.x and will only be releasing patch releases there if we can manage. We got an unexpected and much loved PR from Liza to provide some i18n deugging tools which we hope to get to master soon. As part of our cleanup around general security and dependency improvements in Kibana we went ahead and updated lodash to version 4. This will not go in with 7.0 and we’ll monitor for any changes downstream it might cause.
- Make map gradients more subtle #30345
- Slight tweak with dark bg color #1530
- K7 Discover app cleanup #30037
- Homepage style updates #30341
- EUI 6.10.0 & Background color fixes #30136
- EUI-ify the empty prompt view #4
- [K7] Side nav interaction adjustments #29978
- [K7 navigation] Reposition Discover tooltip and hide chrome on welcome #29769
- Feature/more i18n tokens #1504Move pagination react keys onto wrapping elements #1514
- Upgrade lodash to v4 #1534
- EuiDualRange component #1485
- Pause `EuiOutsideClickDetector` in `EuiPopover` and `EuiColorPicker` #1527
- Polish for beta in 6.7/7.0 continued, notably:
- better error handling and more useful warning and error messages
- upgraded mapbox dependency for smoother line visualizations
- improve sample data for all three sample data sets
- Integrate geotile_grid aggregation as default clustering mechanism in 7.0. This improves the look and feel of heatmaps. The app can now preserve the same aspect ratio of the grid at each scale.
- Kickstart effort on getting embeddability of maps in dashboards. This is a major next feature.
- Work on deprecating France and US zip code layers and replace them with newer ones
- Upgrade assistant telemetry (#28878)
- Support for generating docker image on kibana build (#28380)
- Upgrade thread-loader (#27518)
KibanaApp (Visualizations, Sharing, Discover)
The team focused on and will focus in the next weeks on creating a very solid 7.0 release, meaning a lot of bug fixes incoming, stabilizing features, finishing the last remaining EUI changes and refactoring (for better maintenance).
Made significant design improvements on Dashboard (including responsive layout for dashboards!). Also we're busy moving the saved object client (browser side code) to TypeScript, since it's one of the core APIs used in a lot of places.
- Enable query bar datepicker in core apps where appropriate (#30171)
- Fix/reporting vis preserve (#30456)
- Don't trigger autorefresh when autofetch false (#30405)
- Remove filterbar for markdown visualizations (#30354)
- fixes gauge filters (#30057)
- Correct label for OS vis in logs sample data (#30249)
- Add autocomplete to TSVB (#30158)
- Fix filter context menu overlapping with left side bar (#30020)
- Makes KQL the default query language for new searches (#27092)
- Fix legend overflow bug on dashboard vis (#29948)
- Hide dashboard edit mode on small screen sizes (#30103)
- Replace angular timepicker with EuiSuperDatePicker (#29204)
- Use Elastic Maps Service v7.0 (#30006)
- Toggle between Expression Pipeline & Visualize Data loader (#29874)
- Enable orderBy and orderAgg in vis editor for rollup visualizations (#29894)
- Timelion/hide timelion (#30131)
- [OSS-Telemetry] Make the plugin have the right config prefix (#30005)
- Fix TSVB flot chart render after index pattern change (#29949)
- Microsoft SQL Server Kibana Tutorial (#29987)
- Prepare vis data loader cutover (#29873)
- Introduce `I18nService` core service and `I18nContext`. (#29379)
- Fix fieldformatter calls in pipeline helper (#29842)
- fix(offscreen canvas): set negative position to move offscreen (elastic/elastic-charts#50)
- fix(axis labels): offset previous space correctly (elastic/elastic-charts#45)
- ci(travis): fix storybook build (elastic/elastic-charts#49)
- build(storybook): fix ci storybook deploy (elastic/elastic-charts#48)
- ci(travis): fix deploy phase description (elastic/elastic-charts#47)
- build: prepare build for semantic-release (elastic/elastic-charts#46)
- fix(axis): scale tick labels to fix text truncation on chrome (elastic/elastic-charts#38)
- refactor(axis/grid): render grid lines in separate layer from axis (elastic/elastic-charts#30)
- fix: add missing min interval compare function (elastic/elastic-charts#37)
- fix(axis): add axisTitleHeight to axis increments (elastic/elastic-charts#29)
- fix: legend titles respects series ids or groups (elastic/elastic-charts#28)