Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/feature/design' into feature/d…
Browse files Browse the repository at this point in the history
…esign
  • Loading branch information
panda01 committed Mar 22, 2016
2 parents a581e8b + 42b87c7 commit 22a3163
Show file tree
Hide file tree
Showing 50 changed files with 521 additions and 174 deletions.
9 changes: 5 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ Please make sure you have signed the [Contributor License Agreement](http://www.
npm run elasticsearch
```

- Start the development server.
- Start the development server. _On Windows, you'll need you use Git Bash, Cygwin, or a similar shell that exposes the `sh` command._

```sh
npm start
Expand Down Expand Up @@ -128,7 +128,7 @@ Runs both server and browser tests, but skips linting
Run only the server tests

`npm run test:browser`
Run only the browser tests
Run only the browser tests. Coverage reports are available for browser tests by running `npm run test:coverage`. You can find the results under the `coverage/` directory that will be created upon completion.

`npm run test:dev`
Initializes an environment for debugging the browser tests. Includes an dedicated instance of the kibana server for building the test bundle, and a karma server. When running this task the build is optimized for the first time and then a karma-owned instance of the browser is opened. Click the "debug" button to open a new tab that executes the unit tests.
Expand All @@ -146,7 +146,8 @@ Run the tests for just your particular plugin. Assuming you plugin lives outside

#### Running browser automation tests:

*The Selenium server that is started currently only runs the tests in Firefox*
*The Selenium server that is started currently only runs the tests in a recent version of Firefox.*
*You can use the `PATH` environment variable to specify which version of Firefox to use.*

The following will start Kibana, Elasticsearch and Selenium for you. To run the functional UI tests use the following commands

Expand Down Expand Up @@ -177,7 +178,7 @@ npm run test:ui:runner
- These tests have been developed and tested with Chrome and Firefox browser. In theory, they should work on all browsers (that's the benefit of Intern using Leadfoot).
- These tests should also work with an external testing service like https://saucelabs.com/ or https://www.browserstack.com/ but that has not been tested.
- https://theintern.github.io/
- https://theintern.github.io/leadfoot/Element.html
- https://theintern.github.io/leadfoot/module-leadfoot_Element.html

#### Building OS packages

Expand Down
41 changes: 28 additions & 13 deletions docs/advanced-settings.asciidoc
Original file line number Diff line number Diff line change
@@ -1,37 +1,52 @@
[[kibana-settings-reference]]

WARNING: Modifying the following settings can signficantly affect Kibana's performance and cause problems that are difficult to diagnose. Setting a property's value to a blank field will revert to the default behavior, which may not be compatible with other configuration settings. Deleting a custom setting removes it from Kibana permanently.
WARNING: Modifying the following settings can signficantly affect Kibana's performance and cause problems that are
difficult to diagnose. Setting a property's value to a blank field will revert to the default behavior, which may not be
compatible with other configuration settings. Deleting a custom setting removes it from Kibana permanently.

.Kibana Settings Reference
[horizontal]
`query:queryString:options`:: Options for the Lucene query string parser.
`sort:options`:: Options for the Elasticsearch https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-sort.html[sort] parameter.
`dateFormat`:: The format to use for displaying pretty-formatted dates.
`dateFormat:tz`:: The timezone that Kibana uses. The default value of `Browser` uses the timezone detected by the browser.
`dateFormat:scaled`:: These values define the format used to render ordered time-based data. Formatted timestamps must adapt to the interval between measurements. Keys are http://en.wikipedia.org/wiki/ISO_8601#Time_intervals[ISO8601 intervals].
`dateFormat:scaled`:: These values define the format used to render ordered time-based data. Formatted timestamps must
adapt to the interval between measurements. Keys are http://en.wikipedia.org/wiki/ISO_8601#Time_intervals[ISO8601 intervals].
`defaultIndex`:: Default is `null`. This property specifies the default index.
`metaFields`:: An array of fields outside of `_source`. Kibana merges these fields into the document when displaying the document.
`metaFields`:: An array of fields outside of `_source`. Kibana merges these fields into the document when displaying the
document.
`discover:sampleSize`:: The number of rows to show in the Discover table.
`doc_table:highlight`:: Highlight results in Discover and Saved Searches Dashboard. Highlighing makes request slow when working on big documents. Set this property to `false` to disable highlighting.
`courier:maxSegmentCount`:: Kibana splits requests in the Discover app into segments to limit the size of requests sent to the Elasticsearch cluster. This setting constrains the length of the segment list. Long segment lists can significantly increase request processing time.
`doc_table:highlight`:: Highlight results in Discover and Saved Searches Dashboard. Highlighing makes request slow when
working on big documents. Set this property to `false` to disable highlighting.
`courier:maxSegmentCount`:: Kibana splits requests in the Discover app into segments to limit the size of requests sent to
the Elasticsearch cluster. This setting constrains the length of the segment list. Long segment lists can significantly
increase request processing time.
`fields:popularLimit`:: This setting governs how many of the top most popular fields are shown.
`histogram:barTarget`:: When date histograms use the `auto` interval, Kibana attempts to generate this number of bars.
`histogram:maxBars`:: Date histograms are not generated with more bars than the value of this property, scaling values when necessary.
`visualization:tileMap:maxPrecision`:: The maximum geoHash precision displayed on tile maps: 7 is high, 10 is very high, 12 is the maximum. http://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-geohashgrid-aggregation.html#_cell_dimensions_at_the_equator[Explanation of cell dimensions].
`histogram:maxBars`:: Date histograms are not generated with more bars than the value of this property, scaling values
when necessary.
`visualization:tileMap:maxPrecision`:: The maximum geoHash precision displayed on tile maps: 7 is high, 10 is very high,
12 is the maximum. http://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-geohashgrid-aggregation.html#_cell_dimensions_at_the_equator[Explanation of cell dimensions].
`visualization:tileMap:WMSdefaults`:: Default properties for the WMS map server support in the tile map.
`visualization:colorMapping`:: Maps values to specified colors within visualizations.
`visualization:loadingDelay`:: Time to wait before dimming visualizations during query.
`csv:separator`:: A string that serves as the separator for exported values.
`csv:quoteValues`:: Set this property to `true` to quote exported values.
`history:limit`:: In fields that have history, such as query inputs, the value of this property limits how many recent values are shown.
`shortDots:enable`:: Set this property to `true` to shorten long field names in visualizations. For example, instead of `foo.bar.baz`, show `f.b.baz`.
`truncate:maxHeight`:: This property specifies the maximum height that a cell occupies in a table. A value of 0 disables truncation.
`indexPattern:fieldMapping:lookBack`:: The value of this property sets the number of recent matching patterns to query the field mapping for index patterns with names that contain timestamps.
`format:defaultTypeMap`:: A map of the default format name for each field type. Field types that are not explicitly mentioned use "_default_".
`history:limit`:: In fields that have history, such as query inputs, the value of this property limits how many recent
values are shown.
`shortDots:enable`:: Set this property to `true` to shorten long field names in visualizations. For example, instead of
`foo.bar.baz`, show `f.b.baz`.
`truncate:maxHeight`:: This property specifies the maximum height that a cell occupies in a table. A value of 0 disables
truncation.
`indexPattern:fieldMapping:lookBack`:: The value of this property sets the number of recent matching patterns to query the
field mapping for index patterns with names that contain timestamps.
`format:defaultTypeMap`:: A map of the default format name for each field type. Field types that are not explicitly
mentioned use "_default_".
`format:number:defaultPattern`:: Default numeral format for the "number" format.
`format:bytes:defaultPattern`:: Default numeral format for the "bytes" format.
`format:percent:defaultPattern`:: Default numeral format for the "percent" format.
`format:currency:defaultPattern`:: Default numeral format for the "currency" format.
`savedObjects:perPage`:: The number of objects shown on each page of the list of saved objects. The default value is 5.
`timepicker:timeDefaults`:: The default time filter selection.
`timepicker:refreshIntervalDefaults`:: The time filter's default refresh interval.
`dashboard:defaultDarkTheme`:: Set this property to `true` to make new dashboards use the dark theme by default.
`dashboard:defaultDarkTheme`:: Set this property to `true` to make new dashboards use the dark theme by default.
2 changes: 2 additions & 0 deletions docs/datatable.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ sub-aggregation from the list of types.

You can use the up or down arrows to the right of the aggregation's type to change the aggregation's priority.

Enter a string in the *Custom Label* field to change the display label.

You can click the *Advanced* link to display more customization options for your metrics or bucket aggregation:

*Exclude Pattern*:: Specify a pattern in this field to exclude from the results.
Expand Down
3 changes: 2 additions & 1 deletion docs/metric.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
A metric visualization displays a single number for each aggregation you select:

include::y-axis-aggs.asciidoc[]

You can click the *Advanced* link to display more customization options:

*JSON Input*:: A text field where you can add specific JSON-formatted properties to merge with the aggregation
Expand All @@ -17,7 +18,7 @@ NOTE: In Elasticsearch releases 1.4.3 and later, this functionality requires you

The availability of these options varies depending on the aggregation you choose.

Click the *Options* tab to change the font used to display the metrics.
Click the *Options* tab to display the font size slider.

[float]
[[metric-viewing-detailed-information]]
Expand Down
4 changes: 4 additions & 0 deletions docs/pie.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ field. Select a field from the drop-down.
*Unique Count*:: The {ref}search-aggregations-metrics-cardinality-aggregation.html[_cardinality_] aggregation returns
the number of unique values in a field. Select a field from the drop-down.

Enter a string in the *Custom Label* field to change the display label.

The _buckets_ aggregations determine what information is being retrieved from your data set.

Before you choose a buckets aggregation, specify if you are splitting slices within a single chart or splitting into
Expand Down Expand Up @@ -57,6 +59,8 @@ aggregation's type to change the aggregation's priority.

include::color-picker.asciidoc[]

Enter a string in the *Custom Label* field to change the display label.

You can click the *Advanced* link to display more customization options for your metrics or bucket aggregation:

*Exclude Pattern*:: Specify a pattern in this field to exclude from the results.
Expand Down
5 changes: 5 additions & 0 deletions docs/plugins.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,11 @@ bin/kibana plugin --remove marvel

You can also remove a plugin manually by deleting the plugin's subdirectory under the `installedPlugins` directory.

[float]
=== Listing Installed Plugins

Use `--list` or `-l` option to list the currently installed plugins.

[float]
=== Updating Plugins

Expand Down
4 changes: 4 additions & 0 deletions docs/tilemap.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ numeric field. Select a field from the drop-down.
*Unique Count*:: The {ref}search-aggregations-metrics-cardinality-aggregation.html[_cardinality_] aggregation returns
the number of unique values in a field. Select a field from the drop-down.

Enter a string in the *Custom Label* field to change the display label.

The _buckets_ aggregations determine what information is being retrieved from your data set.

Before you choose a buckets aggregation, specify if you are splitting the chart or displaying the buckets as *Geo
Expand Down Expand Up @@ -71,6 +73,8 @@ based on the geohash coordinates.

NOTE: By default, the *Change precision on map zoom* box is checked. Uncheck the box to disable this behavior.

Enter a string in the *Custom Label* field to change the display label.

You can click the *Advanced* link to display more customization options for your metrics or bucket aggregation:

*Exclude Pattern*:: Specify a pattern in this field to exclude from the results.
Expand Down
4 changes: 4 additions & 0 deletions docs/vertbar.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ values field. Click *+Add* to add a values field.

You can add an aggregation by clicking the *+ Add Aggregation* button.

Enter a string in the *Custom Label* field to change the display label.

The _buckets_ aggregations determine what information is being retrieved from your data set.

Before you choose a buckets aggregation, specify if you are splitting slices within a single chart or splitting into
Expand All @@ -36,6 +38,8 @@ include::x-axis-aggs.asciidoc[]

include::color-picker.asciidoc[]

Enter a string in the *Custom Label* field to change the display label.

You can click the *Advanced* link to display more customization options for your metrics or bucket aggregation:

*Exclude Pattern*:: Specify a pattern in this field to exclude from the results.
Expand Down
6 changes: 4 additions & 2 deletions docs/x-axis-aggs.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ remove a range.
or bottom _n_ elements of a given field to display, ordered by count or a custom metric.
*Filters*:: You can specify a set of {ref}/search-aggregations-bucket-filters-aggregation.html[_filters_] for the data.
You can specify a filter as a query string or in JSON format, just as in the Discover search bar. Click *Add Filter* to
add another filter. Click the image:images/labelbutton.png[] *label* button to open the label field, where you can type in a
name to display on the visualization.
add another filter. Click the image:images/labelbutton.png[Label button icon] *label* button to open the label field, where
you can type in a name to display on the visualization.
*Significant Terms*:: Displays the results of the experimental
{ref}/search-aggregations-bucket-significantterms-aggregation.html[_significant terms_] aggregation.

Expand All @@ -39,3 +39,5 @@ from the list of types.

When multiple aggregations are defined on a chart's axis, you can use the up or down arrows to the right of the
aggregation's type to change the aggregation's priority.

Enter a string in the *Custom Label* field to change the display label.
2 changes: 2 additions & 0 deletions docs/y-axis-aggs.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,5 @@ from the drop-down, then specify one or more percentile rank values in the *Valu
values field. Click *+Add* to add a values field.

You can add an aggregation by clicking the *+ Add Aggregation* button.

Enter a string in the *Custom Label* field to change the display label.
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
"test:coverage": "grunt test:coverage",
"build": "grunt build",
"build:ospackages": "grunt build --os-packages",
"start": "./bin/kibana --dev",
"start": "sh ./bin/kibana --dev",
"precommit": "grunt precommit",
"karma": "karma start",
"elasticsearch": "grunt esvm:dev:keepalive",
Expand Down Expand Up @@ -156,7 +156,7 @@
"grunt-cli": "0.1.13",
"grunt-contrib-clean": "0.6.0",
"grunt-contrib-copy": "0.8.1",
"grunt-esvm": "3.0.3",
"grunt-esvm": "3.0.4",
"grunt-karma": "0.12.0",
"grunt-run": "0.5.0",
"grunt-s3": "0.2.0-alpha.3",
Expand All @@ -179,6 +179,7 @@
"makelogs": "3.0.0-beta3",
"marked-text-renderer": "0.1.0",
"mocha": "2.3.0",
"ncp": "2.0.0",
"nock": "2.10.0",
"npm": "2.11.0",
"portscanner": "1.0.0",
Expand Down
9 changes: 8 additions & 1 deletion src/cli/serve/read_yaml_config.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,14 @@ module.exports = function (path) {
_.forOwn(val, function (subVal, subKey) {
apply(config, subVal, key + '.' + subKey);
});
} else {
}
else if (_.isArray(val)) {
config[key] = [];
val.forEach((subVal, i) => {
apply(config, subVal, key + '.' + i);
});
}
else {
_.set(config, key, val);
}
}
Expand Down
10 changes: 10 additions & 0 deletions src/plugins/elasticsearch/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,16 @@ module.exports = function ({ Plugin }) {
}).default();
},

