Keeping up with Kibana: This week in Kibana for November 15th, 2019
Platform
New APIs:
- A new “chromeless” option is available to registered applications. (#49795 and #50060) This paves the way for UI applications such as login, logout, and status pages.
Fixes:
- The Core notifications.toasts API now supports any UI framework (#49573). Helpers for React have also been added to the kibana_react utility plugin.
- New Platform plugins can now be disabled by default. (#50286) This was a blocker for migrating alerting to the New Platform and Endgame’s new plugin development.
In Progress:
- We are polishing up the refactored licensing plugin to unblock X-Pack plugins from migrating to the New Platform.
- We’re in the final stretches of migrating the last few crucials bits of Saved Objects and we have a PR open to expose the more “advanced APIs” used by Security, Spaces, and handful of other plugins.
- Similar to the notifications.toasts API being updated to support other UI frameworks, we have a PR in review to provide the same interface for the flyouts and modals APIs.
- We have also begun adding support for client-side access to whitelisted config values. This mechanism will replace the injectedVars mechanism in the legacy platform.
- We have a PR open for adding support for route-specific HTTP configuration overrides. This unblocks a handful of plugins from migrating to the New Platform’s HTTP layer.
- We are working on the last work to support chromeless applications. This will unblock the migration of login, logout, and status pages to the New Platform.
The team has also spent the last couple weeks identifying all the remaining work to get the New Platform to full feature parity with the legacy system. We will be using this to plan our roadmap through 7.7.
Stack Services
Alerting
We continued working on the create alert UI. Focused on the alert condition section and the action selection. We also worked on re-enabling the test suite after flaky failures (#50246). We fixed an issue causing error messages in relation to rescheduling of tasks in Telemetry/Maps/Lens (#50232). Continued work on adding a `reschedule` API to Task Manager (#45152). Started investigating the work needed to migrate Task Manager to New Platform.
Kibana App (Visualizations, Sharing, Discover)
Elastic-Charts
We released a new version of elastic-charts (14.1.0) after fixing the typings for TS 3.7.
We merged a great new feature requested by various teams: add the ability to fit data of non-stacked line and area charts with a specified fit function (carry, look ahead,nearest, linear, average, zero, explicit). At the moment this works for ONLY non-stacked series. Stacked series requires a similar approach having to account for the fitted value of lower series.
We also merged our first community PR by Pedro Luiz Cabral Salomon Prado, thank you to help us clean up our code!
Lens
We have been completing the last few checklist items for beta, especially writing documentation and content about Lens. We have also cleaned up our backlog and closed out issues that are completed. We have also reviewed work from the app arch team that affects our usage.
Also, we are currently planning future of Lens, and have started syncs with the Elasticsearch team to discuss our wishlist. We will be closely watching the telemetry and user feedback in the beta as we build this plan!
NP Migration
The NP migration is progressing well. In the last two weeks the PRs shimming home and dev tools got merged. Currently we are working simultaneously on shimming Dashboard (in review), Visualize (almost done) and Discover (almost done). Migrating the tutorials API on the server is also currently in review with a PR to de-angularize the vis legend and making table vis independent of the global angular. All progress is also tracked on our detailed spreadsheet.
App Architecture
We continue to focus on the Kibana platform migration work. Notable items this week were:
- Visualization plugin was deangularized
- Filter generator was migrated
- Timefilter and PersistedLog were migrated
On the Data Access Services front, we added support for setting the Elasticsearch [request preference] to the new search service.
Security
On the new platform front, we have submitted a PR to move the rest of the security plugin's API endpoints to the new platform. Additionally, we have submitted a PR to provide the current space using the new-platform route context. We have a PR going through review which will fix the infinite redirect issue which users have seen when switching from using no base-path to a base-path. Additionally, we have a PR to implement an absolute session timeout which is also going through review.
Maps
The Maps and Observability Teams have been working together on a PoC to introduce Maps into the Uptime Monitoring service. The Observability Team has used the Map Embeddable to introduce their custom GeoJSON map style to create a world view on Elastic Uptime. It’s not available yet, but we wanted to show this example of the progress.
Canvas
Condensed Sidebar
By using compressed form styles in the sidebar, element settings become more discoverable as less inputs move off the screen.
To further simplify this work area, help text has been moved to icon tooltips, amd text copy (including callouts, titles, etc.) has been edited to be more concise.
Other small UX improvements were made along the way, particularly within the Data tab (selecting data sources). This includes not only improved form layouts, but re-ordered fields, new card designs, additional contextual help (e.g. link to ES SQL docs) and more.
Charts changes coming
One of these is flot (our current charting library in Kibana) - the other is Elastic Charts.
Guess which one is which?
Stay tuned...
Further reading
Follow along with Canvas closed PRs for the last two weeks.
Design
Consistent Help Links
We have been working on getting more consistent help links in Kibana (Github Issue) and after many iterations landed on a new layout.
EuiCard
We have also made progress on the EuiCard accessibility including the ability to add custom children
Dev Tools
We are cleaning up the interface with some CSS tweaks and updated styling
Dashboard UI and visualization onboarding
Work ramped up on improving the time it takes to create your first visualization. This includes initial changes to the Dashboard UI that will lead to a tighter loop between it and other applications, such as Visualize and Lens.
Graph
Again, some improved onboarding work, this time with Graph and the getting started experience a key improvement to making Graph usable for all.
Upcoming Component - EuiAspectRatio
The EuiAspectRatio is getting closer to release as the documentation received attention this week.
EuiHeaderAlert
There were some recent updates to the EuiHeaderAlert component as well as it being added to our docs
Operations
We have been working in the feedback received for the log rotation feature which will continue next week.
A minor problem in the clean tasks for the dll during the build was fixed: we are now able to look for server dependencies into the new platform plugins.
Jenkins:
- Shell scripts have labels now, instead of just "Shell Script" in pipeline steps in Jenkins
- Flaky test suite runner code backported
- git clone retries to account for Github flakiness
QA
Visual Test Automation
- Re-enabled visual testing on Kibana PRs
- Research into Applitools
General
- Release testing 7.5.0
- Release testing 6.8.5