Welcome to Kibana UI Weekly Update!
We are hiring!
- Kibana Applications Security Engineer
- Director / Sr Director Product Management - Kibana
- Kibana - Visualisations Engineer
Copy to Space
The PR to make the spaces saved object type hidden, which allows the copy to space API to explicitly specify the namespace merged this week. We’re continuing to work with design on the UI for copy to space and we’re getting close!
Allow individual privileges to be excluded from base privileges
The Code application consumes Kibana resources in a rather unprecedented manner. As such, we’re considering limiting the users which are able to clone Code repos. To enable this pattern, we began working on adding the ability for individual privileges to be excluded from the base privileges. This will enable us to grant read-only access to Code with the “all” base privilege.
The HttpService saw a lot of progress this week. The new route handler interface has been merged, and PRs are in review for comprehensive documentation and some API polish for consistency. We’re getting very close to being able to open up these APIs to plugin developers.
The SavedObjectsClient for the browser in review and should be merged next week.
This week we also merged the ContextService to support more ergonomic access to Core services inside asynchronous handlers. This is a fundamental building block in the New Platform design and unblocks the AppService and HttpService. The AppService is nearing completion and final testing before PR review.
Last week we advanced the static fs in several fields. We are now returning the files and the base folders added as well as the possibility to declare exclusions on generation. Additionally we have also fixed a bug that prevented us from read from a relative path inside the static filesystem.
Data Access Services
We merged a final implementation of the POC to make expressions cancelable by adding a new handler in the interpreter. This will be an important feature as we work toward implementing query cancellation more broadly.
New Platform Migration
We've TypeScriptified and moved Inspector to the New Platform “inspector” plugin, which is now our second stateful New Platform plugin 🎉 We also handled some much-needed cleanup to the data plugin, which brings it in line with the conventions we recommend in the migration guide, and also took some time for more Angular cleanup.
Lastly, we added some Karma mocks for new platform services, beginning with the data plugin. A PR has been opened against the migration guide with more background on these mocks, and how they differ from the existing new platform jest mocks.
Kibana App (Visualizations, Sharing, Discover, Reporting)
Lens (New visual editor)
The biggest work this week was on:
- Performance improvements (merged)
- Chart switching (merged)
- Filter bar and time picker (in progress)
- Better suggestion logic (merged, open, open)
Our chart switcher is now much more graphical, and is able to indicate when users are losing data:
Fine tuned feedback to PR #41918. Et voilá, we’ve merged a long requested feature, sorting on multiple columns (151👍). Furthermore we found a way to deangularize DocViewer without locking out 3rd party plugins still using Angular for now, ongoing PR #42116.
Eui Data Grid
This week saw major progress on EUI data grid, our upcoming component for managing large sets of tabular results. We landed three big PRs into our feature branch: one that added basic aria-controls and accessibility, one that added pagination and one that set up some initial customizable styling. This week we hope to get some toolbar like management for common actions. Target is still to get this in people’s hands by the end of the month.
Elastic Charts in EUI docs
This one's been a back-burner project for us, but we’re making good progress on getting snippets and documentation into EUI for how to best utilize Elastic Charts. This should give folks some best practices for styling beautiful visualizations.
Security plugin now has the ability to create API keys #41389. This will be used for executing requests on behalf of a user in alerting when we don’t have the user’s request to authenticate to Elasticsearch.
That's all for this week.
Until next time,