From 66dfd84d5103b4edcbba2dcb85e085cfc1ade853 Mon Sep 17 00:00:00 2001 From: Rodney Norris Date: Thu, 3 Oct 2024 17:36:43 +0000 Subject: [PATCH 1/4] es3: remove search homepage usage Search home page was feature flagged in serverless search. This project is currently on hold indefinitely, removing usage of the feature flag until the project starts up again. --- config/serverless.es.yml | 3 -- x-pack/plugins/serverless_search/kibana.jsonc | 11 ++----- .../public/navigation_tree.ts | 4 +-- .../serverless_search/public/plugin.ts | 29 +++---------------- .../plugins/serverless_search/public/types.ts | 6 ---- .../functional/test_suites/search/index.ts | 1 - 6 files changed, 8 insertions(+), 46 deletions(-) diff --git a/config/serverless.es.yml b/config/serverless.es.yml index 62e201955d9c8..4261f29488002 100644 --- a/config/serverless.es.yml +++ b/config/serverless.es.yml @@ -70,8 +70,5 @@ xpack.searchInferenceEndpoints.ui.enabled: false # Search Notebooks xpack.search.notebooks.catalog.url: https://elastic-enterprise-search.s3.us-east-2.amazonaws.com/serverless/catalog.json -# Search Homepage -xpack.search.homepage.ui.enabled: true - # Semantic text UI xpack.index_management.dev.enableSemanticText: false diff --git a/x-pack/plugins/serverless_search/kibana.jsonc b/x-pack/plugins/serverless_search/kibana.jsonc index a326956635d80..8ef675723cf0e 100644 --- a/x-pack/plugins/serverless_search/kibana.jsonc +++ b/x-pack/plugins/serverless_search/kibana.jsonc @@ -7,11 +7,7 @@ "id": "serverlessSearch", "server": true, "browser": true, - "configPath": [ - "xpack", - "serverless", - "search" - ], + "configPath": ["xpack", "serverless", "search"], "requiredPlugins": [ "cloud", "console", @@ -29,13 +25,10 @@ "optionalPlugins": [ "indexManagement", "searchConnectors", - "searchHomepage", "searchIndices", "searchInferenceEndpoints", "usageCollection" ], - "requiredBundles": [ - "kibanaReact" - ] + "requiredBundles": ["kibanaReact"] } } diff --git a/x-pack/plugins/serverless_search/public/navigation_tree.ts b/x-pack/plugins/serverless_search/public/navigation_tree.ts index 53899994181d6..3fc084b5059d8 100644 --- a/x-pack/plugins/serverless_search/public/navigation_tree.ts +++ b/x-pack/plugins/serverless_search/public/navigation_tree.ts @@ -9,7 +9,7 @@ import type { NavigationTreeDefinition } from '@kbn/core-chrome-browser'; import { i18n } from '@kbn/i18n'; import { CONNECTORS_LABEL } from '../common/i18n_string'; -export const navigationTree = (useSearchHomepage: boolean = false): NavigationTreeDefinition => ({ +export const navigationTree = (): NavigationTreeDefinition => ({ body: [ { type: 'navGroup', @@ -25,7 +25,7 @@ export const navigationTree = (useSearchHomepage: boolean = false): NavigationTr title: i18n.translate('xpack.serverlessSearch.nav.home', { defaultMessage: 'Home', }), - link: useSearchHomepage ? 'searchHomepage' : 'serverlessElasticsearch', + link: 'serverlessElasticsearch', spaceBefore: 'm', }, { diff --git a/x-pack/plugins/serverless_search/public/plugin.ts b/x-pack/plugins/serverless_search/public/plugin.ts index d06a104d01fcc..66daece706eab 100644 --- a/x-pack/plugins/serverless_search/public/plugin.ts +++ b/x-pack/plugins/serverless_search/public/plugin.ts @@ -43,9 +43,6 @@ export class ServerlessSearchPlugin core: CoreSetup, setupDeps: ServerlessSearchPluginSetupDependencies ): ServerlessSearchPluginSetup { - const { searchHomepage } = setupDeps; - const useSearchHomepage = searchHomepage && searchHomepage.isHomepageFeatureEnabled(); - const queryClient = new QueryClient({ mutationCache: new MutationCache({ onError: (error) => { @@ -77,23 +74,6 @@ export class ServerlessSearchPlugin defaultMessage: 'Home', }); - if (useSearchHomepage) { - core.application.register({ - id: 'serverlessHomeRedirect', - title: homeTitle, - appRoute: '/app/elasticsearch', - euiIconType: 'logoElastic', - category: DEFAULT_APP_CATEGORIES.enterpriseSearch, - visibleIn: [], - async mount({}: AppMountParameters) { - const [coreStart] = await core.getStartServices(); - coreStart.chrome.docTitle.change(homeTitle); - coreStart.application.navigateToApp('searchHomepage'); - return () => {}; - }, - }); - } - core.application.register({ id: 'serverlessElasticsearch', title: i18n.translate('xpack.serverlessSearch.app.elasticsearch.title', { @@ -101,7 +81,7 @@ export class ServerlessSearchPlugin }), euiIconType: 'logoElastic', category: DEFAULT_APP_CATEGORIES.enterpriseSearch, - appRoute: useSearchHomepage ? '/app/elasticsearch/getting_started' : '/app/elasticsearch', + appRoute: '/app/elasticsearch', async mount({ element, history }: AppMountParameters) { const { renderApp } = await import('./application/elasticsearch'); const [coreStart, services] = await core.getStartServices(); @@ -149,12 +129,11 @@ export class ServerlessSearchPlugin core: CoreStart, services: ServerlessSearchPluginStartDependencies ): ServerlessSearchPluginStart { - const { serverless, management, indexManagement, security, searchHomepage } = services; - const useSearchHomepage = searchHomepage && searchHomepage.isHomepageFeatureEnabled(); + const { serverless, management, indexManagement, security } = services; - serverless.setProjectHome(useSearchHomepage ? '/app/elasticsearch/home' : '/app/elasticsearch'); + serverless.setProjectHome('/app/elasticsearch'); - const navigationTree$ = of(navigationTree(searchHomepage?.isHomepageFeatureEnabled() ?? false)); + const navigationTree$ = of(navigationTree()); serverless.initNavigation('search', navigationTree$, { dataTestSubj: 'svlSearchSideNav' }); const extendCardNavDefinitions = serverless.getNavigationCards( diff --git a/x-pack/plugins/serverless_search/public/types.ts b/x-pack/plugins/serverless_search/public/types.ts index d3011210c524f..7067851bc0196 100644 --- a/x-pack/plugins/serverless_search/public/types.ts +++ b/x-pack/plugins/serverless_search/public/types.ts @@ -15,10 +15,6 @@ import type { ServerlessPluginSetup, ServerlessPluginStart } from '@kbn/serverle import type { SharePluginStart } from '@kbn/share-plugin/public'; import type { IndexManagementPluginStart } from '@kbn/index-management-plugin/public'; import type { DiscoverSetup } from '@kbn/discover-plugin/public'; -import type { - SearchHomepagePluginSetup, - SearchHomepagePluginStart, -} from '@kbn/search-homepage/public'; // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface ServerlessSearchPluginSetup {} @@ -31,7 +27,6 @@ export interface ServerlessSearchPluginSetupDependencies { management: ManagementSetup; serverless: ServerlessPluginSetup; discover: DiscoverSetup; - searchHomepage?: SearchHomepagePluginSetup; } export interface ServerlessSearchPluginStartDependencies { @@ -44,5 +39,4 @@ export interface ServerlessSearchPluginStartDependencies { serverless: ServerlessPluginStart; share: SharePluginStart; indexManagement?: IndexManagementPluginStart; - searchHomepage?: SearchHomepagePluginStart; } diff --git a/x-pack/test_serverless/functional/test_suites/search/index.ts b/x-pack/test_serverless/functional/test_suites/search/index.ts index cede675747839..bc2056268f8bd 100644 --- a/x-pack/test_serverless/functional/test_suites/search/index.ts +++ b/x-pack/test_serverless/functional/test_suites/search/index.ts @@ -25,6 +25,5 @@ export default function ({ loadTestFile }: FtrProviderContext) { loadTestFile(require.resolve('./search_playground/playground_overview')); loadTestFile(require.resolve('./ml')); - loadTestFile(require.resolve('./search_homepage')); }); } From 5c0e5bb1493a257eb4830c4a664a5d858995c6a4 Mon Sep 17 00:00:00 2001 From: Rodney Norris Date: Thu, 3 Oct 2024 17:43:17 +0000 Subject: [PATCH 2/4] search: remove search homepage usage The search home page project is on hold, removing usage of it from enterprise_search plugin. --- x-pack/plugins/enterprise_search/kibana.jsonc | 13 +-- .../__mocks__/kea_logic/kibana_logic.mock.ts | 2 - .../public/applications/index.tsx | 2 - .../components/layout/page_template.test.tsx | 28 ----- .../components/layout/page_template.tsx | 37 ------- .../components/search_homepage.tsx | 35 ------ .../applications/search_homepage/index.tsx | 42 ------- .../search_homepage/jest.config.js | 26 ----- .../shared/kibana/kibana_logic.ts | 7 -- .../public/applications/shared/layout/nav.tsx | 8 +- .../test_helpers/test_utils.test_helper.tsx | 2 - .../public/navigation_tree.ts | 6 +- .../enterprise_search/public/plugin.ts | 104 +++++------------- 13 files changed, 36 insertions(+), 276 deletions(-) delete mode 100644 x-pack/plugins/enterprise_search/public/applications/search_homepage/components/layout/page_template.test.tsx delete mode 100644 x-pack/plugins/enterprise_search/public/applications/search_homepage/components/layout/page_template.tsx delete mode 100644 x-pack/plugins/enterprise_search/public/applications/search_homepage/components/search_homepage.tsx delete mode 100644 x-pack/plugins/enterprise_search/public/applications/search_homepage/index.tsx delete mode 100644 x-pack/plugins/enterprise_search/public/applications/search_homepage/jest.config.js diff --git a/x-pack/plugins/enterprise_search/kibana.jsonc b/x-pack/plugins/enterprise_search/kibana.jsonc index 91221ef0ed95e..f631bd2dc53d1 100644 --- a/x-pack/plugins/enterprise_search/kibana.jsonc +++ b/x-pack/plugins/enterprise_search/kibana.jsonc @@ -7,9 +7,7 @@ "id": "enterpriseSearch", "server": true, "browser": true, - "configPath": [ - "enterpriseSearch" - ], + "configPath": ["enterpriseSearch"], "requiredPlugins": [ "data", "features", @@ -17,7 +15,7 @@ "logsShared", "logsDataAccess", "esUiShared", - "navigation", + "navigation" ], "optionalPlugins": [ "customIntegrations", @@ -31,7 +29,6 @@ "guidedOnboarding", "console", "searchConnectors", - "searchHomepage", "searchPlayground", "searchInferenceEndpoints", "embeddable", @@ -39,10 +36,8 @@ "charts", "cloud", "lens", - "share", + "share" ], - "requiredBundles": [ - "kibanaReact" - ] + "requiredBundles": ["kibanaReact"] } } diff --git a/x-pack/plugins/enterprise_search/public/applications/__mocks__/kea_logic/kibana_logic.mock.ts b/x-pack/plugins/enterprise_search/public/applications/__mocks__/kea_logic/kibana_logic.mock.ts index 5f4774be15b96..cca5523ded681 100644 --- a/x-pack/plugins/enterprise_search/public/applications/__mocks__/kea_logic/kibana_logic.mock.ts +++ b/x-pack/plugins/enterprise_search/public/applications/__mocks__/kea_logic/kibana_logic.mock.ts @@ -45,7 +45,6 @@ export const mockKibanaValues = { history: mockHistory, indexMappingComponent: null, isCloud: false, - isSearchHomepageEnabled: false, isSidebarEnabled: true, lens: { EmbeddableComponent: jest.fn(), @@ -65,7 +64,6 @@ export const mockKibanaValues = { hasWebCrawler: true, }, renderHeaderActions: jest.fn(), - searchHomepage: null, searchInferenceEndpoints: null, searchPlayground: searchPlaygroundMock.createStart(), security: securityMock.createStart(), diff --git a/x-pack/plugins/enterprise_search/public/applications/index.tsx b/x-pack/plugins/enterprise_search/public/applications/index.tsx index dab9c9a0b6049..eafa8827869d8 100644 --- a/x-pack/plugins/enterprise_search/public/applications/index.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/index.tsx @@ -117,7 +117,6 @@ export const renderApp = ( guidedOnboarding, history, indexMappingComponent, - isSearchHomepageEnabled: plugins.searchHomepage?.isHomepageFeatureEnabled() ?? false, isSidebarEnabled, lens, ml, @@ -128,7 +127,6 @@ export const renderApp = ( params.setHeaderActionMenu( HeaderActions ? renderHeaderActions.bind(null, HeaderActions, store, params) : undefined ), - searchHomepage: plugins.searchHomepage, searchPlayground: plugins.searchPlayground, searchInferenceEndpoints: plugins.searchInferenceEndpoints, security, diff --git a/x-pack/plugins/enterprise_search/public/applications/search_homepage/components/layout/page_template.test.tsx b/x-pack/plugins/enterprise_search/public/applications/search_homepage/components/layout/page_template.test.tsx deleted file mode 100644 index c44cc39c5eb1d..0000000000000 --- a/x-pack/plugins/enterprise_search/public/applications/search_homepage/components/layout/page_template.test.tsx +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React from 'react'; - -import { TestHelper } from '../../../test_helpers/test_utils.test_helper'; - -import { SearchHomepagePageTemplate } from './page_template'; - -describe('SearchHomepagePageTemplate', () => { - beforeAll(() => { - TestHelper.prepare(); - }); - - it('renders as expected', async () => { - const { container } = TestHelper.render( - -
Test
-
- ); - - expect(container.querySelector('.kbnSolutionNav__title')).toHaveTextContent('Search'); - }); -}); diff --git a/x-pack/plugins/enterprise_search/public/applications/search_homepage/components/layout/page_template.tsx b/x-pack/plugins/enterprise_search/public/applications/search_homepage/components/layout/page_template.tsx deleted file mode 100644 index 76f2e6e526239..0000000000000 --- a/x-pack/plugins/enterprise_search/public/applications/search_homepage/components/layout/page_template.tsx +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React from 'react'; - -import { SEARCH_PRODUCT_NAME } from '../../../../../common/constants'; -import { SetSearchChrome } from '../../../shared/kibana_chrome'; -import { EnterpriseSearchPageTemplateWrapper, PageTemplateProps } from '../../../shared/layout'; -import { useEnterpriseSearchNav } from '../../../shared/layout'; -import { SendEnterpriseSearchTelemetry } from '../../../shared/telemetry'; - -export const SearchHomepagePageTemplate: React.FC = ({ - children, - pageChrome, - pageViewTelemetry, - ...pageTemplateProps -}) => { - return ( - } - > - {pageViewTelemetry && ( - - )} - {children} - - ); -}; diff --git a/x-pack/plugins/enterprise_search/public/applications/search_homepage/components/search_homepage.tsx b/x-pack/plugins/enterprise_search/public/applications/search_homepage/components/search_homepage.tsx deleted file mode 100644 index a605010fcb00d..0000000000000 --- a/x-pack/plugins/enterprise_search/public/applications/search_homepage/components/search_homepage.tsx +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React from 'react'; - -import { useValues } from 'kea'; - -import { KibanaLogic } from '../../shared/kibana'; -import { SetSearchChrome } from '../../shared/kibana_chrome'; - -import { SearchHomepagePageTemplate } from './layout/page_template'; - -export const SearchHomepagePage = () => { - const { isSearchHomepageEnabled, searchHomepage } = useValues(KibanaLogic); - - if (!isSearchHomepageEnabled || !searchHomepage) { - return null; - } - - return ( - - - - - ); -}; diff --git a/x-pack/plugins/enterprise_search/public/applications/search_homepage/index.tsx b/x-pack/plugins/enterprise_search/public/applications/search_homepage/index.tsx deleted file mode 100644 index 43963f21d3b5d..0000000000000 --- a/x-pack/plugins/enterprise_search/public/applications/search_homepage/index.tsx +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import React from 'react'; - -import { Routes, Route } from '@kbn/shared-ux-router'; - -import { isVersionMismatch } from '../../../common/is_version_mismatch'; -import type { InitialAppData } from '../../../common/types'; -import { VersionMismatchPage } from '../shared/version_mismatch'; - -import { SearchHomepagePage } from './components/search_homepage'; - -export const SearchHomepage: React.FC = (props) => { - const { enterpriseSearchVersion, kibanaVersion } = props; - const incompatibleVersions = isVersionMismatch(enterpriseSearchVersion, kibanaVersion); - - const showView = () => { - if (incompatibleVersions) { - return ( - - ); - } - - return ; - }; - - return ( - - - {showView()} - - - ); -}; diff --git a/x-pack/plugins/enterprise_search/public/applications/search_homepage/jest.config.js b/x-pack/plugins/enterprise_search/public/applications/search_homepage/jest.config.js deleted file mode 100644 index c18a3561afb65..0000000000000 --- a/x-pack/plugins/enterprise_search/public/applications/search_homepage/jest.config.js +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -module.exports = { - preset: '@kbn/test', - rootDir: '../../../../../..', - roots: ['/x-pack/plugins/enterprise_search/public/applications/search_homepage'], - collectCoverage: true, - coverageReporters: ['text', 'html'], - collectCoverageFrom: [ - '/x-pack/plugins/enterprise_search/public/applications/**/*.{ts,tsx}', - '!/x-pack/plugins/enterprise_search/public/*.ts', - '!/x-pack/plugins/enterprise_search/server/*.ts', - '!/x-pack/plugins/enterprise_search/public/applications/test_helpers/**/*.{ts,tsx}', - ], - coverageDirectory: - '/target/kibana-coverage/jest/x-pack/plugins/enterprise_search/public/applications/search_homepage', - modulePathIgnorePatterns: [ - '/x-pack/plugins/enterprise_search/public/applications/app_search/cypress', - '/x-pack/plugins/enterprise_search/public/applications/workplace_search/cypress', - ], -}; diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/kibana/kibana_logic.ts b/x-pack/plugins/enterprise_search/public/applications/shared/kibana/kibana_logic.ts index 939d92745006c..f74345a1c75c1 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/kibana/kibana_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/shared/kibana/kibana_logic.ts @@ -29,7 +29,6 @@ import { LensPublicStart } from '@kbn/lens-plugin/public'; import { MlPluginStart } from '@kbn/ml-plugin/public'; import { ELASTICSEARCH_URL_PLACEHOLDER } from '@kbn/search-api-panels/constants'; import { ConnectorDefinition } from '@kbn/search-connectors-plugin/public'; -import type { SearchHomepagePluginStart } from '@kbn/search-homepage/public'; import { SearchInferenceEndpointsPluginStart } from '@kbn/search-inference-endpoints/public'; import { SearchPlaygroundPluginStart } from '@kbn/search-playground/public'; import { AuthenticatedUser, SecurityPluginStart } from '@kbn/security-plugin/public'; @@ -59,7 +58,6 @@ export interface KibanaLogicProps { guidedOnboarding?: GuidedOnboardingPluginStart; history: ScopedHistory; indexMappingComponent?: React.FC; - isSearchHomepageEnabled: boolean; isSidebarEnabled: boolean; lens?: LensPublicStart; ml?: MlPluginStart; @@ -67,7 +65,6 @@ export interface KibanaLogicProps { productAccess: ProductAccess; productFeatures: ProductFeatures; renderHeaderActions(HeaderActions?: FC): void; - searchHomepage?: SearchHomepagePluginStart; searchInferenceEndpoints?: SearchInferenceEndpointsPluginStart; searchPlayground?: SearchPlaygroundPluginStart; security?: SecurityPluginStart; @@ -94,7 +91,6 @@ export interface KibanaValues { history: ScopedHistory; indexMappingComponent: React.FC | null; isCloud: boolean; - isSearchHomepageEnabled: boolean; isSidebarEnabled: boolean; lens: LensPublicStart | null; ml: MlPluginStart | null; @@ -102,7 +98,6 @@ export interface KibanaValues { productAccess: ProductAccess; productFeatures: ProductFeatures; renderHeaderActions(HeaderActions?: FC): void; - searchHomepage: SearchHomepagePluginStart | null; searchInferenceEndpoints: SearchInferenceEndpointsPluginStart | null; searchPlayground: SearchPlaygroundPluginStart | null; security: SecurityPluginStart | null; @@ -134,7 +129,6 @@ export const KibanaLogic = kea>({ guidedOnboarding: [props.guidedOnboarding || null, {}], history: [props.history, {}], indexMappingComponent: [props.indexMappingComponent || null, {}], - isSearchHomepageEnabled: [props.isSearchHomepageEnabled, {}], isSidebarEnabled: [props.isSidebarEnabled, {}], lens: [props.lens || null, {}], ml: [props.ml || null, {}], @@ -149,7 +143,6 @@ export const KibanaLogic = kea>({ productAccess: [props.productAccess, {}], productFeatures: [props.productFeatures, {}], renderHeaderActions: [props.renderHeaderActions, {}], - searchHomepage: [props.searchHomepage || null, {}], searchInferenceEndpoints: [props.searchInferenceEndpoints || null, {}], searchPlayground: [props.searchPlayground || null, {}], security: [props.security || null, {}], diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/layout/nav.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/layout/nav.tsx index 1c967c17c9c1e..3b3960a7a92ba 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/layout/nav.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/layout/nav.tsx @@ -52,8 +52,7 @@ import { generateNavLink } from './nav_link_helpers'; * @returns The Enterprise Search navigation items */ export const useEnterpriseSearchNav = (alwaysReturn = false) => { - const { isSearchHomepageEnabled, searchHomepage, isSidebarEnabled, productAccess } = - useValues(KibanaLogic); + const { isSidebarEnabled, productAccess } = useValues(KibanaLogic); const { hasEnterpriseLicense } = useValues(LicensingLogic); @@ -74,10 +73,7 @@ export const useEnterpriseSearchNav = (alwaysReturn = false) => { ...generateNavLink({ shouldNotCreateHref: true, shouldShowActiveForSubroutes: true, - to: - isSearchHomepageEnabled && searchHomepage - ? searchHomepage.app.appRoute - : ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.URL, + to: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.URL, }), }, { diff --git a/x-pack/plugins/enterprise_search/public/applications/test_helpers/test_utils.test_helper.tsx b/x-pack/plugins/enterprise_search/public/applications/test_helpers/test_utils.test_helper.tsx index 861152c024b65..d1729a50909ed 100644 --- a/x-pack/plugins/enterprise_search/public/applications/test_helpers/test_utils.test_helper.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/test_helpers/test_utils.test_helper.tsx @@ -63,7 +63,6 @@ export const mockKibanaProps: KibanaLogicProps = { indexMappingComponent: () => { return <>; }, - isSearchHomepageEnabled: false, isSidebarEnabled: true, lens: { EmbeddableComponent: jest.fn(), @@ -86,7 +85,6 @@ export const mockKibanaProps: KibanaLogicProps = { hasWebCrawler: true, }, renderHeaderActions: jest.fn(), - searchHomepage: undefined, searchPlayground: searchPlaygroundMock.createStart(), security: securityMock.createStart(), setBreadcrumbs: jest.fn(), diff --git a/x-pack/plugins/enterprise_search/public/navigation_tree.ts b/x-pack/plugins/enterprise_search/public/navigation_tree.ts index 74db04a3141da..c893c56f372c7 100644 --- a/x-pack/plugins/enterprise_search/public/navigation_tree.ts +++ b/x-pack/plugins/enterprise_search/public/navigation_tree.ts @@ -69,14 +69,12 @@ const euiItemTypeToNodeDefinition = ({ export const getNavigationTreeDefinition = ({ dynamicItems$, - isSearchHomepageEnabled, }: { dynamicItems$: Observable; - isSearchHomepageEnabled: boolean; }): AddSolutionNavigationArg => { return { dataTestSubj: 'searchSideNav', - homePage: isSearchHomepageEnabled ? 'searchHomepage' : 'enterpriseSearch', + homePage: 'enterpriseSearch', icon, id: 'es', navigationTree$: dynamicItems$.pipe( @@ -88,7 +86,7 @@ export const getNavigationTreeDefinition = ({ breadcrumbStatus: 'hidden', children: [ { - link: isSearchHomepageEnabled ? 'searchHomepage' : 'enterpriseSearch', + link: 'enterpriseSearch', }, { getIsActive: ({ pathNameSerialized, prepend }) => { diff --git a/x-pack/plugins/enterprise_search/public/plugin.ts b/x-pack/plugins/enterprise_search/public/plugin.ts index 73dbe6885fdcc..a1558c4855aa7 100644 --- a/x-pack/plugins/enterprise_search/public/plugin.ts +++ b/x-pack/plugins/enterprise_search/public/plugin.ts @@ -32,10 +32,6 @@ import { MlPluginStart } from '@kbn/ml-plugin/public'; import type { NavigationPublicPluginStart } from '@kbn/navigation-plugin/public'; import { ELASTICSEARCH_URL_PLACEHOLDER } from '@kbn/search-api-panels/constants'; import { SearchConnectorsPluginStart } from '@kbn/search-connectors-plugin/public'; -import type { - SearchHomepagePluginSetup, - SearchHomepagePluginStart, -} from '@kbn/search-homepage/public'; import { SearchInferenceEndpointsPluginStart } from '@kbn/search-inference-endpoints/public'; import { SearchPlaygroundPluginStart } from '@kbn/search-playground/public'; import { SecurityPluginSetup, SecurityPluginStart } from '@kbn/security-plugin/public'; @@ -70,7 +66,6 @@ import { import { INFERENCE_ENDPOINTS_PATH } from './applications/enterprise_search_relevance/routes'; import { docLinks } from './applications/shared/doc_links'; -import { setBreadcrumbHomeUrl } from './applications/shared/kibana_chrome/breadcrumbs_home'; import type { DynamicSideNavItems } from './navigation_tree'; export interface ClientData extends InitialAppData { @@ -85,7 +80,6 @@ interface PluginsSetup { cloud?: CloudSetup; licensing: LicensingPluginStart; home?: HomePublicPluginSetup; - searchHomepage?: SearchHomepagePluginSetup; security?: SecurityPluginSetup; share?: SharePluginSetup; } @@ -102,7 +96,6 @@ export interface PluginsStart { ml?: MlPluginStart; navigation: NavigationPublicPluginStart; searchConnectors?: SearchConnectorsPluginStart; - searchHomepage?: SearchHomepagePluginStart; searchPlayground?: SearchPlaygroundPluginStart; searchInferenceEndpoints?: SearchInferenceEndpointsPluginStart; security?: SecurityPluginStart; @@ -264,56 +257,29 @@ export class EnterpriseSearchPlugin implements Plugin { } const { cloud, share } = plugins; - const useSearchHomepage = - plugins.searchHomepage && plugins.searchHomepage.isHomepageFeatureEnabled(); - - if (useSearchHomepage) { - const { app } = plugins.searchHomepage!; - core.application.register({ - ...app, - category: DEFAULT_APP_CATEGORIES.enterpriseSearch, - euiIconType: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.LOGO, - visibleIn: ['home', 'kibanaOverview', 'globalSearch', 'sideNav'], - mount: async (params: AppMountParameters) => { - const kibanaDeps = await this.getKibanaDeps(core, params, cloud); - const { chrome, http } = kibanaDeps.core; - chrome.docTitle.change(app.title); - - await this.getInitialData(http); - const pluginData = this.getPluginData(); - - const { renderApp } = await import('./applications'); - const { SearchHomepage } = await import('./applications/search_homepage'); - - return renderApp(SearchHomepage, kibanaDeps, pluginData); - }, - }); - setBreadcrumbHomeUrl(app.appRoute); - } else { - core.application.register({ - appRoute: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.URL, - category: DEFAULT_APP_CATEGORIES.enterpriseSearch, - euiIconType: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.LOGO, - id: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.ID, - mount: async (params: AppMountParameters) => { - const kibanaDeps = await this.getKibanaDeps(core, params, cloud); - const { chrome, http } = kibanaDeps.core; - chrome.docTitle.change(ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.NAME); + core.application.register({ + appRoute: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.URL, + category: DEFAULT_APP_CATEGORIES.enterpriseSearch, + euiIconType: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.LOGO, + id: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.ID, + mount: async (params: AppMountParameters) => { + const kibanaDeps = await this.getKibanaDeps(core, params, cloud); + const { chrome, http } = kibanaDeps.core; + chrome.docTitle.change(ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.NAME); - await this.getInitialData(http); - const pluginData = this.getPluginData(); + await this.getInitialData(http); + const pluginData = this.getPluginData(); - const { renderApp } = await import('./applications'); - const { EnterpriseSearchOverview } = await import( - './applications/enterprise_search_overview' - ); + const { renderApp } = await import('./applications'); + const { EnterpriseSearchOverview } = await import( + './applications/enterprise_search_overview' + ); - return renderApp(EnterpriseSearchOverview, kibanaDeps, pluginData); - }, - title: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.NAV_TITLE, - visibleIn: ['home', 'kibanaOverview', 'globalSearch', 'sideNav'], - }); - } + return renderApp(EnterpriseSearchOverview, kibanaDeps, pluginData); + }, + title: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.NAV_TITLE, + visibleIn: ['home', 'kibanaOverview', 'globalSearch', 'sideNav'], + }); core.application.register({ appRoute: ENTERPRISE_SEARCH_CONTENT_PLUGIN.URL, @@ -568,27 +534,14 @@ export class EnterpriseSearchPlugin implements Plugin { } if (plugins.home) { - if (useSearchHomepage) { - const { searchHomepage } = plugins; - - plugins.home.featureCatalogue.registerSolution({ - description: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.DESCRIPTION, - icon: 'logoEnterpriseSearch', - id: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.ID, - order: 100, - path: searchHomepage!.app.appRoute, - title: SEARCH_PRODUCT_NAME, - }); - } else { - plugins.home.featureCatalogue.registerSolution({ - description: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.DESCRIPTION, - icon: 'logoEnterpriseSearch', - id: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.ID, - order: 100, - path: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.URL, - title: SEARCH_PRODUCT_NAME, - }); - } + plugins.home.featureCatalogue.registerSolution({ + description: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.DESCRIPTION, + icon: 'logoEnterpriseSearch', + id: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.ID, + order: 100, + path: ENTERPRISE_SEARCH_OVERVIEW_PLUGIN.URL, + title: SEARCH_PRODUCT_NAME, + }); plugins.home.featureCatalogue.register({ category: 'data', @@ -658,7 +611,6 @@ export class EnterpriseSearchPlugin implements Plugin { return plugins.navigation.addSolutionNavigation( getNavigationTreeDefinition({ dynamicItems$: this.sideNavDynamicItems$, - isSearchHomepageEnabled: plugins.searchHomepage?.isHomepageFeatureEnabled() ?? false, }) ); }); From 007a59a8544cda6d69c750000d300d0bb8706316 Mon Sep 17 00:00:00 2001 From: Rodney Norris Date: Thu, 3 Oct 2024 17:44:14 +0000 Subject: [PATCH 3/4] search_homepage: disabling plugin by default The search home page project is on hold indefinitely, for now disabling the plugin by default unitl we start the project up again. --- test/plugin_functional/test_suites/core_plugins/rendering.ts | 1 - x-pack/plugins/search_homepage/server/config.ts | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/test/plugin_functional/test_suites/core_plugins/rendering.ts b/test/plugin_functional/test_suites/core_plugins/rendering.ts index 5ca4460e27eb4..0054750a55b24 100644 --- a/test/plugin_functional/test_suites/core_plugins/rendering.ts +++ b/test/plugin_functional/test_suites/core_plugins/rendering.ts @@ -315,7 +315,6 @@ export default function ({ getService }: PluginFunctionalProviderContext) { // 'xpack.reporting.poll.jobsRefresh.intervalErrorMultiplier (number)', 'xpack.rollup.ui.enabled (boolean?)', 'xpack.saved_object_tagging.cache_refresh_interval (duration?)', - 'xpack.search.homepage.ui.enabled (boolean?)', 'xpack.searchInferenceEndpoints.ui.enabled (boolean?)', 'xpack.searchPlayground.ui.enabled (boolean?)', 'xpack.security.loginAssistanceMessage (string?)', diff --git a/x-pack/plugins/search_homepage/server/config.ts b/x-pack/plugins/search_homepage/server/config.ts index 3e068a719f046..b086b537e3162 100644 --- a/x-pack/plugins/search_homepage/server/config.ts +++ b/x-pack/plugins/search_homepage/server/config.ts @@ -11,7 +11,7 @@ import { PluginConfigDescriptor } from '@kbn/core/server'; export * from './types'; const configSchema = schema.object({ - enabled: schema.boolean({ defaultValue: true }), + enabled: schema.boolean({ defaultValue: false }), ui: schema.object({ enabled: schema.boolean({ defaultValue: false }), }), From 1250f13d28939d03cfb0df176039b911268aba33 Mon Sep 17 00:00:00 2001 From: Rodney Norris Date: Thu, 3 Oct 2024 18:44:15 +0000 Subject: [PATCH 4/4] fix: tsconfigs --- x-pack/plugins/enterprise_search/tsconfig.json | 1 - x-pack/plugins/serverless_search/tsconfig.json | 1 - 2 files changed, 2 deletions(-) diff --git a/x-pack/plugins/enterprise_search/tsconfig.json b/x-pack/plugins/enterprise_search/tsconfig.json index 841cebf28cf46..fa0751078c0f7 100644 --- a/x-pack/plugins/enterprise_search/tsconfig.json +++ b/x-pack/plugins/enterprise_search/tsconfig.json @@ -80,7 +80,6 @@ "@kbn/try-in-console", "@kbn/core-chrome-browser", "@kbn/navigation-plugin", - "@kbn/search-homepage", "@kbn/security-plugin-types-common", "@kbn/core-security-server", "@kbn/core-security-server-mocks" diff --git a/x-pack/plugins/serverless_search/tsconfig.json b/x-pack/plugins/serverless_search/tsconfig.json index 642ec77cd3213..c856b155acc7c 100644 --- a/x-pack/plugins/serverless_search/tsconfig.json +++ b/x-pack/plugins/serverless_search/tsconfig.json @@ -50,7 +50,6 @@ "@kbn/search-playground", "@kbn/security-api-key-management", "@kbn/search-inference-endpoints", - "@kbn/search-homepage", "@kbn/security-plugin-types-common", ] }