uiExports: {
injectDefaultVars(server, options) {
return {
esRequestTimeout: options.requestTimeout,
esShardTimeout: options.shardTimeout,
esApiVersion: options.apiVersion,
};
}
},

init(server, options) {
const kibanaIndex = server.config().get('kibana.index');

Expand Down
15 changes: 10 additions & 5 deletions src/plugins/elasticsearch/lib/__tests__/routes.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import expect from 'expect.js';
import util from 'util';
import * as kbnTestServer from '../../../../../test/utils/kbn_server';

const format = util.format;
import { format } from 'util';

import * as kbnTestServer from '../../../../../test/utils/kbn_server';
import fromRoot from '../../../../utils/from_root';

describe('plugins/elasticsearch', function () {
describe('routes', function () {
Expand All @@ -13,7 +12,13 @@ describe('plugins/elasticsearch', function () {
before(function () {
this.timeout(60000); // sometimes waiting for server takes longer than 10

kbnServer = kbnTestServer.createServer();
kbnServer = kbnTestServer.createServer({
plugins: {
scanDirs: [
fromRoot('src/plugins')
]
}
});
return kbnServer.ready()
.then(() => kbnServer.server.plugins.elasticsearch.waitUntilReady());
});
Expand Down
7 changes: 6 additions & 1 deletion src/plugins/kibana/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,12 @@ module.exports = function (kibana) {
description: 'define index patterns, change config, and more',
icon: 'plugins/kibana/assets/settings.svg',
}
]
],
injectDefaultVars(server, options) {
return {
kbnIndex: options.index
};
},
},

init: function (server, options) {
Expand Down
18 changes: 0 additions & 18 deletions src/plugins/kibana/public/dashboard/styles/main.less
Original file line number Diff line number Diff line change
Expand Up @@ -156,21 +156,3 @@ dashboard-grid {
.dashboard-panel-picker > .list-group-item {
border-top: 0;
}

.dashboard-load {
margin: 10px;
}

.dashboard {
&-info {
line-height: 30px;
padding: 0px 10px;
border-bottom-left-radius: @border-radius-base;


&-title {
font-weight: bold;
margin-right: 10px;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -39,21 +39,21 @@ describe('createMappingsFromPatternFields', function () {
let mappings = createMappingsFromPatternFields(testFields);

_.forEach(mappings, function (mapping) {
if (mapping.type !== 'string') {
if (mapping.type !== 'text') {
expect(_.isEqual(mapping, {
type: mapping.type,
index: 'not_analyzed',
index: true,
doc_values: true
})).to.be.ok();
}
});
});

it('should give strings a multi-field mapping', function () {
it('should give strings a multi-field mapping with a "text" base type', function () {
let mappings = createMappingsFromPatternFields(testFields);

_.forEach(mappings, function (mapping) {
if (mapping.type === 'string') {
if (mapping.type === 'text') {
expect(mapping).to.have.property('fields');
}
});
Expand All @@ -68,7 +68,7 @@ describe('createMappingsFromPatternFields', function () {
expect(mappings.geo.properties).to.have.property('coordinates');
expect(_.isEqual(mappings.geo.properties.coordinates, {
type: 'geo_point',
index: 'not_analyzed',
index: true,
doc_values: true
})).to.be.ok();
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,17 @@ module.exports = function createMappingsFromPatternFields(fields) {

if (field.type === 'string') {
mapping = {
type: 'string',
index: 'analyzed',
type: 'text',
fields: {
raw: {type: 'string', index: 'not_analyzed', doc_values: true, ignore_above: 256}
raw: {type: 'keyword', ignore_above: 256}
}
};
}
else {
const fieldType = field.type === 'number' ? 'double' : field.type;
mapping = {
type: fieldType,
index: 'not_analyzed',
index: true,
doc_values: true
};
}
Expand Down
Loading

0 comments on commit 22a3163

Please sign in to comment.