- Kibana - Visualisations Engineer
Space Specific Default Routes
Sharing Saved-Objects in Multiple Spaces
We’ve continued analysis on the technical approach for allowing saved-objects to be shared in multiple Spaces. We will be creating a few proofs-of-concept to validate the proposed design before creating the necessary RFC(s) and continuing to gather input.
This week we made significant progress on new APIs in the New Platform as well as improvements to the migration process.
On the new API front, we merged a PR that moves SavedObject migrations into the New Platform. This unblocks the remaining work to migrate the SavedObjectsClient to the New Platform on the server-side. We started migrating the UiSettingsService on the server-side to the New Platform, and have merged 2 PRs to convert everything to TypeScript to prepare for the move. We also added a serverBasePath API to unblock the Spaces migration to the NP.
To make migrations easier, we’ve made a few improvements to bridge the gap between legacy and NP plugins. We added a compatibility layer for legacy plugins to leverage the ApplicationService interface and opened a PR to make the Core APIs consistent between legacy and NP plugins. We also have a PR open to greatly improve our generated API docs and add more guidance to the Migration guide.
We also did some quality improvements this week. We merged a change to simplify generic types for the ContextServices and improved our test coverage around legacy’s integration with the New Platform router. We also have an open PR in final review for adding TypeScript types to ES API calls.
For the New Platform migration, 4 PRs were merged by plugin teams this week, 3 by the App Arch team and 1 by the ML team.
As of Node 10.12.0, there is now recursive support for mkdirp, which removed the need for the mkdirp package. All our dependency on this package in the repository were removed and eslint will error should someone attempt to bring it back in again. kibana#47251
A fix was made for the optimizer when running in a WSL environment causing the optimizer to never complete. kibana#47250
When creating a build, we clean any package which is only used in client code and packaged in the DLL’s, saving a considerable amount on space and file count. We did find an issue with this for modules only in the X-Pack project, which has now been resolved. kibana #47091
An issue was found when using git worktree feature which cause the bootstrap to fail. That has now been solved. kibana#47232
- Completed SIEM integration tasks for 7.5
New Platform Migration
Last week we continued our march towards the new platform, with the following items being completed:
- ui/value_suggestions moved to the new platform data plugin
- ui/persisted_log was refactored and moved to the data plugin
- A pre-wired version of SearchBar was created
- VizTypesRegistry was removed
- FieldFormatRegistery was refactored
- Visualizations plugin folder was set up in the new platform structure
- Interpreter was converted to TypeScript
We finished review of the Management Service RFC.
Kibana App (Visualizations, Sharing, Discover)
Last week we released a few new features:
- configure the Y axis to display only integers values (in case where float numbers are not possible like when displaying a histogram of document counts (elastic-charts/#389)
- apply custom styles to single points in a line or area series (elastic-charts/#385)
- format the tooltip text for upper/lower banded area series (elastic-charts/#391)
- on 13.4.0, the previous feature will also affect the legend (https://github.com/elastic/elastic-charts/pull/398)
Some issues were fixed where the rendering wrongly display points, bars, lines and areas outside a delimited domain (elastic-charts/#395) together with a fix to nicely display ticks on a linear scale (elastic-charts/#384).
We are also working on adding visual regressions tests (elastic-charts/#394) that will allow us to simplify the review of a big refactoring PR that will move away from MobX state manager in favour of Redux (elastic-charts/#281)
- Now supports filters and saved queries
- Now allows a read-only permission
- Better empty states and form layouts
- Dark mode
- Work in progress to improve performance of loading index patterns
We are working on determining what kind of telemetry we will be tracking for beta.
If you have feedback about Lens, we'd love to hear it at #kibana-lens
Last week #45547 was merged adding a guidance panel to an unconfigured workspace (also see the design update) - thanks for all of the people giving feedback to content, appearance and code. The migration of the code base made good progress with #46799 and #46133 merged and #47394 and #46914 currently in review. With lots of help from Gail and Shaun #47324 is currently in progress improving phrases and making the wording consistent throughout the app.
Here is what the user sees when using Graph now:
We are getting close to having the entire Canvas app translated for i18n.
Canvas Snapshots are now named “Shareables”. The ability to export a workpad and include it in any website using a js runtime is currently in testing (in Cloud!). If you want to give it a try instructions are here.
A Canvas workpad running outside of Kibana.
EuiDataGrid on a solid path to beta
EuiDataGrid continues to hone in on the feature set for its beta release. We've spent the last week cleaning up the menu bar UX, iterating on grid navigation, and are finishing up the cell expansion popover.
Helping users get started with Graph
Graph received a new “Let's get started!” screen to guide users on how to use this application.
We have the PR for moving telemetry to OSS ready for another round of review (#45769). More tests have been added and removed duplicate code for the opt-in banner.
An issue has been opened for telemetry not honoring the user set timezone (#47438). A PR for fixing this will be opening soon.
New platform migration is going well. The “collectorSet” feature needs to be moved from legacy core. The collectors will move to “ui_metrics” and rename “ui_metrics” to “metrics” (#46924). A few other features need to be migrated to new platform before telemetry can be fully migrated.
We worked on improving how Task Manager takes ownership of tasks. It now uses updateByQuery to pick up and claim ownership in a single call to Elasticsearch (#46997). The next focus is to allow the saved objects client to support bulk updates (#47135).
We merged support for muting alert and alert instances (#43712). The PRs for new platform shims on the alerting (#46954) and actions (#47256) plugin are now in review. New documentation has been added to mention alerting and actions plugin are disabled by default and need to be enabled before using alerting (#46838).
We started working on building a UI base structure for the actions plugin making sure it’s easily portable to the new platform (#47430).
We started replacing the job completion notifier hack for a new platform plugin (#47283). An issue has been created to make “xpack.reporting.capture.maxAttempts” default to 1 (#47383). Work is pending on the “metrics” new platform plugin (#46851) before being able to collect metrics on browser performance. Work is ongoing in regards to fixing random AbortError logs when running a PDF report. It’s culminating now with our filing the Puppeteer bug.
- Accessibility automation in progress: https://github.com/elastic/kibana/pull/4358
Visual Test Automation
- Testing fixes to re-enable visual testing on Kibana PRs.
- Testing and fixing skipped Functional Tests in Kibana.