* [DOCS|Dashboard] Updated images and text to match UI
* [DOCS | Dashboard] Incorporated review comments
* [DOCS | DASHBOARD] Incorporated more review comments.
* enhance index pattern delete documenation
* add line about breaking saved objects that still reference index pattern
* indices spelling
* better wording from gchaps
* Support 1 Kibana and 1 Elasticsearch URL as input params
* Revert a previous change to test char substitution
* Allow setting TEST_KIBANA_URL and TEST_ES_URL for Cloud testing
* cleanup comment
* Update docs
* Refactor after PR review
* Changes from review
* fix default Kibana port to 5620
* Change es_test_config.js similar to kibana_test_server_url_parts.js
* Update tutorial-define-index.asciidoc
Added a note on how to check for current indices in Elasticsearch, to make it clearer for people that haven't used the previous chapters.
* Update tutorial-define-index.asciidoc
It is not very useful to have:
* shardTimeout disabled if requestTimeout is enabled (means infinite es overruns)
* shardTimeout > requestTimeout if both enabled (means finite es overruns)
* shardTimeout < requestTimeout if both enabled (means partial results from es?)
The only option that really makes sense is to have shardTimeout === requestTimeout, so that's what I've done here.
* Add query enhancements opt-in switch to query bar (#17232)
Makes our language updates more visible to users and removes mentions of Kuery as a separate language. Users still get the old lucene experience by default, but have the option to opt-in to "experimental query features" directly in the query bar. Goal is to get more feedback by making these new features more prominent and less of a jump from lucene.
* fix test
* First stab at refactoring typeahead
* Don't double submit on enter
* Add item templating
* Introduce simple kuery language
* Rename to kql and add modules
* Update KQL syntax
* Automatically insert matching pairs
* Don't match quotes after alphanumeric chars
* Get field and value suggestions
* Remove accidental changes
* Remove unnecessary test
* Don't submit on enter
* Fix typeahead
* Suggest matching recent searches
* Suggest operators
* Suggest conjunctions
* Use template, separate suggestions into separate modules
* Whoops, add this module back
* Add clarifying comment
* Fix history log key
* Don't update suggestions on every key press
* Fix key handling
* Update terminology to be clearer
* Fix typo
* Simplify building of nodes
* Don't always hide on submit
* Check items exists
* Add icon directive which wraps EuiIcon.
* kql design start
* remove comment bits
* Simplify select next/prev and reset selected on hide/backspace
* Add test
* Put persistedLog on scope so it can be tested
* Fix typos
* Build up AST for sublist by returning functions that take a field name
* Remove single quoted strings and add double quote to special characters
* Build nodes with arg nodes instead of args themselves
* Add support for exact phrase search for quoted values
* Update typeahead items when language changes
* Finish that work I didn't do in the last commit
* This commit makes Bargs very happy cuz it does a lot
* Add wildcard field support to range query
* Remove range support for wildcard values
* Remove KQL as a separate language
Updates kuery to use KQL's grammar. This will lead to a smoother
transition for both us and Kuery users. We mainly added KQL as a
separate language so that we could notify Kuery users that the syntax
had changed. I realized we could do the same by trying to parse their
query strings with the old grammar if the new grammar fails, and if the
old grammar parses successfully we can display an error message with a
link to the docs describing the syntax changes. Since Kuery now uses the
more simple KQL syntax, I've also re-enabled the filter bar when Kuery
is selected.
* Fix typeahead behavior
* Update conjunctions
* Use scope apply
* Suggest conjunctions after ranges
* Support strings in wildcard node constructor and add tests for wildcard node
* test updates
* Removing unused serializeStyle and toKueryExpression, updating tests
* Fix functional test
* Fix typo
* Show fields that match in any part of the name
* Alter order of operators
* Preserve focus after selecting by click
* Ports tests for `fromKueryExpression` to `fromKqlExpression`
* More KQL syntax tests
* Suggest conjunctions after ranges
* Fix suggestions inside parens
* fromLiteralExpression tests
* remove serializeStyle arguments which no longer exist in the function definition
* tests for getFields
* Case insensitive search for field names
* update tests for is.js
* add wildcard fieldname test for range.js
* Fix removed div
* Fix line spacing for autocomplete suggestions
* Fix conjunction suggestions with escaped preceding literals
* Escape special characters in fields and values
* Don't suggest the value that's already selected
* Update icons
* Sort prefix first
* Simplify cursor detection and suggest booleans
* Use quotes for suggested values
* get rid of references to KQL
* Don't show errors from parsing
* That didn't even exist
* Use config to determine if values are suggested
* Update suggestions on home/end
* remove hack
* Update reference to kql
* Suggestions for quoted values
* Clean up grammar
* Better support for cursor inside spaces
* Create grunt task to generate parsers from peg files
* Simplify wildcard handling
* Don't filter out the exact fields/values
* Update parsing modules
* Fix peg task
* Make operator syntax more visible
* Update OR verbiage
* Simplify and improve match pairs
* Revert "Simplify wildcard handling"
This reverts commit 915861beab.
* Support escaped backslashes inside quoted strings
* Support escaped keywords
* Remove lodash dependency cuz w33ble
* Escape user input and fix conjunction description
* Clear suggestions after submitting
* Fix insertion of suggestion to account for selection
* Remove unnecessary?
* Remove extraneous file
* Better name for method
* Move functions out of event handler
* Don't wrap result in promise
* Don't show kuery suggestions for lucene
* some cleanup and polish for kql autocomplete
* Omit description completely for values
* Don't suggest and/or for quoted strings that end in spaces
* Submit recent search suggestions on select
* Scroll selected suggestion into view
* Better handling of key events and hiding typeahead
* Update suggestions to work in other apps with multiple index patterns
* Only update suggestions if not submitting
* Hide suggestions on focus
* Simplify wildcard (again)
* Fix console error
* Remove references to kql
* Fix match pairs so that suggestions occur with cursor in correct place
* Memoize value suggestions
* Debounce model updates
* Add tests for suggestion providers
* Add setting and docs
* Add custom error, helper for detecting leading wildcards, and check for
leading wildcards in the Value rule of the grammar.
* Better handling of suggestion clicks
* Dedup suggestions
* Sort keywords first
* Fix value suggestions memoizing
* Check if query exists
* Reduce size of dialog and fix ranges
* Create grunt task to generate parsers from peg files
* Lazy load typeahead items
* Fix wildcard tests
* Fix value suggestion tests
* Fix typeahead tests
* Fix value suggestion memoize resolver
* Leave comment
* Add a ttl for the value suggestion resolver
* Move grunt config to config/
* Bargs can suck it
* Fix more tests that bargs broke (and one I did too)
* Fix tests
* WIP - add shakespeare data for getting started guide
* Refactor of getLineChartData, getBarChartData, getAreaChartData
* Added changing extents and test
* Fix opening axis options
* Change precision from 8 to 7
* lower precision to 6
* Fix index pattern creation
* update from review, remove comments, add others
This PR evolves Kuery into a simplified, more lucene-like language. In a follow up PR we plan on getting rid of the language switcher dropdown and instead add a checkbox that will allow users to opt-in to this syntax, which will feel less like a separate language and more like a set of enhancements to the existing lucene query syntax.
This PR also updates the simple grammar to solve the following:
* Wildcards in field names
* "is one of" shorthand (e.g. foo:(bar OR baz OR qux))
* Don't split on whitespace (require explicit AND/ORs, case insensitive)
* "exists" query (e.g. foo:*)
* Improved range query shorthands (e.g. foo <= 1)
* Wildcard queries
Since this new syntax is simpler and does not support every filter type like old Kuery did, this PR also brings back the filter bar when kuery is selected in the language picker.
See the documentation updates in this PR if you need an overview of the new syntax (and let us know if the documentation is lacking).
* [server/rewriteBasePath] add option to enable basePath rewriting
* [server/rewriteBasePath/docs] end sentences with periods
* [server/rewriteBasePath] simplify Joi schema a smidge
* [server/rewriteBasePath] rename test file to match source
* [server/rewriteBasePath] initialize server in before/after hooks
* [server/rewriteBasePath] rephrase deprecation warning
* [server/config/schema] verify that non-strings are not accepted for basePath
* [server/config/schema] toss a trailing comma in there
* [kbn-plugin-generator] add plugin generator to the repo
* [plugin-generator] use snake_case plugin name for directory name
* [plugin-generator] fix typo
* [plugin-generator] remove translation support until we resume i18n efforts
* [yarn] update lockfile
* [mocha] remove plugin-generator selector from mocha tests
* [plugin-generator] update generated readme to recommend yarn
* [plugin-generator] add readme to generator pacakge
* [plugin-generator] link from plugin-resource docs
* [plugin-generator] mention very important `kbn bootstrap` script
* [plugin-generator] rework some parts of the README
* [plugin-generator] log actual directory name with system separators
* [plugin-generator] include bootstrap/yarn preinstall check script
* tutorial docs
* fixes from ycombinator review
* ElasticSearch -> Elasticsearch
* move out of style guide and into README under server/tutorials
* move to asciidocs
* add new line so list is rendered correctly
* changes from gchaps review
* [docs] uniform colons
* [docs] Add more text about elasticsearch.ssl settings
* [docs] Add more text about elasticsearch.ssl.verificationMode setting
* [docs] spelling error
* [docs] clarify wording
* Switch to Yarn (#15485)
* switch to yarn
* cleanup misc references to npm
* [yarn] loosen dependency ranges so yarn will merge more deps
* fix linting error now that moment uses ESM
* [licenses] font-awesome changed the format of its license id
* Use local yarn
* Misc fixes
* eslintignore built yarn file
* Remove mkdir which doesn't do what it should do
* Check build without upgrading lots of versions
* Fix license check
* too many moments
* Better description
* Review fixes
* Lock to angular@1.6.5
* More specific version locks
* Revert "More specific version locks"
This reverts commit 11ef81102e.
* Revert "Lock to angular@1.6.5"
This reverts commit 3ade68c14c.
* rm yarn.lock; yarn
* Forcing a specific version of React, Angular, Moment
* Using vendored version of yarn in ci
* Use --frozen-lockfile
* fixes
* Update lockfile
* Region map settings clarifications (#14893)
Improve documentation.
This also includes some additions to clarify the new includeElasticMapsService setting.
It also fully qualify all parameter names.
* Simplify promise setup logic
* Import template from own file
* Use angular.element instead of jquery
* Add documentation for loader methods
* Add params.append
* Remove params.editorMode
* Clarify when returned promise resolves
* Add element to handler
* Allow setting CSS class via loader
* Use render-counter on visualize
* Use Angular run method to get access to Private service
* Allow adding data-attributes to the vis element
* Refactor loader to return an EmbeddedVisualizeHandler instance
* Use this.destroy for previous API
* Remove fallback then method, due to bugs
* Reject promise from withId when id not found
* Add tests
* Change developer documentation
* Revert "Use Angular run method to get access to Private service"
This reverts commit 160e47d7709484c0478415436b3c2e8a8fc8aed3.
* Rename parameter for more clarity
* Add more documentation about appState
* Fix broken test utils
* Use chrome to get access to Angular
* Move loader to its own folder
* Use a method instead of getter for element
* Add listeners for renderComplete events
* Use typedef to document params
* Fix documentation
* Simplify promise setup logic
* Import template from own file
* Use angular.element instead of jquery
* Add documentation for loader methods
* Add params.append
* Remove params.editorMode
* Clarify when returned promise resolves
* Add element to handler
* Allow setting CSS class via loader
* Use render-counter on visualize
* Use Angular run method to get access to Private service
* Allow adding data-attributes to the vis element
* Refactor loader to return an EmbeddedVisualizeHandler instance
* Use this.destroy for previous API
* Remove fallback then method, due to bugs
* Reject promise from withId when id not found
* Add tests
* Change developer documentation
* Revert "Use Angular run method to get access to Private service"
This reverts commit 160e47d7709484c0478415436b3c2e8a8fc8aed3.
* Rename parameter for more clarity
* Add more documentation about appState
* Fix broken test utils
* Use chrome to get access to Angular
* Move loader to its own folder
* Use a method instead of getter for element
* Add listeners for renderComplete events
* Use typedef to document params
* Fix documentation
* apply patch
add styling
remove cruft
split up concept of experimental and labs
adjust wording
* improve wording
* improve wording & punctuation. remove concept of feedback-url
* remove duplicate labeling between labs/experimental; resolve some typos
* merging isExperimental and isLabs flags to a stage setting
* adding the option to override feedback message back (and improving it)
* updating the docs
* change text labs to lab
* visualize:enableLabsVisualizations to visualize:enableLabs
* fixing github link
* enable turning on/off of warnings
* add tooltip
* add server setting so users can opt out of connecting to the EMS service
* replace WMS options with custom directive, so we can reuse it in region maps
* add wms settings form to Region Map
* no need to recreate map after leaflet upgrade
* add WMS map to region map
* linting issues
* fix rebase
* improve wording
* add global config
* fix typo
This prevents users from using tools which insert dashboards/visualizations directly into the index, which would cause Kibana to stop functioning.
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
Introduces bin/kibana-keystore providing create, list, add, and remove actions.
Settings stored within the keystore will be loaded at runtime.
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
This setting is not available until 5.6. Users are technically able to re-index against a previous version. If a user manually migrates their index without this setting and visits the Upgrade Assistant in 5.6, Kibana will still be shown as needing to be re-indexed, however it will fail with "Index .kibana-6 already exists. There may be an unfinished task reindexing to this index, or this index may have not been cleaned up previously."
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* [timelion] remove last remaining amd modules
* [eslint-config-kibana] remove env.amd
* [webpack] use absolute loader names
* [webpack] remove absolute node_modules/ imports
* [webpack] upgrade to webpack 3
* [uiFramework] make webpack build compatible with v3
* [eslint-import-resolver] use https://github.com/elastic/eslint-import-resolver-kibana/pull/21
* [baseOptimizer] don't break when pkg has no dependencies
* [optimize] remove unnecessary json-loader
* [optimize] remove local references to webpack vars
* [eslint] upgrade to eslint-import-resolver-kibana 0.9.0
* [baseOptimizer] comment tweaks
* [baseOptimizer] remove loader pinning
In webpack 1 the loaders defined here were resolved relative to the file they were going to load, which meant that plugins in other projects could accidentally overwrite the loaders Kibana was trying to use, which is why the aliases were used to enforce proper resolution.
In webpack 2 loaders are now resolved relative to the webpackConfig.context, which is set to the root of the Kibana repo. See https://webpack.js.org/configuration/module/#useentry
* [webpack] rely on kibana webpack shims before checking node_modules
(cherry picked from commit f60639fccb)
Update Docker docs for 6.0.0 and image flavours
* Use Compose v2 in Docker examples
* Use US spelling in Docker docs
* Link to www.docker.elastic.co in docs
We must ensure errors produced when multiple types are used in order to fall back tothe v6 format of a single type
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
* Check sort:options for Discover default sort order
I went back and forth on a lot of different solutions for this.
Initially I thought it would make sense to just allow users to set a
default saved search in Discover. There were some problems with that
approach though. It would change the default workflow in Discover.
Instead of starting with an unsaved search, users would be editing a
saved search by default. I could see this leading to a lot of
unintentional changes to the default. The settings from the default
saved search also wouldn't carry over to new searches, which I think
would be desirable most of the time.
I also considered adding a new advanced setting for specifying a default
sort field/direction. This kind of setting would make more sense at the
index pattern level though. One field may not be valid across all index
patterns.
So I ended up going with the simplest solution. It solves the issue
identified by the author of the linked issue and nothing more. If a sort
order is specified in the existing sort:options advanced setting, we'll
use that direction when sorting on the index pattern's timestamp field
by default.
Fixes https://github.com/elastic/kibana/issues/5164
* Create a new advanced setting instead of re-using sort:options
* Just pass a default order
* Re-enable filter editor suggestions
* Use search instead of include
* Escape query
* Show spinner
* Use include rather than search
* Add additional regex and explanation for parameters
* Add suggestions API test
* Make sure test actually runs
* Use send instead of query
* Fix suggestions API test
* upgrade leaflet modules to 1.x latest
* fix css for leaflet controls
* update draw options so it is easier to see polygon when drawing
* fix chrome touch issues with closing polygon in leaflet draw
* use canvas renderer
* use leaflet-responsive-popup to avoid tooltip cutoff
* remove radius configuration from leaflet heatmap
* make blur a factor of radius. Set maxZoom to map zoom since new values are calculated per precision
* use _.get to avoid error, cannot read property of undefined
* add cluster size slider
* experiments with image differences
* onload not onLoad
* use canvas dimensions
* compare map canvas to stored PNG of map canvas
* remove pixelmatch from project dependecies
* fix broken test - rounding error
* add expected image tests for geohash layers shaded circles and geohash grids
* bump z-index of vis-spy
* update functional test expected data
* update to leaflet 1.2.0
* revert to leaflet 1.0.3 and update expected data set for map functional tests
* test geohash_layer heatmap in unit test
* update region_map functional test since it can not longer pluck map vectors from DOM
* update documentation
* add markdown functional test
* update markdown vis to use markdown-it
* migrate markdown angular filter to markdown-it
* place other uses of marked and remove dependency
* update breaking changes documenation and set linkify to true
Fixes#13563
Brings additional attention to the fact that Kuery uses implicit ANDs whereas Lucene query syntax uses implicit ORs, which could confuse users if they're not aware of the difference.
* Change use of all_fields in highlight_query to default_field
* Remove highlight query and option
* Fix tests
* Remove unused setting
* Remove lingering references to all_fields
* Configurable custom response headers for server
The server.customResponseHeaders configuration allows users to configure
custom headers to send on all responses to the client from anywhere in
the Kibana server.
This can be useful for setting headers like x-frame-options when you
don't want people embedding even Kibana dashboards in an iframe.
* Consistent header overriding and explicit unknown
The documentation for setting Kibana options with environment variables under
Docker was brittle and difficult to maintain. Rather than list every option,
this change describes the method by which they are defined, thus avoiding the
need to edit the docs in multiple places when a new option is introduced.
This adds the attribution strings of vector data files to the map. It also enables the map to allow for individual attribution strings from each individual layer, so attribution gets updated correctly when adding/removing layers.
- httpolyglot is removed, we no longer automatically redirect from http to https
- server.ssl.redirectHttpFromPort option added to allow for http -> https redirect from one port to another
- We no longer start the dev server with tls by default, it can be turned on with the --ssl flag, npm start -- --ssl, or ./bin/kibana --dev --ssl
- There will currently be error log messages if you connect over the wrong protocol, we have #11209 for downgrading these
* [indexPatterns] remove support for time patterns
* Revert "[indexPatterns] remove support for time patterns"
This reverts commit 4263e37c66.
* [indexPatterns] remove ability to create time-based patterns
* [indexPattern/routes] fix export of routes for stub
* [Storage] export Storage class for testing
* [indexPatterns/unsupportedTimePatterns] add tests
* [indexPatterns] focus warning check module
* [indexPatterns/tests] fix method name
* add metion of this change to migration docs
* disable warnings by default until we have a migration tool
* prevent the warning from disapearing
* fix grammar
* enabled warnings in the tests
Using fields with docvalues (like `_doc`) for tie-breaking yields
significantly better performance than using `_uid`, which lacks
docvalues at the moment. The downside is that sorting by `_doc` by
default is not stable under all conditions, but better than no
tie-breaking at all.
The new setting `context:tieBreakingFields` enables the user to
customize the list of fields Kibana attempts to use for tie-breaking.
The first field from that list, that is sortable in the current index
pattern, will be used. It defaults to `_doc`, which should change to
`_seq_no` from version 6.0 on.
In addition to just showing a notification, errors that occur while
loading documents from the database will be stored as part of the
`loadingStatus` along with a reason code (if known). This is used to
display more nuanced and helpful error messages to the user.
The first such error message indicates a missing or invalid tiebreaker
field required for sorting the context.
- Users can now create choropleth maps. This requires configuring an inner join between the results of a term-aggregation and a reference vector layer. This vector layer needs to be in the GeoJson format. By default, Kibana uses vector layers serverd by a data service hosted by Elastic. Users can also bring in their own layers by adding configuration entries in the kibana.yml. These need to point to a CORS-enabled data service that accepts requests from the Kibana application.
- For clarity, the tilemap is renamed to Coordinate Map.
- A new manifest is published by Elastic. this includes metadata for the available tilemap services, as well as metadata for the available vector data layers.
Prior to version 4.2.0, kibana.yml configurations used underscore as a
separator. In 4.2.0, this changed to dot instead, though the old
configuration names continued to work. In 5.0 we started logging
deprecation notices whenever the underscore-separated configurations
were encountered. Now we remove support for them entirely.
Using the --dev flag is the only support way to change the internal
Kibana environment to something else. Allowing NODE_ENV to be set at all
can have unexpected results with our dependencies, so we now always set
it to production.
The discover:aggs:terms:size config value was never added to the default values, so when the trash-button is clicked it removes the config completely and causes discover to send an empty size param to visualize.
* Changing shakespeare bulk upload command for 6.0
* file path and mapping change
changing the file path for shakespeare and the mapping type from default to doc
* removing underscore for doc and changing file name
* removing extra spaces in the map shakespeare command
* removing spaces before the colon
* removing extra spaces
* Fixes#11231 - Adds check for max_bucket size for Time Series Visual Builder
* Added Math.floor() to bucket calculation; changed error message; changed option description
* Adding limitations section to Kibana docs
* Language fixes
* Remove workaround
* Wording change
* Also mention `copy_to` along with `include_in_parent`
* Adding note about searching on nested objects