[Enterprise Search] Updated Fleet Integration tiles (#137231)

This commit is contained in:
Byron Hulcher 2022-07-26 22:49:20 -04:00 committed by GitHub
parent d3fe025b6e
commit 1833bb314c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 85 additions and 63 deletions

View file

@ -22,7 +22,7 @@ export default function ({ getService }: FtrProviderContext) {
expect(resp.body).to.be.an('array');
expect(resp.body.length).to.be(39);
expect(resp.body.length).to.be(40);
// Test for sample data card
expect(resp.body.findIndex((c: { id: string }) => c.id === 'sample_data_all')).to.be.above(

View file

@ -14,6 +14,8 @@
import React, { useState } from 'react';
import { useLocation } from 'react-router-dom';
import {
EuiBadge,
EuiFlexGroup,
@ -25,6 +27,7 @@ import {
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { parseQueryParams } from '../../../shared/query_params';
import { EnterpriseSearchContentPageTemplate } from '../layout/page_template';
import { baseBreadcrumbs } from '../search_indices';
@ -34,6 +37,12 @@ import { MethodApi } from './method_api/method_api';
import { MethodConnector } from './method_connector/method_connector';
import { MethodCrawler } from './method_crawler/method_crawler';
export const enum IngestionMethodId {
connector = 'connector',
crawler = 'crawler',
api = 'api',
}
const METHOD_BUTTON_GROUP_OPTIONS: ButtonGroupOption[] = [
{
description: i18n.translate(
@ -46,7 +55,7 @@ const METHOD_BUTTON_GROUP_OPTIONS: ButtonGroupOption[] = [
defaultMessage: 'No development required',
}),
icon: 'globe',
id: 'crawler',
id: IngestionMethodId.crawler,
label: i18n.translate('xpack.enterpriseSearch.content.newIndex.buttonGroup.crawler.label', {
defaultMessage: 'Use the web crawler',
}),
@ -62,7 +71,7 @@ const METHOD_BUTTON_GROUP_OPTIONS: ButtonGroupOption[] = [
defaultMessage: 'Some development required',
}),
icon: 'visVega',
id: 'api',
id: IngestionMethodId.api,
label: i18n.translate('xpack.enterpriseSearch.content.newIndex.buttonGroup.api.label', {
defaultMessage: 'Use the API',
}),
@ -84,7 +93,7 @@ const METHOD_BUTTON_GROUP_OPTIONS: ButtonGroupOption[] = [
defaultMessage: 'Development required',
}),
icon: 'package',
id: 'connector',
id: IngestionMethodId.connector,
label: i18n.translate('xpack.enterpriseSearch.content.newIndex.buttonGroup.connector.label', {
defaultMessage: 'Build a connector',
}),
@ -92,9 +101,14 @@ const METHOD_BUTTON_GROUP_OPTIONS: ButtonGroupOption[] = [
];
export const NewIndex: React.FC = () => {
const [selectedMethod, setSelectedMethod] = useState<ButtonGroupOption>(
METHOD_BUTTON_GROUP_OPTIONS[0]
);
const { search } = useLocation();
const { method: methodParam } = parseQueryParams(search);
const initialSelectedMethod =
METHOD_BUTTON_GROUP_OPTIONS.find((option) => option.id === methodParam) ??
METHOD_BUTTON_GROUP_OPTIONS[0];
const [selectedMethod, setSelectedMethod] = useState<ButtonGroupOption>(initialSelectedMethod);
return (
<EnterpriseSearchContentPageTemplate
@ -145,9 +159,9 @@ export const NewIndex: React.FC = () => {
<EuiFlexItem>
{selectedMethod ? (
<>
{selectedMethod.id === 'crawler' && <MethodCrawler />}
{selectedMethod.id === 'api' && <MethodApi />}
{selectedMethod.id === 'connector' && <MethodConnector />}
{selectedMethod.id === IngestionMethodId.crawler && <MethodCrawler />}
{selectedMethod.id === IngestionMethodId.api && <MethodApi />}
{selectedMethod.id === IngestionMethodId.connector && <MethodConnector />}
</>
) : (
<SearchIndexEmptyState />

View file

@ -171,10 +171,10 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [
'xpack.enterpriseSearch.workplaceSearch.integrations.networkDriveDescription',
{
defaultMessage:
'Search over your files and folders stored on network drives with Enterprise Search.',
'Search over your files and folders stored on network drives with Workplace Search.',
}
),
categories: ['enterprise_search', 'file_storage'],
categories: ['file_storage'],
uiInternalPath: '/app/enterprise_search/workplace_search/sources/add/network_drive/custom',
},
{
@ -247,7 +247,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [
defaultMessage: 'Search over your files stored on SharePoint Online with Workplace Search.',
}
),
categories: ['file_storage'],
categories: ['file_storage', 'microsoft_365'],
uiInternalPath: '/app/enterprise_search/workplace_search/sources/add/share_point',
},
{
@ -265,7 +265,7 @@ const workplaceSearchIntegrations: WorkplaceSearchIntegration[] = [
'Search over your files stored on Microsoft SharePoint Server with Workplace Search.',
}
),
categories: ['enterprise_search', 'file_storage', 'microsoft_365'],
categories: ['file_storage', 'microsoft_365'],
uiInternalPath: '/app/enterprise_search/workplace_search/sources/add/share_point_server/custom',
},
{
@ -317,29 +317,6 @@ export const registerEnterpriseSearchIntegrations = (
});
});
customIntegrations.registerCustomIntegration({
id: 'app_search_web_crawler',
title: i18n.translate('xpack.enterpriseSearch.appSearch.integrations.webCrawlerName', {
defaultMessage: 'Web site crawler',
}),
description: i18n.translate(
'xpack.enterpriseSearch.appSearch.integrations.webCrawlerDescription',
{
defaultMessage: 'Add search to your website with the App Search web crawler.',
}
),
categories: ['website_search'],
uiInternalPath: '/app/enterprise_search/app_search/engines/new?method=crawler',
icons: [
{
type: 'eui',
src: 'logoAppSearch',
},
],
shipper: 'enterprise_search',
isBeta: false,
});
customIntegrations.registerCustomIntegration({
id: 'app_search_json',
title: i18n.translate('xpack.enterpriseSearch.appSearch.integrations.jsonName', {
@ -361,19 +338,59 @@ export const registerEnterpriseSearchIntegrations = (
});
customIntegrations.registerCustomIntegration({
id: 'app_search_api',
title: i18n.translate('xpack.enterpriseSearch.appSearch.integrations.apiName', {
defaultMessage: 'API',
id: 'web_crawler',
title: i18n.translate('xpack.enterpriseSearch.integrations.webCrawlerName', {
defaultMessage: 'Web crawler',
}),
description: i18n.translate('xpack.enterpriseSearch.appSearch.integrations.apiDescription', {
defaultMessage: "Add search to your application with App Search's robust APIs.",
description: i18n.translate('xpack.enterpriseSearch.integrations.webCrawlerDescription', {
defaultMessage: 'Add search to your website with the Enterprise Search web crawler.',
}),
categories: ['custom'],
uiInternalPath: '/app/enterprise_search/app_search/engines/new?method=api',
categories: ['enterprise_search', 'website_search', 'web', 'elastic_stack'],
uiInternalPath: '/app/enterprise_search/content/search_indices/new_index?method=crawler',
icons: [
{
type: 'eui',
src: 'logoAppSearch',
src: 'logoEnterpriseSearch',
},
],
shipper: 'enterprise_search',
isBeta: false,
});
customIntegrations.registerCustomIntegration({
id: 'api',
title: i18n.translate('xpack.enterpriseSearch.integrations.apiName', {
defaultMessage: 'API',
}),
description: i18n.translate('xpack.enterpriseSearch.integrations.apiDescription', {
defaultMessage: "Add search to your application with App Search's robust APIs.",
}),
categories: ['enterprise_search', 'custom', 'elastic_stack'],
uiInternalPath: '/app/enterprise_search/content/search_indices/new_index?method=api',
icons: [
{
type: 'eui',
src: 'logoEnterpriseSearch',
},
],
shipper: 'enterprise_search',
isBeta: false,
});
customIntegrations.registerCustomIntegration({
id: 'build_a_connector',
title: i18n.translate('xpack.enterpriseSearch.integrations.buildAConnectorName', {
defaultMessage: 'Build a connector',
}),
description: i18n.translate('xpack.enterpriseSearch.integrations.buildAConnectorDescription', {
defaultMessage: 'Search over data stored on custom data sources with Enterprise Search.',
}),
categories: ['enterprise_search', 'custom', 'elastic_stack'],
uiInternalPath: '/app/enterprise_search/content/search_indices/new_index?method=connector',
icons: [
{
type: 'eui',
src: 'logoEnterpriseSearch',
},
],
shipper: 'enterprise_search',

View file

@ -326,16 +326,19 @@ export const AvailablePackages: React.FC<{
<>
<EuiFlexGrid columns={3}>
<EuiFlexItem>
<TrackApplicationView viewId="integration-card:epr:app_search_web_crawler:featured">
<TrackApplicationView viewId="integration-card:epr:web_crawler:featured">
<EuiCard
data-test-subj="integration-card:epr:app_search_web_crawler:featured"
icon={<EuiIcon type="logoAppSearch" size="xxl" />}
href={addBasePath('/app/enterprise_search/app_search/engines/new?method=crawler')}
data-test-subj="integration-card:epr:web_crawler:featured"
icon={<EuiIcon type="logoEnterpriseSearch" size="xxl" />}
href={addBasePath(
'/app/enterprise_search/content/search_indices/new_index?method=crawler'
)}
title={i18n.translate('xpack.fleet.featuredSearchTitle', {
defaultMessage: 'Web site crawler',
defaultMessage: 'Web crawler',
})}
description={i18n.translate('xpack.fleet.featuredSearchDesc', {
defaultMessage: 'Add search to your website with the App Search web crawler.',
defaultMessage:
'Add search to your website with the Enterprise Search web crawler.',
})}
/>
</TrackApplicationView>

View file

@ -11460,12 +11460,8 @@
"xpack.enterpriseSearch.appSearch.enginesOverview.table.column.lastUpdated": "Dernière mise à jour",
"xpack.enterpriseSearch.appSearch.enginesOverview.table.column.name": "Nom",
"xpack.enterpriseSearch.appSearch.enginesOverview.title": "Aperçu des moteurs",
"xpack.enterpriseSearch.appSearch.integrations.apiDescription": "Ajouter la recherche à votre application avec les API robustes d'App Search.",
"xpack.enterpriseSearch.appSearch.integrations.apiName": "API",
"xpack.enterpriseSearch.appSearch.integrations.jsonDescription": "Recherchez dans vos données JSON avec App Search.",
"xpack.enterpriseSearch.appSearch.integrations.jsonName": "JSON",
"xpack.enterpriseSearch.appSearch.integrations.webCrawlerDescription": "Ajoutez la recherche à votre site web avec le robot d'indexation App Search.",
"xpack.enterpriseSearch.appSearch.integrations.webCrawlerName": "Robot d'indexation",
"xpack.enterpriseSearch.appSearch.logRetention.callout.description.manageSettingsDetail": "Pour gérer les analyses et le logging, {visitSettingsLink}.",
"xpack.enterpriseSearch.appSearch.logRetention.callout.description.manageSettingsLinkText": "accédez à vos paramètres",
"xpack.enterpriseSearch.appSearch.logRetention.callout.disabledSinceTitle": "{logsTitle} ont été désactivés depuis le {disabledDate}.",

View file

@ -11451,12 +11451,8 @@
"xpack.enterpriseSearch.appSearch.enginesOverview.table.column.lastUpdated": "最終更新",
"xpack.enterpriseSearch.appSearch.enginesOverview.table.column.name": "名前",
"xpack.enterpriseSearch.appSearch.enginesOverview.title": "エンジン概要",
"xpack.enterpriseSearch.appSearch.integrations.apiDescription": "App Searchの堅牢なAPIを使用して、検索をアプリケーションに追加します。",
"xpack.enterpriseSearch.appSearch.integrations.apiName": "API",
"xpack.enterpriseSearch.appSearch.integrations.jsonDescription": "App Searchを使用して、JSONデータを検索します。",
"xpack.enterpriseSearch.appSearch.integrations.jsonName": "JSON",
"xpack.enterpriseSearch.appSearch.integrations.webCrawlerDescription": "App Search Webクローラーを使用して、検索をWebサイトに追加します。",
"xpack.enterpriseSearch.appSearch.integrations.webCrawlerName": "Webサイトクローラー",
"xpack.enterpriseSearch.appSearch.logRetention.callout.description.manageSettingsDetail": "分析とログを管理するには、{visitSettingsLink}してください。",
"xpack.enterpriseSearch.appSearch.logRetention.callout.description.manageSettingsLinkText": "設定を表示",
"xpack.enterpriseSearch.appSearch.logRetention.callout.disabledSinceTitle": "{logsTitle}は、{disabledDate}以降に無効にされました。",

View file

@ -11466,12 +11466,8 @@
"xpack.enterpriseSearch.appSearch.enginesOverview.table.column.lastUpdated": "上次更新时间",
"xpack.enterpriseSearch.appSearch.enginesOverview.table.column.name": "名称",
"xpack.enterpriseSearch.appSearch.enginesOverview.title": "引擎概览",
"xpack.enterpriseSearch.appSearch.integrations.apiDescription": "通过 App Search 稳健的 API 将搜索功能添加到您的应用程序。",
"xpack.enterpriseSearch.appSearch.integrations.apiName": "API",
"xpack.enterpriseSearch.appSearch.integrations.jsonDescription": "通过 App Search 搜索您的 JSON 数据。",
"xpack.enterpriseSearch.appSearch.integrations.jsonName": "JSON",
"xpack.enterpriseSearch.appSearch.integrations.webCrawlerDescription": "通过 App Search 网络爬虫将搜索功能添加到您的网站。",
"xpack.enterpriseSearch.appSearch.integrations.webCrawlerName": "网站网络爬虫",
"xpack.enterpriseSearch.appSearch.logRetention.callout.description.manageSettingsDetail": "要管理分析和日志记录,请{visitSettingsLink}。",
"xpack.enterpriseSearch.appSearch.logRetention.callout.description.manageSettingsLinkText": "访问您的设置",
"xpack.enterpriseSearch.appSearch.logRetention.callout.disabledSinceTitle": "自 {disabledDate}后,{logsTitle} 已禁用。",