You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update doc slugs to improve analytic tracking, move to appropriate folders (elastic#113630)
* Update the slugs to improve google analytics drilldown tracking
* more slug updates
* Fix some formatting issues in building blocks
* update paths
Co-authored-by: Kibana Machine <[email protected]>
If you are an employee at Elastic, please check out our Developer Guide [here](https://docs.elastic.dev/kibana-dev-docs/welcome).
3
+
If you are an employee at Elastic, please check out our Developer Guide [here](https://docs.elastic.dev/kibana-dev-docs/getting-started/welcome).
4
4
5
5
If you are an external developer, we have a legacy developer guide [here](https://www.elastic.co/guide/en/kibana/master/development.html), or you can view the raw docs from our new, internal Developer Guide [here](./dev_docs/getting_started/dev_welcome.mdx). Eventually, our internal Developer Guide will be opened for public consumption.
Over time, the Kibana project has been shaped by certain principles. Like Kibana itself, some of these principles were formed by intention while others were the result of evolution and circumstance, but today all are important for the continued success and maintainability of Kibana.
@@ -117,4 +117,4 @@ The primary consumers of the code we write, the APIs that we create, and the fea
117
117
118
118
Features that we anticipate end users, admins, and plugin developers consuming should be documented through our official docs, but module-level READMEs and code comments are also appropriate.
119
119
120
-
Documentation is critical part of developing features and code, so an undocumented feature is an incomplete feature.
120
+
Documentation is critical part of developing features and code, so an undocumented feature is an incomplete feature.
When building a plugin in Kibana, there are a handful of architectural "building blocks" you can use. Some of these building blocks are "higher-level",
11
-
and some are "lower-level". High-level building blocks come
10
+
When building a plugin in Kibana, there are a handful of architectural "building blocks" you can use. Some of these building blocks are "higher-level",
11
+
and some are "lower-level". High-level building blocks come
12
12
with many built-in capabilities, require less maintenance, and evolve new feature sets over time with little to no
13
-
impact on consumers. When developers use high-level building blocks, new features are exposed consistently, across all of Kibana, at the same time.
14
-
On the downside, they are not as flexible as our low-level building blocks.
15
-
16
-
Low-level building blocks
17
-
provide greater flexibility, but require more code to stitch them together into a meaningful UX. This results in higher maintenance cost for consumers and greater UI/UX variability
18
-
across Kibana.
19
-
20
-
For example, if an application is using <DocLinkid="kibBuildingBlocks"section="index-patterns"text="Index Patterns"/> and
their application would automatically support runtime fields. If the app is instead using the
23
-
lower-level <DocLinkid="kibBuildingBlocks"section="search-strategy"text="Search Strategy"/>, additional work would be required.
13
+
impact on consumers. When developers use high-level building blocks, new features are exposed consistently, across all of Kibana, at the same time.
14
+
On the downside, they are not as flexible as our low-level building blocks.
15
+
16
+
Low-level building blocks
17
+
provide greater flexibility, but require more code to stitch them together into a meaningful UX. This results in higher maintenance cost for consumers and greater UI/UX variability
18
+
across Kibana.
19
+
20
+
For example, if an application is using <DocLinkid="kibBuildingBlocks"section="index-patterns"text="Index Patterns"/> and <DocLinkid="kibBuildingBlocks"section="search-source"text="Search Source" />, their application would
21
+
automatically support runtime fields. If the app is instead using the lower-level <DocLink
22
+
id="kibBuildingBlocks"
23
+
section="search-strategy"
24
+
text="Search Strategy"
25
+
/>, additional work would be required.
24
26
25
27
Armed with this knowledge, you can choose what works best for your use case!
26
28
@@ -32,35 +34,23 @@ The following high-level building blocks can be rendered directly into your appl
32
34
33
35
### Query Bar
34
36
35
-
The <DocLinkid="kibDataPlugin"text="Data plugin"/> provides a high-level Query Bar component that comes with support for Lucene, KQL, Saved Queries,
36
-
and <DocLinkid="kibBuildingBlocks"section="index-patterns"text="Index Patterns"/>.
37
-
38
-
If you would like to expose the ability to search and filter on Elasticsearch data, the Query Bar provided by the
39
-
<DocLinkid="kibDataPlugin"text="Data plugin"/>
40
-
is your go-to building block.
37
+
The <DocLinkid="kibDataPlugin"text="Data plugin"/> provides a high-level Query Bar component that comes with support for Lucene, KQL, Saved Queries,
38
+
and <DocLinkid="kibBuildingBlocks"section="index-patterns"text="Index Patterns"/>. If you would like to expose the ability to search and filter on Elasticsearch data, the Query Bar provided by the <DocLinkid="kibDataPlugin"text="Data plugin" /> is your go-to building block.
(Lens, Maps, Saved Searches and more) will be available automatically, as well as any
50
-
<DocLinkid="kibBuildingBlocks"section="ui-actions--triggers"text="UI Actions"/> that are
51
-
added to the Embeddable context menu panel (for example, drilldowns, custom panel time ranges, and "share to" features).
45
+
with the <DocLinkid="kibBuildingBlocks"section="query-bar"text="Query Bar"/>. Every feature that is added to a registered <DocLinkid="kibBuildingBlocks"section="embeddables"text="Embeddable" /> (Lens, Maps, Saved Searches and more) will be available automatically, as well as any <DocLinkid="kibBuildingBlocks"section="ui-actions--triggers"text="UI Actions" /> that are added to the Embeddable context menu panel (for example, drilldowns, custom panel time ranges, and "share to" features).
52
46
53
47
The Dashboard Embeddable is one of the highest-level UI components you can add to your application.
Check out the Lens Embeddable if you wish to show users visualizations based on Elasticsearch data without worrying about query building and chart rendering. It's built on top of the
60
-
<DocLinkid="kibBuildingBlocks"section="expressions"text="Expression language"/>, and integrates with
and <DocLinkid="kibBuildingBlocks"section="ui-actions--triggers"text="UI Actions"/>. Using the same configuration, it's also possible to link to
63
-
a prefilled Lens editor, allowing the user to drill deeper and explore their data.
53
+
Check out the Lens Embeddable if you wish to show users visualizations based on Elasticsearch data without worrying about query building and chart rendering. It's built on top of the <DocLinkid="kibBuildingBlocks"section="expressions"text="Expression language" />, and integrates with <DocLinkid="kibBuildingBlocks"section="index-patterns"text="Index Patterns" /> and <DocLinkid="kibBuildingBlocks"section="ui-actions--triggers"text="UI Actions" />. Using the same configuration, it's also possible to link to a prefilled Lens editor, allowing the user to drill deeper and explore their data.
@@ -72,7 +62,7 @@ Check out the Map Embeddable if you wish to embed a map in your application.
72
62
73
63
### KibanaPageTemplate
74
64
75
-
All Kibana pages should use KibanaPageTemplate to setup their pages. It's a thin wrapper around [EuiPageTemplate](https://elastic.github.io/eui/#/layout/page) that makes setting up common types of Kibana pages quicker and easier while also adhering to any Kibana-specific requirements.
65
+
All Kibana pages should use KibanaPageTemplate to setup their pages. It's a thin wrapper around [EuiPageTemplate](https://elastic.github.io/eui/#/layout/page) that makes setting up common types of Kibana pages quicker and easier while also adhering to any Kibana-specific requirements.
76
66
77
67
Check out <DocLinkid="kibDevDocsKPTTutorial"text="the KibanaPageTemplate tutorial" /> for more implementation guidance.
Search Strategies are a low-level building block that abstracts away search details, like what REST endpoint is being called. The ES Search Strategy
107
-
is a very lightweight abstraction layer that sits just above querying ES with the elasticsearch-js client. Other search stragies are offered for other
102
+
Search Strategies are a low-level building block that abstracts away search details, like what REST endpoint is being called. The ES Search Strategy
103
+
is a very lightweight abstraction layer that sits just above querying ES with the elasticsearch-js client. Other search stragies are offered for other
108
104
languages, like EQL and SQL. These are very low-level building blocks so expect a lot of glue work to make these work with the higher-level abstractions.
Expressions are a low-level building block that can be used if you have advanced search needs that requiring piping results into additional functionality, like
115
-
joining and manipulating data. Lens and Canvas are built on top of Expressions. Most developers should be able to use
116
-
<DocLinkid="kibBuildingBlocks"section="lens-embeddable"text="Lens"/> or
117
-
<DocLinkid="kibBuildingBlocks"section="search-source"text="Search Source"/>, rather than need to access the Expression language directly.
111
+
joining and manipulating data. Lens and Canvas are built on top of Expressions. Most developers should be able to use <DocLinkid="kibBuildingBlocks"section="lens-embeddable"text="Lens" /> or <DocLinkid="kibBuildingBlocks"section="search-source"text="Search Source" />, rather than need to
<DocLinkid="kibDevDocsSavedObjectsIntro"text="Saved Objects" /> should be used if you need to persist application-level information. If you were building a TODO
124
-
application, each TODO item would be a `Saved Object`. Saved objects come pre-wired with support for bulk export/import, security features like space sharing and
125
-
space isolation, and tags.
118
+
<DocLinkid="kibDevDocsSavedObjectsIntro"text="Saved Objects" /> should be used if you need to persist
119
+
application-level information. If you were building a TODO application, each TODO item would be a `Saved
120
+
Object`. Saved objects come pre-wired with support for bulk export/import, security features like space
Use the following building blocks to create an inter-connected, cross-application, holistic Kibana experience. These building blocks allow you to expose functionality
132
-
that promotes your own application into other applications, as well as help developers of other applications integrate into your app.
128
+
that promotes your own application into other applications, as well as help developers of other applications integrate into your app.
133
129
134
130
## UI Actions & Triggers
135
131
@@ -141,6 +137,6 @@ application could register a UI Action called "View in Maps" to appear any time
141
137
## Embeddables
142
138
143
139
Embeddables help you integrate your application with the Dashboard application. Register your custom UI Widget as an Embeddable and users will
144
-
be able to add it as a panel on a Dashboard. With a little extra work, it can also be exposed in Canvas workpads.
140
+
be able to add it as a panel on a Dashboard. With a little extra work, it can also be exposed in Canvas workpads.
summary: Data views are the central method of defining queryable data sets in Kibana
6
6
date: 2021-08-11
7
-
tags: ['kibana','dev', 'contributor', 'api docs']
7
+
tags: ['kibana','dev', 'contributor', 'api docs']
8
8
---
9
9
10
-
*Note: Kibana index patterns are currently being renamed to data views. There will be some naming inconsistencies until the transition is complete.*
10
+
_Note: Kibana index patterns are currently being renamed to data views. There will be some naming inconsistencies until the transition is complete._
11
11
12
12
Data views (formerly Kibana index patterns or KIPs) are the central method of describing sets of indices for queries. Usage is strongly recommended
13
-
as a number of high level <DocLinkid="kibBuildingBlocks"text="building blocks"/> rely on them. Further, they provide a consistent view of data across
13
+
as a number of high level <DocLinkid="kibBuildingBlocks"text="building blocks"/> rely on them. Further, they provide a consistent view of data across
14
14
a variety Kibana apps.
15
15
16
16
Data views are defined by a wildcard string (an index pattern) which matches indices, data streams, and index aliases, optionally specify a
@@ -20,13 +20,10 @@ on the data view via runtime fields. Schema-on-read functionality is provided by
20
20
21
21

22
22
23
-
24
-
25
23
The data view API is made available via the data plugin (`data.indexPatterns`, soon to be renamed) and most commonly used with <DocLinkid="kibDevTutorialDataSearchAndSessions"section="high-level-search"text="SearchSource" />
26
24
(`data.search.search.SearchSource`) to perform queries. SearchSource will apply existing filters and queries from the search bar UI.
27
25
28
26
Users can create data views via [Data view management](https://www.elastic.co/guide/en/kibana/current/index-patterns.html).
29
27
Additionally, they can be created through the data view API.
30
28
31
29
Data views also allow formatters and custom labels to be defined for fields.
0 commit comments