Skip to content

Commit 0a2a48d

Browse files
kavillaopensearch-changeset-bot[bot]angle943
authored
[explore] add plugin (#9724)
This PR introduces the Explore plugin (experimental), a new data exploration experience in OpenSearch Dashboards. The Explore plugin builds upon the foundation of Discover while focusing on a query-driven approach with enhanced multi-dataset support. It exists alongside the current Discover plugin to allow for incremental adoption without disrupting existing workflows. Signed-off-by: Kawika Avilla <[email protected]> --------- Signed-off-by: Kawika Avilla <[email protected]> Co-authored-by: opensearch-changeset-bot[bot] <154024398+opensearch-changeset-bot[bot]@users.noreply.github.com> Co-authored-by: Justin Kim <[email protected]>
1 parent 508edbc commit 0a2a48d

File tree

20 files changed

+471
-1
lines changed

20 files changed

+471
-1
lines changed

changelogs/fragments/9724.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
feat:
2+
- Add new Explore plugin ([#9724](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/9724))

docs/_sidebar.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
- [Dev_tools](../src/plugins/dev_tools/README.md)
4747
- [Discover](../src/plugins/discover/README.md)
4848
- [Embeddable](../src/plugins/embeddable/README.md)
49+
- [Explore](../src/plugins/explore/README.md)
4950
- [Expressions](../src/plugins/expressions/README.md)
5051
- [Home](../src/plugins/home/README.md)
5152
- index_pattern_management

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@
6565
"start": "scripts/use_node scripts/opensearch_dashboards --dev",
6666
"start:docker": "scripts/use_node scripts/opensearch_dashboards --dev --opensearch.hosts=$OPENSEARCH_HOSTS --opensearch.ignoreVersionMismatch=true --server.host=$SERVER_HOST",
6767
"start:security": "scripts/use_node scripts/opensearch_dashboards --dev --security",
68-
"start:enhancements": "scripts/use_node scripts/opensearch_dashboards --dev --uiSettings.overrides['query:enhancements:enabled']=true --uiSettings.overrides['home:useNewHomePage']=true",
68+
"start:enhancements": "scripts/use_node scripts/opensearch_dashboards --dev --uiSettings.overrides['query:enhancements:enabled']=true --uiSettings.overrides['home:useNewHomePage']=true ",
69+
"start:explore": "scripts/use_node scripts/opensearch_dashboards --dev --explore.enabled=true --uiSettings.overrides['query:enhancements:enabled']=true --uiSettings.overrides['home:useNewHomePage']=true --data_source.enabled=true --opensearchDashboards.branding.useExpandedHeader=false --opensearch.ignoreVersionMismatch=true",
6970
"debug": "scripts/use_node --nolazy --inspect scripts/opensearch_dashboards --dev",
7071
"debug-break": "scripts/use_node --nolazy --inspect-brk scripts/opensearch_dashboards --dev",
7172
"lint": "yarn run lint:es && yarn run lint:style",

src/dev/storybook/aliases.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@
55

66
export const storybookAliases = {
77
discover: 'src/plugins/discover/.storybook',
8+
explore: 'src/plugins/explore/.storybook',
89
};
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
/*
2+
* Copyright OpenSearch Contributors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
module.exports = require('@osd/storybook').defaultConfig;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
/*
2+
* Copyright OpenSearch Contributors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
import '../../../../packages/osd-ui-shared-deps/target/osd-ui-shared-deps.css';
7+
import '../../../../packages/osd-ui-shared-deps/target/osd-ui-shared-deps.v7.light.css';
8+
9+
export default {
10+
parameters: {},
11+
};

src/plugins/explore/README.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Explore Plugin (experimental)
2+
3+
This plugin is experimental and will change in future releases.
4+
5+
The Explore plugin represents an evolution of the Discover experience in OpenSearch Dashboards, providing enhanced query capabilities and multi-dataset support.
6+
7+
## Overview
8+
9+
This plugin introduces a query-driven data exploration experience while maintaining compatibility with the existing Discover functionality. It serves as a forward-looking replacement for Discover that will eventually become the primary data exploration interface.
10+
11+
## Why a New Plugin?
12+
13+
Creating a separate plugin instead of directly modifying Discover allows us to:
14+
15+
1. Prevent regression on the existing Discover plugin while implementing new features
16+
2. Build a new architecture for a query-driven experience
17+
3. Enable incremental adoption as users transition to the new experience
18+
19+
## Relationship to Other Plugins
20+
21+
### Discover Plugin
22+
Explore builds upon Discover's core functionality while enhancing it with multi-dataset support and flexible query capabilities. Eventually, Explore will replace Discover entirely as a backward-compatible upgrade.
23+
24+
### Data Explorer Plugin
25+
While Data Explorer provides a consolidated view of all data exploration tools, Explore focuses specifically on the search and analysis experience within that broader ecosystem.
26+
27+
## Running the Plugin
28+
29+
To run the Explore plugin:
30+
31+
```bash
32+
yarn start:explore
33+
```
34+
35+
## Future Plans
36+
37+
The long-term goal is for Explore to completely replace the Discover plugin. This transition will happen gradually while maintaining backward compatibility to ensure a smooth transition for users and developers who have built workflows around Discover.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/*
2+
* Copyright OpenSearch Contributors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
export const PLUGIN_ID = 'explore';
7+
export const PLUGIN_NAME = 'Discover (experimental)';

src/plugins/explore/config.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
/*
2+
* Copyright OpenSearch Contributors
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
import { schema, TypeOf } from '@osd/config-schema';
7+
8+
export const configSchema = schema.object({
9+
enabled: schema.boolean({ defaultValue: false }),
10+
});
11+
12+
export type ConfigSchema = TypeOf<typeof configSchema>;
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"id": "explore",
3+
"version": "1.0.0",
4+
"opensearchDashboardsVersion": "opensearchDashboards",
5+
"server": true,
6+
"ui": true,
7+
"requiredPlugins": [
8+
"charts",
9+
"data",
10+
"dataExplorer",
11+
"embeddable",
12+
"inspector",
13+
"opensearchDashboardsLegacy",
14+
"urlForwarding",
15+
"navigation",
16+
"uiActions",
17+
"visualizations",
18+
"usageCollection"
19+
],
20+
"optionalPlugins": ["home", "share"],
21+
"configPath": ["explore"]
22+
}

0 commit comments

Comments
 (0)