Keeping up with Kibana: This week in Kibana for July 9th, 2018

Welcome to Keeping up with Kibana! This is a series of posts on new developments in the Kibana project and any related learning resources and events.

Geo

The Elastic Maps Service landing page is now available! This page shows the data behind the vector layers that can be joined to Elasticsearch data in Kibana region maps.


blog-keeping-up-with-kibana-2018-07-09-1.png


PRs

    Canvas

    The redesign, new layout engine, and reporting are all on the verge of merge. Also, Verge of Merge is the name of our new band. We’re opening for Party Marty, it’s gonna be rad. $10 cover. No outside food or drink. After party at your house.


    Automatic Expression Formatting

    If you’ve used Canvas at any length, you’ve probably spent some time formatting the expression so it’s easier to read, only to have all that effort thrown out when you changed something from the sidebar. Canvas will now auto-format the expression for you, so even if you smash stuff in there like a clod, Canvas will make it look good!


    Case Insensitive Functions

    Can’t remember if it’s “pointseries” or “pointSeries”? Now you don’t have to! Functions are now case-insensitive, so it doesn’t matter which one you use, they both work. And much like arguments have aliases, functions do too, but now they actually work.


    blog-keeping-up-with-kibana-2018-07-09-3.png

    Other Stuff

    Canvas also fixed some important bugs. Canvas now correctly uses the selected index pattern in the esdocs UI, elements correctly report when they are done rendering (something Reporting relies on), and errors from AJAX requests are now shown to the user. We also removed an undocumented and unused run API since we’re no longer planning for plugin authors to execute expressions that way.

    Platform

    Localization

    The first PR has landed to update an entire feature of Kibana to be translatable! We started with the index pattern page in management, and we’ll use this particular PR to smooth out any edges in the i18n UI abstractions so that we can roll out i18n support throughout the rest of Kibana without churning on details.


    The pace of our localization effort as a whole has taken off as pull requests get opened sometimes more than once a day. We’re currently reviewing tools for verifying proper translation coverage in CI, extracting translatable attributes from templates to seed translation files, and providing a json diff of translation changes for new versions, as well as PRs for improved test coverage and developer documentation.


    New platform

    The foundation of the new platform on the server is ready, and now that more than half the team is back from vacation, we can get it merged. After this gets merged, some of the things we’ll be focusing on in the server will be the new saved object service, elasticsearch service, and the plugin service.


    The new platform in the UI made great progress. In the feature branch, all apps are now being bootstrapped through the new platform, and the chrome and fatal error pages are being reactified and moved to the new platform.

    Security

    RBAC Phase 1

    Modifications were made to the deprecation logging when using the legacy fallback, and we are only logging deprecation warnings on user login. Additional integration tests were added for the Elasticsearch APIs that don’t have sufficient coverage with our saved object based integration tests. The Elasticsearch PR which makes it possible for us to use the Kibana index name as part of the application name has merged.


    Spaces

    The requested changes to make the saved object client space aware have been made, and it’s ready for another review.

    Operation

    Optimizer

    We made some progress on came up with possible solutions, not to completely remove the optimizer, but at least to understand how to increase its performance on production while we reduce the on-fly compilation needed. The POC we were running on webpack-dlls allowed us to validate the possibility of generate DLLs for Kibana (even if those dlls have dependencies between them).

    Design

    The design team continues to finalize fixing the popover bugs and building out the basic new Vis editor prototype. We are trying to catch up on some small bugs/issues and work out some overarching responsive layouts. The Dashboard and Watcher docs have been updated.


    EUI version status

    EUI is now at 1.1.0


    • Kibana master is at EUI 1.1.0!
    • Cloud master is at EUI 1.0.1. No breaking changes to upgrade


    PRs

    • Experimental EuiXYChart and associated components have been added! (#309)
    • Fixed some IE11 flex box bugs (modal overflowing, image shrinking, and flex group wrapping) and documented others. (#973)

      Management

      The management team is continuing to work on supporting rollup index patterns in visualization and discover areas. Some PRs to convert Notifier usages to toastNotifications were also merged.


      PRs

      • (Rollup support) Refactor SearchSource interface (#20334)
      • (Rollup support) Add AggTypeFieldFilters to filter out fields in vis editor (#20539)
      • Fix bug in propFilter logic when it's not passed any filters (#20569)
      • Convert various uses of notifier to toastNotifications (#20420)
      • Replace uses of Notifier with toastNotifications in Watcher (#20538)

        Sharing

        PRs

        [input controls] update dropdown suggestions when filtered PR 18985

        Visualizations

        The visualizations team is still busy removing Angular from a lot of places in preparation for the using the Canvas pipeline for rendering (half of the PRs seen below).


        The first experimental version of the new chart component in EUI has now been merged into EUI (eui/#309). You can check its documentation and samples in the EUI documentation.


        Vega visualizations now have the possibility to create filters in Kibana using specific functions (#17586).


        PRs

        • Reenable VEGA_DEBUG for Vega visualization (#20456)
        • Make aggTypeFilter registry return value directly (#20523)
        • refactoring geohash agg to not use vis (#20298)
        • removing angular from render_complete (#20478)
        • moving visualize legend into vislib legend (#20479)
        • Fix flaky TSVB test (#20481)
        • Fix editor sidebar with long field names (#20455)
        • Inspector enhancements (rename of buttons, slight design adjustments) (#20452)
        • applying scope in angular vis type (#20461)
        • removing angular dependency from base and react vis types (#20386)
        • adding disabled aggs functional tests (#20454)
        • Split editor state from saved state (#20323)
        • Move visualize editor out of visualize directive (#20263)
        • Don't create nested search source per postflightrequest (#20373)
        • bwc for showMeticsAtAllLevels (#20369)
        • [Vega] Implement context filter modification (#17586)

          Discovery

              PRs

              • Remove outdated aria attribute (#20532)
              • Use config filters:pinnedByDefault for filters created with filter editor (#20359)