mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 01:13:23 -04:00
Add workplace search links to doc link service (#118814)
Co-authored-by: Scotty Bollinger <scotty.bollinger@elastic.co>
This commit is contained in:
parent
ab47ac64ad
commit
db7423506c
57 changed files with 585 additions and 244 deletions
|
@ -24,6 +24,9 @@ readonly links: {
|
|||
readonly canvas: {
|
||||
readonly guide: string;
|
||||
};
|
||||
readonly cloud: {
|
||||
readonly indexManagement: string;
|
||||
};
|
||||
readonly dashboard: {
|
||||
readonly guide: string;
|
||||
readonly drilldowns: string;
|
||||
|
@ -55,10 +58,64 @@ readonly links: {
|
|||
readonly install: string;
|
||||
readonly start: string;
|
||||
};
|
||||
readonly appSearch: {
|
||||
readonly apiRef: string;
|
||||
readonly apiClients: string;
|
||||
readonly apiKeys: string;
|
||||
readonly authentication: string;
|
||||
readonly crawlRules: string;
|
||||
readonly curations: string;
|
||||
readonly duplicateDocuments: string;
|
||||
readonly entryPoints: string;
|
||||
readonly guide: string;
|
||||
readonly indexingDocuments: string;
|
||||
readonly indexingDocumentsSchema: string;
|
||||
readonly logSettings: string;
|
||||
readonly metaEngines: string;
|
||||
readonly nativeAuth: string;
|
||||
readonly precisionTuning: string;
|
||||
readonly relevanceTuning: string;
|
||||
readonly resultSettings: string;
|
||||
readonly searchUI: string;
|
||||
readonly security: string;
|
||||
readonly standardAuth: string;
|
||||
readonly synonyms: string;
|
||||
readonly webCrawler: string;
|
||||
readonly webCrawlerEventLogs: string;
|
||||
};
|
||||
readonly enterpriseSearch: {
|
||||
readonly base: string;
|
||||
readonly appSearchBase: string;
|
||||
readonly workplaceSearchBase: string;
|
||||
readonly configuration: string;
|
||||
readonly licenseManagement: string;
|
||||
readonly mailService: string;
|
||||
readonly usersAccess: string;
|
||||
};
|
||||
readonly workplaceSearch: {
|
||||
readonly box: string;
|
||||
readonly confluenceCloud: string;
|
||||
readonly confluenceServer: string;
|
||||
readonly customSources: string;
|
||||
readonly customSourcePermissions: string;
|
||||
readonly documentPermissions: string;
|
||||
readonly dropbox: string;
|
||||
readonly externalIdentities: string;
|
||||
readonly gitHub: string;
|
||||
readonly gettingStarted: string;
|
||||
readonly gmail: string;
|
||||
readonly googleDrive: string;
|
||||
readonly indexingSchedule: string;
|
||||
readonly jiraCloud: string;
|
||||
readonly jiraServer: string;
|
||||
readonly nativeAuth: string;
|
||||
readonly oneDrive: string;
|
||||
readonly permissions: string;
|
||||
readonly salesforce: string;
|
||||
readonly security: string;
|
||||
readonly serviceNow: string;
|
||||
readonly sharePoint: string;
|
||||
readonly slack: string;
|
||||
readonly standardAuth: string;
|
||||
readonly synch: string;
|
||||
readonly zendesk: string;
|
||||
};
|
||||
readonly heartbeat: {
|
||||
readonly base: string;
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -30,6 +30,9 @@ export class DocLinksService {
|
|||
const APM_DOCS = `${ELASTIC_WEBSITE_URL}guide/en/apm/`;
|
||||
const SECURITY_SOLUTION_DOCS = `${ELASTIC_WEBSITE_URL}guide/en/security/${DOC_LINK_VERSION}/`;
|
||||
const STACK_GETTING_STARTED = `${ELASTIC_WEBSITE_URL}guide/en/elastic-stack-get-started/${DOC_LINK_VERSION}/`;
|
||||
const APP_SEARCH_DOCS = `${ELASTIC_WEBSITE_URL}guide/en/app-search/${DOC_LINK_VERSION}/`;
|
||||
const ENTERPRISE_SEARCH_DOCS = `${ELASTIC_WEBSITE_URL}guide/en/enterprise-search/${DOC_LINK_VERSION}/`;
|
||||
const WORKPLACE_SEARCH_DOCS = `${ELASTIC_WEBSITE_URL}guide/en/workplace-search/${DOC_LINK_VERSION}/`;
|
||||
|
||||
return deepFreeze({
|
||||
DOC_LINK_VERSION,
|
||||
|
@ -51,6 +54,9 @@ export class DocLinksService {
|
|||
canvas: {
|
||||
guide: `${KIBANA_DOCS}canvas.html`,
|
||||
},
|
||||
cloud: {
|
||||
indexManagement: `${ELASTIC_WEBSITE_URL}/guide/en/cloud/current/ec-configure-index-management.html`,
|
||||
},
|
||||
dashboard: {
|
||||
guide: `${KIBANA_DOCS}dashboard.html`,
|
||||
drilldowns: `${KIBANA_DOCS}drilldowns.html`,
|
||||
|
@ -77,10 +83,64 @@ export class DocLinksService {
|
|||
auditdModule: `${ELASTIC_WEBSITE_URL}guide/en/beats/auditbeat/${DOC_LINK_VERSION}/auditbeat-module-auditd.html`,
|
||||
systemModule: `${ELASTIC_WEBSITE_URL}guide/en/beats/auditbeat/${DOC_LINK_VERSION}/auditbeat-module-system.html`,
|
||||
},
|
||||
appSearch: {
|
||||
apiRef: `${APP_SEARCH_DOCS}api-reference.html`,
|
||||
apiClients: `${APP_SEARCH_DOCS}api-clients.html`,
|
||||
apiKeys: `${APP_SEARCH_DOCS}authentication.html#authentication-api-keys`,
|
||||
authentication: `${APP_SEARCH_DOCS}authentication.html`,
|
||||
crawlRules: `${APP_SEARCH_DOCS}crawl-web-content.html#crawl-web-content-manage-crawl-rules`,
|
||||
curations: `${APP_SEARCH_DOCS}curations-guide.html`,
|
||||
duplicateDocuments: `${APP_SEARCH_DOCS}web-crawler-reference.html#web-crawler-reference-content-deduplication`,
|
||||
entryPoints: `${APP_SEARCH_DOCS}crawl-web-content.html#crawl-web-content-manage-entry-points`,
|
||||
guide: `${APP_SEARCH_DOCS}index.html`,
|
||||
indexingDocuments: `${APP_SEARCH_DOCS}indexing-documents-guide.html`,
|
||||
indexingDocumentsSchema: `${APP_SEARCH_DOCS}indexing-documents-guide.html#indexing-documents-guide-schema`,
|
||||
logSettings: `${APP_SEARCH_DOCS}logs.html`,
|
||||
metaEngines: `${APP_SEARCH_DOCS}meta-engines-guide.html`,
|
||||
nativeAuth: `${APP_SEARCH_DOCS}security-and-users.html#app-search-self-managed-security-and-user-management-elasticsearch-native-realm`,
|
||||
precisionTuning: `${APP_SEARCH_DOCS}precision-tuning.html`,
|
||||
relevanceTuning: `${APP_SEARCH_DOCS}relevance-tuning-guide.html`,
|
||||
resultSettings: `${APP_SEARCH_DOCS}result-settings-guide.html`,
|
||||
searchUI: `${APP_SEARCH_DOCS}reference-ui-guide.html`,
|
||||
security: `${APP_SEARCH_DOCS}security-and-users.html`,
|
||||
standardAuth: `${APP_SEARCH_DOCS}security-and-users.html#app-search-self-managed-security-and-user-management-standard`,
|
||||
synonyms: `${APP_SEARCH_DOCS}synonyms-guide.html`,
|
||||
webCrawler: `${APP_SEARCH_DOCS}web-crawler.html`,
|
||||
webCrawlerEventLogs: `${APP_SEARCH_DOCS}view-web-crawler-events-logs.html`,
|
||||
},
|
||||
enterpriseSearch: {
|
||||
base: `${ELASTIC_WEBSITE_URL}guide/en/enterprise-search/${DOC_LINK_VERSION}`,
|
||||
appSearchBase: `${ELASTIC_WEBSITE_URL}guide/en/app-search/${DOC_LINK_VERSION}`,
|
||||
workplaceSearchBase: `${ELASTIC_WEBSITE_URL}guide/en/workplace-search/${DOC_LINK_VERSION}`,
|
||||
configuration: `${ENTERPRISE_SEARCH_DOCS}configuration.html`,
|
||||
licenseManagement: `${ENTERPRISE_SEARCH_DOCS}license-management.html`,
|
||||
mailService: `${ENTERPRISE_SEARCH_DOCS}mailer-configuration.html`,
|
||||
usersAccess: `${ENTERPRISE_SEARCH_DOCS}users-access.html`,
|
||||
},
|
||||
workplaceSearch: {
|
||||
box: `${WORKPLACE_SEARCH_DOCS}workplace-search-box-connector.html`,
|
||||
confluenceCloud: `${WORKPLACE_SEARCH_DOCS}workplace-search-confluence-cloud-connector.html`,
|
||||
confluenceServer: `${WORKPLACE_SEARCH_DOCS}workplace-search-confluence-server-connector.html`,
|
||||
customSources: `${WORKPLACE_SEARCH_DOCS}workplace-search-custom-api-sources.html`,
|
||||
customSourcePermissions: `${WORKPLACE_SEARCH_DOCS}workplace-search-custom-api-sources.html#custom-api-source-document-level-access-control`,
|
||||
documentPermissions: `${WORKPLACE_SEARCH_DOCS}workplace-search-sources-document-permissions.html`,
|
||||
dropbox: `${WORKPLACE_SEARCH_DOCS}workplace-search-dropbox-connector.html`,
|
||||
externalIdentities: `${WORKPLACE_SEARCH_DOCS}workplace-search-external-identities-api.html`,
|
||||
gettingStarted: `${WORKPLACE_SEARCH_DOCS}workplace-search-getting-started.html`,
|
||||
gitHub: `${WORKPLACE_SEARCH_DOCS}workplace-search-github-connector.html`,
|
||||
gmail: `${WORKPLACE_SEARCH_DOCS}workplace-search-gmail-connector.html`,
|
||||
googleDrive: `${WORKPLACE_SEARCH_DOCS}workplace-search-google-drive-connector.html`,
|
||||
indexingSchedule: `${WORKPLACE_SEARCH_DOCS}workplace-search-customizing-indexing-rules.html#_indexing_schedule`,
|
||||
jiraCloud: `${WORKPLACE_SEARCH_DOCS}workplace-search-jira-cloud-connector.html`,
|
||||
jiraServer: `${WORKPLACE_SEARCH_DOCS}workplace-search-jira-server-connector.html`,
|
||||
nativeAuth: `${WORKPLACE_SEARCH_DOCS}workplace-search-security.html#elasticsearch-native-realm`,
|
||||
oneDrive: `${WORKPLACE_SEARCH_DOCS}workplace-search-onedrive-connector.html`,
|
||||
permissions: `${WORKPLACE_SEARCH_DOCS}workplace-search-permissions.html#organizational-sources-private-sources`,
|
||||
salesforce: `${WORKPLACE_SEARCH_DOCS}workplace-search-salesforce-connector.html`,
|
||||
security: `${WORKPLACE_SEARCH_DOCS}workplace-search-security.html`,
|
||||
serviceNow: `${WORKPLACE_SEARCH_DOCS}workplace-search-servicenow-connector.html`,
|
||||
sharePoint: `${WORKPLACE_SEARCH_DOCS}workplace-search-sharepoint-online-connector.html`,
|
||||
slack: `${WORKPLACE_SEARCH_DOCS}workplace-search-slack-connector.html`,
|
||||
standardAuth: `${WORKPLACE_SEARCH_DOCS}workplace-search-security.html#standard`,
|
||||
synch: `${WORKPLACE_SEARCH_DOCS}workplace-search-customizing-indexing-rules.html`,
|
||||
zendesk: `${WORKPLACE_SEARCH_DOCS}workplace-search-zendesk-connector.html`,
|
||||
},
|
||||
metricbeat: {
|
||||
base: `${ELASTIC_WEBSITE_URL}guide/en/beats/metricbeat/${DOC_LINK_VERSION}`,
|
||||
|
@ -550,6 +610,9 @@ export interface DocLinksStart {
|
|||
readonly canvas: {
|
||||
readonly guide: string;
|
||||
};
|
||||
readonly cloud: {
|
||||
readonly indexManagement: string;
|
||||
};
|
||||
readonly dashboard: {
|
||||
readonly guide: string;
|
||||
readonly drilldowns: string;
|
||||
|
@ -581,10 +644,64 @@ export interface DocLinksStart {
|
|||
readonly install: string;
|
||||
readonly start: string;
|
||||
};
|
||||
readonly appSearch: {
|
||||
readonly apiRef: string;
|
||||
readonly apiClients: string;
|
||||
readonly apiKeys: string;
|
||||
readonly authentication: string;
|
||||
readonly crawlRules: string;
|
||||
readonly curations: string;
|
||||
readonly duplicateDocuments: string;
|
||||
readonly entryPoints: string;
|
||||
readonly guide: string;
|
||||
readonly indexingDocuments: string;
|
||||
readonly indexingDocumentsSchema: string;
|
||||
readonly logSettings: string;
|
||||
readonly metaEngines: string;
|
||||
readonly nativeAuth: string;
|
||||
readonly precisionTuning: string;
|
||||
readonly relevanceTuning: string;
|
||||
readonly resultSettings: string;
|
||||
readonly searchUI: string;
|
||||
readonly security: string;
|
||||
readonly standardAuth: string;
|
||||
readonly synonyms: string;
|
||||
readonly webCrawler: string;
|
||||
readonly webCrawlerEventLogs: string;
|
||||
};
|
||||
readonly enterpriseSearch: {
|
||||
readonly base: string;
|
||||
readonly appSearchBase: string;
|
||||
readonly workplaceSearchBase: string;
|
||||
readonly configuration: string;
|
||||
readonly licenseManagement: string;
|
||||
readonly mailService: string;
|
||||
readonly usersAccess: string;
|
||||
};
|
||||
readonly workplaceSearch: {
|
||||
readonly box: string;
|
||||
readonly confluenceCloud: string;
|
||||
readonly confluenceServer: string;
|
||||
readonly customSources: string;
|
||||
readonly customSourcePermissions: string;
|
||||
readonly documentPermissions: string;
|
||||
readonly dropbox: string;
|
||||
readonly externalIdentities: string;
|
||||
readonly gitHub: string;
|
||||
readonly gettingStarted: string;
|
||||
readonly gmail: string;
|
||||
readonly googleDrive: string;
|
||||
readonly indexingSchedule: string;
|
||||
readonly jiraCloud: string;
|
||||
readonly jiraServer: string;
|
||||
readonly nativeAuth: string;
|
||||
readonly oneDrive: string;
|
||||
readonly permissions: string;
|
||||
readonly salesforce: string;
|
||||
readonly security: string;
|
||||
readonly serviceNow: string;
|
||||
readonly sharePoint: string;
|
||||
readonly slack: string;
|
||||
readonly standardAuth: string;
|
||||
readonly synch: string;
|
||||
readonly zendesk: string;
|
||||
};
|
||||
readonly heartbeat: {
|
||||
readonly base: string;
|
||||
|
|
|
@ -506,6 +506,9 @@ export interface DocLinksStart {
|
|||
readonly canvas: {
|
||||
readonly guide: string;
|
||||
};
|
||||
readonly cloud: {
|
||||
readonly indexManagement: string;
|
||||
};
|
||||
readonly dashboard: {
|
||||
readonly guide: string;
|
||||
readonly drilldowns: string;
|
||||
|
@ -537,10 +540,64 @@ export interface DocLinksStart {
|
|||
readonly install: string;
|
||||
readonly start: string;
|
||||
};
|
||||
readonly appSearch: {
|
||||
readonly apiRef: string;
|
||||
readonly apiClients: string;
|
||||
readonly apiKeys: string;
|
||||
readonly authentication: string;
|
||||
readonly crawlRules: string;
|
||||
readonly curations: string;
|
||||
readonly duplicateDocuments: string;
|
||||
readonly entryPoints: string;
|
||||
readonly guide: string;
|
||||
readonly indexingDocuments: string;
|
||||
readonly indexingDocumentsSchema: string;
|
||||
readonly logSettings: string;
|
||||
readonly metaEngines: string;
|
||||
readonly nativeAuth: string;
|
||||
readonly precisionTuning: string;
|
||||
readonly relevanceTuning: string;
|
||||
readonly resultSettings: string;
|
||||
readonly searchUI: string;
|
||||
readonly security: string;
|
||||
readonly standardAuth: string;
|
||||
readonly synonyms: string;
|
||||
readonly webCrawler: string;
|
||||
readonly webCrawlerEventLogs: string;
|
||||
};
|
||||
readonly enterpriseSearch: {
|
||||
readonly base: string;
|
||||
readonly appSearchBase: string;
|
||||
readonly workplaceSearchBase: string;
|
||||
readonly configuration: string;
|
||||
readonly licenseManagement: string;
|
||||
readonly mailService: string;
|
||||
readonly usersAccess: string;
|
||||
};
|
||||
readonly workplaceSearch: {
|
||||
readonly box: string;
|
||||
readonly confluenceCloud: string;
|
||||
readonly confluenceServer: string;
|
||||
readonly customSources: string;
|
||||
readonly customSourcePermissions: string;
|
||||
readonly documentPermissions: string;
|
||||
readonly dropbox: string;
|
||||
readonly externalIdentities: string;
|
||||
readonly gitHub: string;
|
||||
readonly gettingStarted: string;
|
||||
readonly gmail: string;
|
||||
readonly googleDrive: string;
|
||||
readonly indexingSchedule: string;
|
||||
readonly jiraCloud: string;
|
||||
readonly jiraServer: string;
|
||||
readonly nativeAuth: string;
|
||||
readonly oneDrive: string;
|
||||
readonly permissions: string;
|
||||
readonly salesforce: string;
|
||||
readonly security: string;
|
||||
readonly serviceNow: string;
|
||||
readonly sharePoint: string;
|
||||
readonly slack: string;
|
||||
readonly standardAuth: string;
|
||||
readonly synch: string;
|
||||
readonly zendesk: string;
|
||||
};
|
||||
readonly heartbeat: {
|
||||
readonly base: string;
|
||||
|
|
|
@ -11,6 +11,8 @@ import { shallow } from 'enzyme';
|
|||
|
||||
import { EuiEmptyPrompt, EuiButton } from '@elastic/eui';
|
||||
|
||||
import { docLinks } from '../../../../shared/doc_links';
|
||||
|
||||
import { EmptyState } from './';
|
||||
|
||||
describe('EmptyState', () => {
|
||||
|
@ -21,7 +23,7 @@ describe('EmptyState', () => {
|
|||
|
||||
expect(wrapper.find('h2').text()).toEqual('No API events in the last 24 hours');
|
||||
expect(wrapper.find(EuiButton).prop('href')).toEqual(
|
||||
expect.stringContaining('/api-reference.html')
|
||||
expect.stringContaining(docLinks.appSearchApis)
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -8,9 +8,10 @@
|
|||
import React from 'react';
|
||||
|
||||
import { EuiButton, EuiEmptyPrompt } from '@elastic/eui';
|
||||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import { DOCS_PREFIX } from '../../../routes';
|
||||
import { API_DOCS_URL } from '../../../routes';
|
||||
|
||||
export const EmptyState: React.FC = () => (
|
||||
<EuiEmptyPrompt
|
||||
|
@ -30,12 +31,7 @@ export const EmptyState: React.FC = () => (
|
|||
</p>
|
||||
}
|
||||
actions={
|
||||
<EuiButton
|
||||
size="s"
|
||||
target="_blank"
|
||||
iconType="popout"
|
||||
href={`${DOCS_PREFIX}/api-reference.html`}
|
||||
>
|
||||
<EuiButton size="s" target="_blank" iconType="popout" href={API_DOCS_URL}>
|
||||
{i18n.translate('xpack.enterpriseSearch.appSearch.engine.apiLogs.empty.buttonLabel', {
|
||||
defaultMessage: 'View the API reference',
|
||||
})}
|
||||
|
|
|
@ -27,7 +27,7 @@ import { clearFlashMessages, flashSuccessToast } from '../../../../shared/flash_
|
|||
import { GenericEndpointInlineEditableTable } from '../../../../shared/tables/generic_endpoint_inline_editable_table';
|
||||
import { InlineEditableTableColumn } from '../../../../shared/tables/inline_editable_table/types';
|
||||
import { ItemWithAnID } from '../../../../shared/tables/types';
|
||||
import { DOCS_PREFIX } from '../../../routes';
|
||||
import { CRAWL_RULES_DOCS_URL } from '../../../routes';
|
||||
import { CrawlerSingleDomainLogic } from '../crawler_single_domain_logic';
|
||||
import {
|
||||
CrawlerPolicies,
|
||||
|
@ -53,11 +53,7 @@ const DEFAULT_DESCRIPTION = (
|
|||
defaultMessage="Create a crawl rule to include or exclude pages whose URL matches the rule. Rules run in sequential order, and each URL is evaluated according to the first match. {link}"
|
||||
values={{
|
||||
link: (
|
||||
<EuiLink
|
||||
href={`${DOCS_PREFIX}/crawl-web-content.html#crawl-web-content-manage-crawl-rules`}
|
||||
target="_blank"
|
||||
external
|
||||
>
|
||||
<EuiLink href={CRAWL_RULES_DOCS_URL} target="_blank" external>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.appSearch.crawler.crawlRulesTable.descriptionLinkText',
|
||||
{ defaultMessage: 'Learn more about crawl rules' }
|
||||
|
|
|
@ -27,7 +27,7 @@ import { EuiSelectableLIOption } from '@elastic/eui/src/components/selectable/se
|
|||
import { i18n } from '@kbn/i18n';
|
||||
import { FormattedMessage } from '@kbn/i18n-react';
|
||||
|
||||
import { DOCS_PREFIX } from '../../../../routes';
|
||||
import { DUPLICATE_DOCS_URL } from '../../../../routes';
|
||||
import { DataPanel } from '../../../data_panel';
|
||||
import { CrawlerSingleDomainLogic } from '../../crawler_single_domain_logic';
|
||||
|
||||
|
@ -84,11 +84,7 @@ export const DeduplicationPanel: React.FC = () => {
|
|||
documents on this domain. {documentationLink}."
|
||||
values={{
|
||||
documentationLink: (
|
||||
<EuiLink
|
||||
href={`${DOCS_PREFIX}/web-crawler-reference.html#web-crawler-reference-content-deduplication`}
|
||||
target="_blank"
|
||||
external
|
||||
>
|
||||
<EuiLink href={DUPLICATE_DOCS_URL} target="_blank" external>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.appSearch.crawler.deduplicationPanel.learnMoreMessage',
|
||||
{
|
||||
|
|
|
@ -17,7 +17,7 @@ import { FormattedMessage } from '@kbn/i18n-react';
|
|||
import { GenericEndpointInlineEditableTable } from '../../../../shared/tables/generic_endpoint_inline_editable_table';
|
||||
import { InlineEditableTableColumn } from '../../../../shared/tables/inline_editable_table/types';
|
||||
import { ItemWithAnID } from '../../../../shared/tables/types';
|
||||
import { DOCS_PREFIX } from '../../../routes';
|
||||
import { ENTRY_POINTS_DOCS_URL } from '../../../routes';
|
||||
import { CrawlerDomain, EntryPoint } from '../types';
|
||||
|
||||
import { EntryPointsTableLogic } from './entry_points_table_logic';
|
||||
|
@ -80,11 +80,7 @@ export const EntryPointsTable: React.FC<EntryPointsTableProps> = ({
|
|||
defaultMessage:
|
||||
'Include the most important URLs for your website here. Entry point URLs will be the first pages to be indexed and processed for links to other pages.',
|
||||
})}{' '}
|
||||
<EuiLink
|
||||
href={`${DOCS_PREFIX}/crawl-web-content.html#crawl-web-content-manage-entry-points`}
|
||||
target="_blank"
|
||||
external
|
||||
>
|
||||
<EuiLink href={ENTRY_POINTS_DOCS_URL} target="_blank" external>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.appSearch.crawler.entryPointsTable.learnMoreLinkText',
|
||||
{ defaultMessage: 'Learn more about entry points.' }
|
||||
|
|
|
@ -37,7 +37,7 @@ import {
|
|||
} from '../../../../..//shared/constants/units';
|
||||
import { CANCEL_BUTTON_LABEL, SAVE_BUTTON_LABEL } from '../../../../../shared/constants';
|
||||
|
||||
import { DOCS_PREFIX } from '../../../../routes';
|
||||
import { WEB_CRAWLER_DOCS_URL } from '../../../../routes';
|
||||
import { CrawlUnits } from '../../types';
|
||||
|
||||
import { AutomaticCrawlSchedulerLogic } from './automatic_crawl_scheduler_logic';
|
||||
|
@ -81,7 +81,7 @@ export const AutomaticCrawlScheduler: React.FC = () => {
|
|||
defaultMessage="Don't worry about it, we'll start a crawl for you. {readMoreMessage}."
|
||||
values={{
|
||||
readMoreMessage: (
|
||||
<EuiLink href={`${DOCS_PREFIX}/web-crawler.html`} target="_blank">
|
||||
<EuiLink href={WEB_CRAWLER_DOCS_URL} target="_blank">
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.appSearch.crawler.automaticCrawlSchedule.readMoreLink',
|
||||
{
|
||||
|
|
|
@ -13,7 +13,7 @@ import { EuiFlexGroup, EuiFlexItem, EuiLink, EuiSpacer, EuiText, EuiTitle } from
|
|||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import { DOCS_PREFIX } from '../../routes';
|
||||
import { WEB_CRAWLER_DOCS_URL, WEB_CRAWLER_LOG_DOCS_URL } from '../../routes';
|
||||
import { getEngineBreadcrumbs } from '../engine';
|
||||
import { AppSearchPageTemplate } from '../layout';
|
||||
|
||||
|
@ -77,7 +77,7 @@ export const CrawlerOverview: React.FC = () => {
|
|||
defaultMessage:
|
||||
"Easily index your website's content. To get started, enter your domain name, provide optional entry points and crawl rules, and we will handle the rest.",
|
||||
})}{' '}
|
||||
<EuiLink external target="_blank" href={`${DOCS_PREFIX}/web-crawler.html`}>
|
||||
<EuiLink external target="_blank" href={WEB_CRAWLER_DOCS_URL}>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.appSearch.crawler.empty.crawlerDocumentationLinkDescription',
|
||||
{
|
||||
|
@ -114,11 +114,7 @@ export const CrawlerOverview: React.FC = () => {
|
|||
defaultMessage:
|
||||
"Recent crawl requests are logged here. Using the request ID of each crawl, you can track progress and examine crawl events in Kibana's Discover or Logs user interfaces.",
|
||||
})}{' '}
|
||||
<EuiLink
|
||||
href={`${DOCS_PREFIX}/view-web-crawler-events-logs.html`}
|
||||
target="_blank"
|
||||
external
|
||||
>
|
||||
<EuiLink href={WEB_CRAWLER_LOG_DOCS_URL} target="_blank" external>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.appSearch.crawler.configurationDocumentationLinkDescription',
|
||||
{
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import { DOCS_PREFIX } from '../../routes';
|
||||
import { AUTHENTICATION_DOCS_URL } from '../../routes';
|
||||
|
||||
export const CREDENTIALS_TITLE = i18n.translate(
|
||||
'xpack.enterpriseSearch.appSearch.credentials.title',
|
||||
|
@ -109,4 +109,4 @@ export const TOKEN_TYPE_INFO = [
|
|||
|
||||
export const FLYOUT_ARIA_LABEL_ID = 'credentialsFlyoutTitle';
|
||||
|
||||
export const DOCS_HREF = `${DOCS_PREFIX}/authentication.html`;
|
||||
export const DOCS_HREF = AUTHENTICATION_DOCS_URL;
|
||||
|
|
|
@ -21,7 +21,7 @@ import { i18n } from '@kbn/i18n';
|
|||
import { EDIT_BUTTON_LABEL, DELETE_BUTTON_LABEL } from '../../../../shared/constants';
|
||||
import { HiddenText } from '../../../../shared/hidden_text';
|
||||
import { convertMetaToPagination, handlePageChange } from '../../../../shared/table_pagination';
|
||||
import { DOCS_PREFIX } from '../../../routes';
|
||||
import { API_KEYS_DOCS_URL } from '../../../routes';
|
||||
import { TOKEN_TYPE_DISPLAY_NAMES } from '../constants';
|
||||
import { CredentialsLogic } from '../credentials_logic';
|
||||
import { ApiToken } from '../types';
|
||||
|
@ -141,12 +141,7 @@ export const CredentialsList: React.FC = () => {
|
|||
defaultMessage: 'Allow applications to access Elastic App Search on your behalf.',
|
||||
})}
|
||||
actions={
|
||||
<EuiButton
|
||||
size="s"
|
||||
target="_blank"
|
||||
iconType="popout"
|
||||
href={`${DOCS_PREFIX}/authentication.html#authentication-api-keys`}
|
||||
>
|
||||
<EuiButton size="s" target="_blank" iconType="popout" href={API_KEYS_DOCS_URL}>
|
||||
{i18n.translate('xpack.enterpriseSearch.appSearch.credentials.empty.buttonLabel', {
|
||||
defaultMessage: 'Learn about API keys',
|
||||
})}
|
||||
|
|
|
@ -11,6 +11,8 @@ import { shallow } from 'enzyme';
|
|||
|
||||
import { EuiEmptyPrompt, EuiButton } from '@elastic/eui';
|
||||
|
||||
import { docLinks } from '../../../../shared/doc_links';
|
||||
|
||||
import { EmptyState } from './';
|
||||
|
||||
describe('EmptyState', () => {
|
||||
|
@ -21,7 +23,7 @@ describe('EmptyState', () => {
|
|||
|
||||
expect(wrapper.find('h2').text()).toEqual('Create your first curation');
|
||||
expect(wrapper.find(EuiButton).prop('href')).toEqual(
|
||||
expect.stringContaining('/curations-guide.html')
|
||||
expect.stringContaining(docLinks.appSearchCurations)
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -10,7 +10,7 @@ import React from 'react';
|
|||
import { EuiButton, EuiEmptyPrompt } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import { DOCS_PREFIX } from '../../../routes';
|
||||
import { CURATIONS_DOCS_URL } from '../../../routes';
|
||||
|
||||
export const EmptyState: React.FC = () => (
|
||||
<EuiEmptyPrompt
|
||||
|
@ -33,12 +33,7 @@ export const EmptyState: React.FC = () => (
|
|||
</p>
|
||||
}
|
||||
actions={
|
||||
<EuiButton
|
||||
size="s"
|
||||
target="_blank"
|
||||
iconType="popout"
|
||||
href={`${DOCS_PREFIX}/curations-guide.html`}
|
||||
>
|
||||
<EuiButton size="s" target="_blank" iconType="popout" href={CURATIONS_DOCS_URL}>
|
||||
{i18n.translate('xpack.enterpriseSearch.appSearch.engine.curations.empty.buttonLabel', {
|
||||
defaultMessage: 'Read the curations guide',
|
||||
})}
|
||||
|
|
|
@ -19,6 +19,8 @@ import { EuiButtonEmpty, EuiCallOut, EuiSwitch } from '@elastic/eui';
|
|||
|
||||
import { mountWithIntl } from '@kbn/test/jest';
|
||||
|
||||
import { docLinks } from '../../../../../shared/doc_links';
|
||||
|
||||
import { Loading } from '../../../../../shared/loading';
|
||||
import { EuiButtonTo } from '../../../../../shared/react_router_helpers';
|
||||
import { DataPanel } from '../../../data_panel';
|
||||
|
@ -227,7 +229,7 @@ describe('CurationsSettings', () => {
|
|||
const wrapper = shallow(<CurationsSettings />);
|
||||
expect(wrapper.is(DataPanel)).toBe(true);
|
||||
expect(wrapper.prop('action').props.to).toEqual('/app/management/stack/license_management');
|
||||
expect(wrapper.find(EuiButtonEmpty).prop('href')).toEqual('/license-management.html');
|
||||
expect(wrapper.find(EuiButtonEmpty).prop('href')).toEqual(docLinks.licenseManagement);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
|
@ -110,11 +110,7 @@ export const CurationsSettings: React.FC = () => {
|
|||
</EuiButtonTo>
|
||||
}
|
||||
>
|
||||
<EuiButtonEmpty
|
||||
target="_blank"
|
||||
iconType="popout"
|
||||
href={`${docLinks.enterpriseSearchBase}/license-management.html`}
|
||||
>
|
||||
<EuiButtonEmpty target="_blank" iconType="popout" href={docLinks.licenseManagement}>
|
||||
{i18n.translate('xpack.enterpriseSearch.curations.settings.licenseUpgradeLink', {
|
||||
defaultMessage: 'Learn more about license upgrades',
|
||||
})}
|
||||
|
|
|
@ -30,7 +30,7 @@ import { FormattedMessage } from '@kbn/i18n-react';
|
|||
|
||||
import { CANCEL_BUTTON_LABEL } from '../../../../shared/constants';
|
||||
import { getEnterpriseSearchUrl } from '../../../../shared/enterprise_search_url';
|
||||
import { DOCS_PREFIX } from '../../../routes';
|
||||
import { API_CLIENTS_DOCS_URL, INDEXING_DOCS_URL } from '../../../routes';
|
||||
import { EngineLogic } from '../../engine';
|
||||
import { EngineDetails } from '../../engine/types';
|
||||
|
||||
|
@ -74,12 +74,12 @@ export const FlyoutBody: React.FC = () => {
|
|||
defaultMessage="The {documentsApiLink} can be used to add new documents to your engine, update documents, retrieve documents by id, and delete documents. There are a variety of {clientLibrariesLink} to help you get started."
|
||||
values={{
|
||||
documentsApiLink: (
|
||||
<EuiLink target="_blank" href={`${DOCS_PREFIX}/indexing-documents-guide.html`}>
|
||||
<EuiLink target="_blank" href={INDEXING_DOCS_URL}>
|
||||
documents API
|
||||
</EuiLink>
|
||||
),
|
||||
clientLibrariesLink: (
|
||||
<EuiLink target="_blank" href={`${DOCS_PREFIX}/api-clients.html`}>
|
||||
<EuiLink target="_blank" href={API_CLIENTS_DOCS_URL}>
|
||||
client libraries
|
||||
</EuiLink>
|
||||
),
|
||||
|
|
|
@ -27,7 +27,7 @@ import { FormattedMessage } from '@kbn/i18n-react';
|
|||
|
||||
import { parseQueryParams } from '../../../shared/query_params';
|
||||
import { EuiCardTo } from '../../../shared/react_router_helpers';
|
||||
import { DOCS_PREFIX, ENGINE_CRAWLER_PATH } from '../../routes';
|
||||
import { INDEXING_DOCS_URL, ENGINE_CRAWLER_PATH } from '../../routes';
|
||||
import { generateEnginePath } from '../engine';
|
||||
|
||||
import { DocumentCreationLogic } from './';
|
||||
|
@ -66,7 +66,7 @@ export const DocumentCreationButtons: React.FC<Props> = ({ disabled = false }) =
|
|||
jsonCode: <EuiCode>.json</EuiCode>,
|
||||
postCode: <EuiCode>POST</EuiCode>,
|
||||
documentsApiLink: (
|
||||
<EuiLink target="_blank" href={`${DOCS_PREFIX}/indexing-documents-guide.html`}>
|
||||
<EuiLink target="_blank" href={INDEXING_DOCS_URL}>
|
||||
documents API
|
||||
</EuiLink>
|
||||
),
|
||||
|
|
|
@ -11,6 +11,8 @@ import { shallow } from 'enzyme';
|
|||
|
||||
import { EuiEmptyPrompt, EuiButton } from '@elastic/eui';
|
||||
|
||||
import { docLinks } from '../../../../shared/doc_links';
|
||||
|
||||
import { EmptyState } from './';
|
||||
|
||||
describe('EmptyState', () => {
|
||||
|
@ -21,7 +23,7 @@ describe('EmptyState', () => {
|
|||
|
||||
expect(wrapper.find('h2').text()).toEqual('Add your first documents');
|
||||
expect(wrapper.find(EuiButton).prop('href')).toEqual(
|
||||
expect.stringContaining('/indexing-documents-guide.html')
|
||||
expect.stringContaining(docLinks.appSearchIndexingDocs)
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -10,7 +10,7 @@ import React from 'react';
|
|||
import { EuiButton, EuiEmptyPrompt } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import { DOCS_PREFIX } from '../../../routes';
|
||||
import { INDEXING_DOCS_URL } from '../../../routes';
|
||||
|
||||
export const EmptyState = () => (
|
||||
<EuiEmptyPrompt
|
||||
|
@ -32,12 +32,7 @@ export const EmptyState = () => (
|
|||
</p>
|
||||
}
|
||||
actions={
|
||||
<EuiButton
|
||||
size="s"
|
||||
target="_blank"
|
||||
iconType="popout"
|
||||
href={`${DOCS_PREFIX}/indexing-documents-guide.html`}
|
||||
>
|
||||
<EuiButton size="s" target="_blank" iconType="popout" href={INDEXING_DOCS_URL}>
|
||||
{i18n.translate('xpack.enterpriseSearch.appSearch.engine.documents.empty.buttonLabel', {
|
||||
defaultMessage: 'Read the documents guide',
|
||||
})}
|
||||
|
|
|
@ -33,7 +33,7 @@ describe('EmptyEngineOverview', () => {
|
|||
|
||||
it('renders a documentation link', () => {
|
||||
expect(getPageHeaderActions(wrapper).find(EuiButton).prop('href')).toEqual(
|
||||
`${docLinks.appSearchBase}/index.html`
|
||||
docLinks.appSearchGuide
|
||||
);
|
||||
});
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ import React from 'react';
|
|||
import { EuiButton } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import { DOCS_PREFIX } from '../../routes';
|
||||
import { DOCS_URL } from '../../routes';
|
||||
import { DocumentCreationButtons, DocumentCreationFlyout } from '../document_creation';
|
||||
|
||||
import { getEngineBreadcrumbs } from '../engine';
|
||||
|
@ -26,7 +26,7 @@ export const EmptyEngineOverview: React.FC = () => {
|
|||
{ defaultMessage: 'Engine setup' }
|
||||
),
|
||||
rightSideItems: [
|
||||
<EuiButton href={`${DOCS_PREFIX}/index.html`} target="_blank" iconType="popout">
|
||||
<EuiButton href={DOCS_URL} target="_blank" iconType="popout">
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.appSearch.engine.overview.empty.headingAction',
|
||||
{ defaultMessage: 'View documentation' }
|
||||
|
|
|
@ -11,6 +11,8 @@ import { shallow } from 'enzyme';
|
|||
|
||||
import { EuiEmptyPrompt, EuiButton } from '@elastic/eui';
|
||||
|
||||
import { docLinks } from '../../../../shared/doc_links';
|
||||
|
||||
import { EmptyMetaEnginesState } from './';
|
||||
|
||||
describe('EmptyMetaEnginesState', () => {
|
||||
|
@ -21,7 +23,7 @@ describe('EmptyMetaEnginesState', () => {
|
|||
|
||||
expect(wrapper.find('h3').text()).toEqual('Create your first meta engine');
|
||||
expect(wrapper.find(EuiButton).prop('href')).toEqual(
|
||||
expect.stringContaining('/meta-engines-guide.html')
|
||||
expect.stringContaining(docLinks.appSearchMetaEngines)
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -10,7 +10,7 @@ import React from 'react';
|
|||
import { EuiEmptyPrompt, EuiButton } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import { DOCS_PREFIX } from '../../../routes';
|
||||
import { META_ENGINES_DOCS_URL } from '../../../routes';
|
||||
|
||||
export const EmptyMetaEnginesState: React.FC = () => (
|
||||
<EuiEmptyPrompt
|
||||
|
@ -34,12 +34,7 @@ export const EmptyMetaEnginesState: React.FC = () => (
|
|||
</p>
|
||||
}
|
||||
actions={
|
||||
<EuiButton
|
||||
size="s"
|
||||
target="_blank"
|
||||
iconType="popout"
|
||||
href={`${DOCS_PREFIX}/meta-engines-guide.html`}
|
||||
>
|
||||
<EuiButton size="s" target="_blank" iconType="popout" href={META_ENGINES_DOCS_URL}>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.appSearch.engines.metaEngines.emptyPromptButtonLabel',
|
||||
{ defaultMessage: 'Learn more about meta engines' }
|
||||
|
|
|
@ -11,7 +11,7 @@ import { EuiLink } from '@elastic/eui';
|
|||
import { i18n } from '@kbn/i18n';
|
||||
import { FormattedMessage } from '@kbn/i18n-react';
|
||||
|
||||
import { DOCS_PREFIX } from '../../routes';
|
||||
import { META_ENGINES_DOCS_URL } from '../../routes';
|
||||
import {
|
||||
META_ENGINE_CREATION_FORM_META_ENGINE_DESCRIPTION,
|
||||
META_ENGINE_CREATION_FORM_DOCUMENTATION_LINK,
|
||||
|
@ -40,7 +40,7 @@ export const META_ENGINES_DESCRIPTION = (
|
|||
defaultMessage="{readDocumentationLink} for more information or upgrade to a Platinum license to get started."
|
||||
values={{
|
||||
readDocumentationLink: (
|
||||
<EuiLink href={`${DOCS_PREFIX}/meta-engines-guide.html`} target="_blank">
|
||||
<EuiLink href={META_ENGINES_DOCS_URL} target="_blank">
|
||||
{META_ENGINE_CREATION_FORM_DOCUMENTATION_LINK}
|
||||
</EuiLink>
|
||||
),
|
||||
|
|
|
@ -11,7 +11,7 @@ import { EuiLink } from '@elastic/eui';
|
|||
import { i18n } from '@kbn/i18n';
|
||||
import { FormattedMessage } from '@kbn/i18n-react';
|
||||
|
||||
import { DOCS_PREFIX } from '../../routes';
|
||||
import { META_ENGINES_DOCS_URL } from '../../routes';
|
||||
|
||||
export const DEFAULT_LANGUAGE = 'Universal';
|
||||
|
||||
|
@ -57,7 +57,7 @@ export const META_ENGINE_CREATION_FORM_DOCUMENTATION_DESCRIPTION = (
|
|||
defaultMessage="{documentationLink} for information about how to get started."
|
||||
values={{
|
||||
documentationLink: (
|
||||
<EuiLink href={`${DOCS_PREFIX}/meta-engines-guide.html`} target="_blank">
|
||||
<EuiLink href={META_ENGINES_DOCS_URL} target="_blank">
|
||||
{META_ENGINE_CREATION_FORM_DOCUMENTATION_LINK}
|
||||
</EuiLink>
|
||||
),
|
||||
|
|
|
@ -11,6 +11,8 @@ import { shallow } from 'enzyme';
|
|||
|
||||
import { EuiEmptyPrompt, EuiButton } from '@elastic/eui';
|
||||
|
||||
import { docLinks } from '../../../../shared/doc_links';
|
||||
|
||||
import { EmptyState } from './';
|
||||
|
||||
describe('EmptyState', () => {
|
||||
|
@ -21,7 +23,7 @@ describe('EmptyState', () => {
|
|||
|
||||
expect(wrapper.find('h2').text()).toEqual('Add documents to tune relevance');
|
||||
expect(wrapper.find(EuiButton).prop('href')).toEqual(
|
||||
expect.stringContaining('/relevance-tuning-guide.html')
|
||||
expect.stringContaining(docLinks.appSearchRelevance)
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -10,7 +10,7 @@ import React from 'react';
|
|||
import { EuiButton, EuiEmptyPrompt } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import { DOCS_PREFIX } from '../../../routes';
|
||||
import { RELEVANCE_DOCS_URL } from '../../../routes';
|
||||
|
||||
export const EmptyState: React.FC = () => (
|
||||
<EuiEmptyPrompt
|
||||
|
@ -30,12 +30,7 @@ export const EmptyState: React.FC = () => (
|
|||
}
|
||||
)}
|
||||
actions={
|
||||
<EuiButton
|
||||
size="s"
|
||||
target="_blank"
|
||||
iconType="popout"
|
||||
href={`${DOCS_PREFIX}/relevance-tuning-guide.html`}
|
||||
>
|
||||
<EuiButton size="s" target="_blank" iconType="popout" href={RELEVANCE_DOCS_URL}>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.appSearch.engine.relevanceTuning.empty.buttonLabel',
|
||||
{ defaultMessage: 'Read the relevance tuning guide' }
|
||||
|
|
|
@ -11,6 +11,8 @@ import React from 'react';
|
|||
|
||||
import { shallow, ShallowWrapper } from 'enzyme';
|
||||
|
||||
import { docLinks } from '../../../../../shared/doc_links';
|
||||
|
||||
import { rerender } from '../../../../../test_helpers';
|
||||
|
||||
import { STEP_DESCRIPTIONS } from './constants';
|
||||
|
@ -82,7 +84,7 @@ describe('PrecisionSlider', () => {
|
|||
it('contains a documentation link', () => {
|
||||
const documentationLink = wrapper.find('[data-test-subj="documentationLink"]');
|
||||
|
||||
expect(documentationLink.prop('href')).toContain('/precision-tuning.html');
|
||||
expect(documentationLink.prop('href')).toContain(docLinks.appSearchPrecision);
|
||||
expect(documentationLink.prop('target')).toEqual('_blank');
|
||||
});
|
||||
});
|
||||
|
|
|
@ -21,7 +21,7 @@ import {
|
|||
} from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import { DOCS_PREFIX } from '../../../../routes';
|
||||
import { PRECISION_DOCS_URL } from '../../../../routes';
|
||||
import { RelevanceTuningLogic } from '../../relevance_tuning_logic';
|
||||
|
||||
import { STEP_DESCRIPTIONS } from './constants';
|
||||
|
@ -57,11 +57,7 @@ export const PrecisionSlider: React.FC = () => {
|
|||
defaultMessage: 'Fine tune the precision vs. recall settings on your engine.',
|
||||
}
|
||||
)}{' '}
|
||||
<EuiLink
|
||||
data-test-subj="documentationLink"
|
||||
href={`${DOCS_PREFIX}/precision-tuning.html`}
|
||||
target="_blank"
|
||||
>
|
||||
<EuiLink data-test-subj="documentationLink" href={PRECISION_DOCS_URL} target="_blank">
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.appSearch.engine.relevanceTuning.precisionSlider.learnMore.link',
|
||||
{
|
||||
|
|
|
@ -14,7 +14,7 @@ import { i18n } from '@kbn/i18n';
|
|||
import { FormattedMessage } from '@kbn/i18n-react';
|
||||
|
||||
import { EuiLinkTo } from '../../../shared/react_router_helpers';
|
||||
import { DOCS_PREFIX, ENGINE_SCHEMA_PATH } from '../../routes';
|
||||
import { META_ENGINES_DOCS_URL, ENGINE_SCHEMA_PATH } from '../../routes';
|
||||
import { EngineLogic, generateEnginePath } from '../engine';
|
||||
|
||||
import { RelevanceTuningLogic } from '.';
|
||||
|
@ -98,7 +98,7 @@ export const RelevanceTuningCallouts: React.FC = () => {
|
|||
values={{
|
||||
schemaFieldsWithConflictsCount,
|
||||
link: (
|
||||
<EuiLink href={`${DOCS_PREFIX}/meta-engines-guide.html`} target="_blank">
|
||||
<EuiLink href={META_ENGINES_DOCS_URL} target="_blank">
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.appSearch.engine.relevanceTuning.whatsThisLinkLabel',
|
||||
{
|
||||
|
|
|
@ -11,6 +11,8 @@ import { shallow } from 'enzyme';
|
|||
|
||||
import { EuiEmptyPrompt, EuiButton } from '@elastic/eui';
|
||||
|
||||
import { docLinks } from '../../../../shared/doc_links';
|
||||
|
||||
import { EmptyState } from './';
|
||||
|
||||
describe('EmptyState', () => {
|
||||
|
@ -21,7 +23,7 @@ describe('EmptyState', () => {
|
|||
|
||||
expect(wrapper.find('h2').text()).toEqual('Add documents to adjust settings');
|
||||
expect(wrapper.find(EuiButton).prop('href')).toEqual(
|
||||
expect.stringContaining('/result-settings-guide.html')
|
||||
expect.stringContaining(docLinks.appSearchResultSettings)
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -10,7 +10,7 @@ import React from 'react';
|
|||
import { EuiButton, EuiEmptyPrompt } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import { DOCS_PREFIX } from '../../../routes';
|
||||
import { RESULT_SETTINGS_DOCS_URL } from '../../../routes';
|
||||
|
||||
export const EmptyState: React.FC = () => (
|
||||
<EuiEmptyPrompt
|
||||
|
@ -30,12 +30,7 @@ export const EmptyState: React.FC = () => (
|
|||
}
|
||||
)}
|
||||
actions={
|
||||
<EuiButton
|
||||
size="s"
|
||||
target="_blank"
|
||||
iconType="popout"
|
||||
href={`${DOCS_PREFIX}/result-settings-guide.html`}
|
||||
>
|
||||
<EuiButton size="s" target="_blank" iconType="popout" href={RESULT_SETTINGS_DOCS_URL}>
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.appSearch.engine.resultSettings.empty.buttonLabel',
|
||||
{ defaultMessage: 'Read the result settings guide' }
|
||||
|
|
|
@ -22,7 +22,7 @@ import {
|
|||
} from '../../../shared/role_mapping';
|
||||
import { ROLE_MAPPINGS_TITLE } from '../../../shared/role_mapping/constants';
|
||||
|
||||
import { DOCS_PREFIX } from '../../routes';
|
||||
import { SECURITY_DOCS_URL } from '../../routes';
|
||||
import { AppSearchPageTemplate } from '../layout';
|
||||
|
||||
import { ROLE_MAPPINGS_ENGINE_ACCESS_HEADING } from './constants';
|
||||
|
@ -30,8 +30,6 @@ import { RoleMapping } from './role_mapping';
|
|||
import { RoleMappingsLogic } from './role_mappings_logic';
|
||||
import { User } from './user';
|
||||
|
||||
const ROLES_DOCS_LINK = `${DOCS_PREFIX}/security-and-users.html`;
|
||||
|
||||
export const RoleMappings: React.FC = () => {
|
||||
const {
|
||||
enableRoleBasedAccess,
|
||||
|
@ -60,7 +58,7 @@ export const RoleMappings: React.FC = () => {
|
|||
const rolesEmptyState = (
|
||||
<RolesEmptyPrompt
|
||||
productName={APP_SEARCH_PLUGIN.NAME}
|
||||
docsLink={ROLES_DOCS_LINK}
|
||||
docsLink={SECURITY_DOCS_URL}
|
||||
onEnable={enableRoleBasedAccess}
|
||||
/>
|
||||
);
|
||||
|
@ -69,7 +67,7 @@ export const RoleMappings: React.FC = () => {
|
|||
<section>
|
||||
<RoleMappingsHeading
|
||||
productName={APP_SEARCH_PLUGIN.NAME}
|
||||
docsLink={ROLES_DOCS_LINK}
|
||||
docsLink={SECURITY_DOCS_URL}
|
||||
onClick={() => initializeRoleMapping()}
|
||||
/>
|
||||
<RoleMappingsTable
|
||||
|
|
|
@ -13,6 +13,8 @@ import { shallow } from 'enzyme';
|
|||
|
||||
import { EuiEmptyPrompt, EuiButton } from '@elastic/eui';
|
||||
|
||||
import { docLinks } from '../../../../shared/doc_links';
|
||||
|
||||
import { SchemaAddFieldModal } from '../../../../shared/schema';
|
||||
|
||||
import { EmptyState } from './';
|
||||
|
@ -25,7 +27,7 @@ describe('EmptyState', () => {
|
|||
|
||||
expect(wrapper.find('h2').text()).toEqual('Create a schema');
|
||||
expect(wrapper.find(EuiButton).prop('href')).toEqual(
|
||||
expect.stringContaining('#indexing-documents-guide-schema')
|
||||
expect.stringContaining(docLinks.appSearchIndexingDocsSchema)
|
||||
);
|
||||
});
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ import { EuiEmptyPrompt, EuiButton } from '@elastic/eui';
|
|||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import { SchemaAddFieldModal } from '../../../../shared/schema';
|
||||
import { DOCS_PREFIX } from '../../../routes';
|
||||
import { INDEXING_SCHEMA_DOCS_URL } from '../../../routes';
|
||||
import { SchemaLogic } from '../schema_logic';
|
||||
|
||||
export const EmptyState: React.FC = () => {
|
||||
|
@ -40,12 +40,7 @@ export const EmptyState: React.FC = () => {
|
|||
</p>
|
||||
}
|
||||
actions={
|
||||
<EuiButton
|
||||
size="s"
|
||||
target="_blank"
|
||||
iconType="popout"
|
||||
href={`${DOCS_PREFIX}/indexing-documents-guide.html#indexing-documents-guide-schema`}
|
||||
>
|
||||
<EuiButton size="s" target="_blank" iconType="popout" href={INDEXING_SCHEMA_DOCS_URL}>
|
||||
{i18n.translate('xpack.enterpriseSearch.appSearch.engine.schema.empty.buttonLabel', {
|
||||
defaultMessage: 'Read the indexing schema guide',
|
||||
})}
|
||||
|
|
|
@ -11,6 +11,8 @@ import { shallow } from 'enzyme';
|
|||
|
||||
import { EuiEmptyPrompt, EuiButton } from '@elastic/eui';
|
||||
|
||||
import { docLinks } from '../../../../shared/doc_links';
|
||||
|
||||
import { EmptyState } from './empty_state';
|
||||
|
||||
describe('EmptyState', () => {
|
||||
|
@ -21,7 +23,7 @@ describe('EmptyState', () => {
|
|||
|
||||
expect(wrapper.find('h2').text()).toEqual('Add documents to generate a Search UI');
|
||||
expect(wrapper.find(EuiButton).prop('href')).toEqual(
|
||||
expect.stringContaining('/reference-ui-guide.html')
|
||||
expect.stringContaining(docLinks.appSearchSearchUI)
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -10,7 +10,7 @@ import React from 'react';
|
|||
import { EuiButton, EuiEmptyPrompt } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import { DOCS_PREFIX } from '../../../routes';
|
||||
import { SEARCH_UI_DOCS_URL } from '../../../routes';
|
||||
|
||||
export const EmptyState: React.FC = () => (
|
||||
<EuiEmptyPrompt
|
||||
|
@ -31,12 +31,7 @@ export const EmptyState: React.FC = () => (
|
|||
</p>
|
||||
}
|
||||
actions={
|
||||
<EuiButton
|
||||
size="s"
|
||||
target="_blank"
|
||||
iconType="popout"
|
||||
href={`${DOCS_PREFIX}/reference-ui-guide.html`}
|
||||
>
|
||||
<EuiButton size="s" target="_blank" iconType="popout" href={SEARCH_UI_DOCS_URL}>
|
||||
{i18n.translate('xpack.enterpriseSearch.appSearch.engine.searchUI.empty.buttonLabel', {
|
||||
defaultMessage: 'Read the Search UI guide',
|
||||
})}
|
||||
|
|
|
@ -12,7 +12,7 @@ import { useActions, useValues } from 'kea';
|
|||
import { EuiText, EuiFlexItem, EuiFlexGroup, EuiSpacer, EuiLink } from '@elastic/eui';
|
||||
import { FormattedMessage } from '@kbn/i18n-react';
|
||||
|
||||
import { DOCS_PREFIX } from '../../routes';
|
||||
import { SEARCH_UI_DOCS_URL } from '../../routes';
|
||||
import { EngineLogic, getEngineBreadcrumbs } from '../engine';
|
||||
import { AppSearchPageTemplate } from '../layout';
|
||||
|
||||
|
@ -62,7 +62,7 @@ export const SearchUI: React.FC = () => {
|
|||
defaultMessage="Use the fields below to generate a sample search experience built with Search UI. Use the sample to preview search results, or build upon it to create your own custom search experience. {link}."
|
||||
values={{
|
||||
link: (
|
||||
<EuiLink target="_blank" href={`${DOCS_PREFIX}/reference-ui-guide.html`}>
|
||||
<EuiLink target="_blank" href={SEARCH_UI_DOCS_URL}>
|
||||
<FormattedMessage
|
||||
id="xpack.enterpriseSearch.appSearch.engine.searchUI.guideLinkText"
|
||||
defaultMessage="Learn more about Search UI"
|
||||
|
|
|
@ -20,7 +20,7 @@ import {
|
|||
} from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import { DOCS_PREFIX } from '../../../routes';
|
||||
import { LOG_SETTINGS_DOCS_URL } from '../../../routes';
|
||||
|
||||
import { LogRetentionLogic, LogRetentionOptions, LogRetentionMessage } from '../../log_retention';
|
||||
|
||||
|
@ -135,7 +135,7 @@ export const LogRetentionPanel: React.FC = () => {
|
|||
defaultMessage: 'Log retention is determined by the ILM policies for your deployment.',
|
||||
})}
|
||||
<br />
|
||||
<EuiLink href={`${DOCS_PREFIX}/logs.html`} target="_blank">
|
||||
<EuiLink href={LOG_SETTINGS_DOCS_URL} target="_blank">
|
||||
{i18n.translate('xpack.enterpriseSearch.appSearch.settings.logRetention.learnMore', {
|
||||
defaultMessage: 'Learn more about log retention for Enterprise Search.',
|
||||
})}
|
||||
|
|
|
@ -15,7 +15,7 @@ import { APP_SEARCH_PLUGIN } from '../../../../../common/constants';
|
|||
import { SetAppSearchChrome as SetPageChrome } from '../../../shared/kibana_chrome';
|
||||
import { SetupGuideLayout, SETUP_GUIDE_TITLE } from '../../../shared/setup_guide';
|
||||
import { SendAppSearchTelemetry as SendTelemetry } from '../../../shared/telemetry';
|
||||
import { DOCS_PREFIX } from '../../routes';
|
||||
import { NATIVE_AUTH_DOCS_URL, STANDARD_AUTH_DOCS_URL } from '../../routes';
|
||||
|
||||
import GettingStarted from './assets/getting_started.png';
|
||||
|
||||
|
@ -23,8 +23,8 @@ export const SetupGuide: React.FC = () => (
|
|||
<SetupGuideLayout
|
||||
productName={APP_SEARCH_PLUGIN.NAME}
|
||||
productEuiIcon="logoAppSearch"
|
||||
standardAuthLink={`${DOCS_PREFIX}/security-and-users.html#app-search-self-managed-security-and-user-management-standard`}
|
||||
elasticsearchNativeAuthLink={`${DOCS_PREFIX}/security-and-users.html#app-search-self-managed-security-and-user-management-elasticsearch-native-realm`}
|
||||
standardAuthLink={STANDARD_AUTH_DOCS_URL}
|
||||
elasticsearchNativeAuthLink={NATIVE_AUTH_DOCS_URL}
|
||||
>
|
||||
<SetPageChrome trail={[SETUP_GUIDE_TITLE]} />
|
||||
<SendTelemetry action="viewed" metric="setup_guide" />
|
||||
|
|
|
@ -11,6 +11,8 @@ import { shallow } from 'enzyme';
|
|||
|
||||
import { EuiEmptyPrompt, EuiButton } from '@elastic/eui';
|
||||
|
||||
import { docLinks } from '../../../../shared/doc_links';
|
||||
|
||||
import { EmptyState, SynonymModal } from './';
|
||||
|
||||
describe('EmptyState', () => {
|
||||
|
@ -21,7 +23,7 @@ describe('EmptyState', () => {
|
|||
|
||||
expect(wrapper.find('h2').text()).toEqual('Create your first synonym set');
|
||||
expect(wrapper.find(EuiButton).prop('href')).toEqual(
|
||||
expect.stringContaining('/synonyms-guide.html')
|
||||
expect.stringContaining(docLinks.appSearchSynonyms)
|
||||
);
|
||||
});
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ import React from 'react';
|
|||
import { EuiEmptyPrompt, EuiButton } from '@elastic/eui';
|
||||
import { i18n } from '@kbn/i18n';
|
||||
|
||||
import { DOCS_PREFIX } from '../../../routes';
|
||||
import { SYNONYMS_DOCS_URL } from '../../../routes';
|
||||
|
||||
import { SynonymModal, SynonymIcon } from './';
|
||||
|
||||
|
@ -35,12 +35,7 @@ export const EmptyState: React.FC = () => {
|
|||
</p>
|
||||
}
|
||||
actions={
|
||||
<EuiButton
|
||||
size="s"
|
||||
target="_blank"
|
||||
iconType="popout"
|
||||
href={`${DOCS_PREFIX}/synonyms-guide.html`}
|
||||
>
|
||||
<EuiButton size="s" target="_blank" iconType="popout" href={SYNONYMS_DOCS_URL}>
|
||||
{i18n.translate('xpack.enterpriseSearch.appSearch.engine.synonyms.empty.buttonLabel', {
|
||||
defaultMessage: 'Read the synonyms guide',
|
||||
})}
|
||||
|
|
|
@ -7,7 +7,29 @@
|
|||
|
||||
import { docLinks } from '../shared/doc_links';
|
||||
|
||||
export const DOCS_PREFIX = docLinks.appSearchBase;
|
||||
export const API_DOCS_URL = docLinks.appSearchApis;
|
||||
export const API_CLIENTS_DOCS_URL = docLinks.appSearchApiClients;
|
||||
export const API_KEYS_DOCS_URL = docLinks.appSearchApiKeys;
|
||||
export const AUTHENTICATION_DOCS_URL = docLinks.appSearchAuthentication;
|
||||
export const CRAWL_RULES_DOCS_URL = docLinks.appSearchCrawlRules;
|
||||
export const CURATIONS_DOCS_URL = docLinks.appSearchCurations;
|
||||
export const DOCS_URL = docLinks.appSearchGuide;
|
||||
export const DUPLICATE_DOCS_URL = docLinks.appSearchDuplicateDocuments;
|
||||
export const ENTRY_POINTS_DOCS_URL = docLinks.appSearchEntryPoints;
|
||||
export const INDEXING_DOCS_URL = docLinks.appSearchIndexingDocs;
|
||||
export const INDEXING_SCHEMA_DOCS_URL = docLinks.appSearchIndexingDocsSchema;
|
||||
export const LOG_SETTINGS_DOCS_URL = docLinks.appSearchLogSettings;
|
||||
export const META_ENGINES_DOCS_URL = docLinks.appSearchMetaEngines;
|
||||
export const NATIVE_AUTH_DOCS_URL = docLinks.appSearchNativeAuth;
|
||||
export const PRECISION_DOCS_URL = docLinks.appSearchPrecision;
|
||||
export const RELEVANCE_DOCS_URL = docLinks.appSearchRelevance;
|
||||
export const RESULT_SETTINGS_DOCS_URL = docLinks.appSearchResultSettings;
|
||||
export const SEARCH_UI_DOCS_URL = docLinks.appSearchSearchUI;
|
||||
export const SECURITY_DOCS_URL = docLinks.appSearchSecurity;
|
||||
export const STANDARD_AUTH_DOCS_URL = docLinks.appSearchStandardAuth;
|
||||
export const SYNONYMS_DOCS_URL = docLinks.appSearchSynonyms;
|
||||
export const WEB_CRAWLER_DOCS_URL = docLinks.appSearchWebCrawler;
|
||||
export const WEB_CRAWLER_LOG_DOCS_URL = docLinks.appSearchWebCrawlerEventLogs;
|
||||
|
||||
export const ROOT_PATH = '/';
|
||||
export const SETUP_GUIDE_PATH = '/setup_guide';
|
||||
|
|
|
@ -12,7 +12,7 @@ import { i18n } from '@kbn/i18n';
|
|||
import { FormattedMessage } from '@kbn/i18n-react';
|
||||
|
||||
import { ENTERPRISE_SEARCH_PLUGIN } from '../../../../../common/constants';
|
||||
import { DOCS_PREFIX } from '../../../app_search/routes';
|
||||
import { NATIVE_AUTH_DOCS_URL, STANDARD_AUTH_DOCS_URL } from '../../../app_search/routes';
|
||||
import { SetEnterpriseSearchChrome as SetPageChrome } from '../../../shared/kibana_chrome';
|
||||
import { SetupGuideLayout, SETUP_GUIDE_TITLE } from '../../../shared/setup_guide';
|
||||
import { SendEnterpriseSearchTelemetry as SendTelemetry } from '../../../shared/telemetry';
|
||||
|
@ -23,8 +23,8 @@ export const SetupGuide: React.FC = () => (
|
|||
<SetupGuideLayout
|
||||
productName={ENTERPRISE_SEARCH_PLUGIN.NAME}
|
||||
productEuiIcon="logoEnterpriseSearch"
|
||||
standardAuthLink={`${DOCS_PREFIX}/security-and-users.html#app-search-self-managed-security-and-user-management-standard`}
|
||||
elasticsearchNativeAuthLink={`${DOCS_PREFIX}/security-and-users.html#app-search-self-managed-security-and-user-management-elasticsearch-native-realm`}
|
||||
standardAuthLink={STANDARD_AUTH_DOCS_URL}
|
||||
elasticsearchNativeAuthLink={NATIVE_AUTH_DOCS_URL}
|
||||
>
|
||||
<SetPageChrome trail={[SETUP_GUIDE_TITLE]} />
|
||||
<SendTelemetry action="viewed" metric="setup_guide" />
|
||||
|
|
|
@ -5,27 +5,23 @@
|
|||
* 2.0.
|
||||
*/
|
||||
|
||||
import { docLinksServiceMock } from '../../../../../../../src/core/public/mocks';
|
||||
|
||||
import { docLinks } from './';
|
||||
|
||||
describe('DocLinks', () => {
|
||||
it('setDocLinks', () => {
|
||||
const links = {
|
||||
DOC_LINK_VERSION: '',
|
||||
ELASTIC_WEBSITE_URL: 'https://elastic.co/',
|
||||
links: {
|
||||
enterpriseSearch: {
|
||||
base: 'http://elastic.enterprise.search',
|
||||
appSearchBase: 'http://elastic.app.search',
|
||||
workplaceSearchBase: 'http://elastic.workplace.search',
|
||||
},
|
||||
},
|
||||
DOC_LINK_VERSION: docLinksServiceMock.createStartContract().DOC_LINK_VERSION,
|
||||
ELASTIC_WEBSITE_URL: docLinksServiceMock.createStartContract().ELASTIC_WEBSITE_URL,
|
||||
links: docLinksServiceMock.createStartContract().links,
|
||||
};
|
||||
|
||||
docLinks.setDocLinks(links as any);
|
||||
|
||||
expect(docLinks.enterpriseSearchBase).toEqual('http://elastic.enterprise.search');
|
||||
expect(docLinks.appSearchBase).toEqual('http://elastic.app.search');
|
||||
expect(docLinks.workplaceSearchBase).toEqual('http://elastic.workplace.search');
|
||||
expect(docLinks.cloudBase).toEqual('https://elastic.co/guide/en/cloud/current');
|
||||
expect(docLinks.appSearchApis).toEqual(links.links.appSearch.apiRef);
|
||||
expect(docLinks.cloudIndexManagement).toEqual(links.links.cloud.indexManagement);
|
||||
expect(docLinks.enterpriseSearchConfig).toEqual(links.links.enterpriseSearch.configuration);
|
||||
expect(docLinks.workplaceSearchZendesk).toEqual(links.links.workplaceSearch.zendesk);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -8,23 +8,174 @@
|
|||
import { DocLinksStart } from 'kibana/public';
|
||||
|
||||
class DocLinks {
|
||||
public enterpriseSearchBase: string;
|
||||
public appSearchBase: string;
|
||||
public workplaceSearchBase: string;
|
||||
public cloudBase: string;
|
||||
public appSearchApis: string;
|
||||
public appSearchApiClients: string;
|
||||
public appSearchApiKeys: string;
|
||||
public appSearchAuthentication: string;
|
||||
public appSearchCrawlRules: string;
|
||||
public appSearchCurations: string;
|
||||
public appSearchDuplicateDocuments: string;
|
||||
public appSearchEntryPoints: string;
|
||||
public appSearchGuide: string;
|
||||
public appSearchIndexingDocs: string;
|
||||
public appSearchIndexingDocsSchema: string;
|
||||
public appSearchLogSettings: string;
|
||||
public appSearchMetaEngines: string;
|
||||
public appSearchNativeAuth: string;
|
||||
public appSearchPrecision: string;
|
||||
public appSearchRelevance: string;
|
||||
public appSearchResultSettings: string;
|
||||
public appSearchSearchUI: string;
|
||||
public appSearchSecurity: string;
|
||||
public appSearchStandardAuth: string;
|
||||
public appSearchSynonyms: string;
|
||||
public appSearchWebCrawler: string;
|
||||
public appSearchWebCrawlerEventLogs: string;
|
||||
public cloudIndexManagement: string;
|
||||
public enterpriseSearchConfig: string;
|
||||
public enterpriseSearchMailService: string;
|
||||
public enterpriseSearchUsersAccess: string;
|
||||
public licenseManagement: string;
|
||||
public workplaceSearchBox: string;
|
||||
public workplaceSearchConfluenceCloud: string;
|
||||
public workplaceSearchConfluenceServer: string;
|
||||
public workplaceSearchCustomSources: string;
|
||||
public workplaceSearchCustomSourcePermissions: string;
|
||||
public workplaceSearchDocumentPermissions: string;
|
||||
public workplaceSearchDropbox: string;
|
||||
public workplaceSearchExternalIdentities: string;
|
||||
public workplaceSearchGettingStarted: string;
|
||||
public workplaceSearchGitHub: string;
|
||||
public workplaceSearchGmail: string;
|
||||
public workplaceSearchGoogleDrive: string;
|
||||
public workplaceSearchIndexingSchedule: string;
|
||||
public workplaceSearchJiraCloud: string;
|
||||
public workplaceSearchJiraServer: string;
|
||||
public workplaceSearchNativeAuth: string;
|
||||
public workplaceSearchOneDrive: string;
|
||||
public workplaceSearchPermissions: string;
|
||||
public workplaceSearchSalesforce: string;
|
||||
public workplaceSearchSecurity: string;
|
||||
public workplaceSearchServiceNow: string;
|
||||
public workplaceSearchSharePoint: string;
|
||||
public workplaceSearchSlack: string;
|
||||
public workplaceSearchStandardAuth: string;
|
||||
public workplaceSearchSynch: string;
|
||||
public workplaceSearchZendesk: string;
|
||||
|
||||
constructor() {
|
||||
this.enterpriseSearchBase = '';
|
||||
this.appSearchBase = '';
|
||||
this.workplaceSearchBase = '';
|
||||
this.cloudBase = '';
|
||||
this.appSearchApis = '';
|
||||
this.appSearchApiClients = '';
|
||||
this.appSearchApiKeys = '';
|
||||
this.appSearchAuthentication = '';
|
||||
this.appSearchCrawlRules = '';
|
||||
this.appSearchCurations = '';
|
||||
this.appSearchDuplicateDocuments = '';
|
||||
this.appSearchEntryPoints = '';
|
||||
this.appSearchGuide = '';
|
||||
this.appSearchIndexingDocs = '';
|
||||
this.appSearchIndexingDocsSchema = '';
|
||||
this.appSearchLogSettings = '';
|
||||
this.appSearchMetaEngines = '';
|
||||
this.appSearchNativeAuth = '';
|
||||
this.appSearchPrecision = '';
|
||||
this.appSearchRelevance = '';
|
||||
this.appSearchResultSettings = '';
|
||||
this.appSearchSearchUI = '';
|
||||
this.appSearchSecurity = '';
|
||||
this.appSearchStandardAuth = '';
|
||||
this.appSearchSynonyms = '';
|
||||
this.appSearchWebCrawler = '';
|
||||
this.appSearchWebCrawlerEventLogs = '';
|
||||
this.cloudIndexManagement = '';
|
||||
this.enterpriseSearchConfig = '';
|
||||
this.enterpriseSearchMailService = '';
|
||||
this.enterpriseSearchUsersAccess = '';
|
||||
this.licenseManagement = '';
|
||||
this.workplaceSearchBox = '';
|
||||
this.workplaceSearchConfluenceCloud = '';
|
||||
this.workplaceSearchConfluenceServer = '';
|
||||
this.workplaceSearchCustomSources = '';
|
||||
this.workplaceSearchCustomSourcePermissions = '';
|
||||
this.workplaceSearchDocumentPermissions = '';
|
||||
this.workplaceSearchDropbox = '';
|
||||
this.workplaceSearchExternalIdentities = '';
|
||||
this.workplaceSearchGettingStarted = '';
|
||||
this.workplaceSearchGitHub = '';
|
||||
this.workplaceSearchGmail = '';
|
||||
this.workplaceSearchGoogleDrive = '';
|
||||
this.workplaceSearchIndexingSchedule = '';
|
||||
this.workplaceSearchJiraCloud = '';
|
||||
this.workplaceSearchJiraServer = '';
|
||||
this.workplaceSearchNativeAuth = '';
|
||||
this.workplaceSearchOneDrive = '';
|
||||
this.workplaceSearchPermissions = '';
|
||||
this.workplaceSearchSalesforce = '';
|
||||
this.workplaceSearchSecurity = '';
|
||||
this.workplaceSearchServiceNow = '';
|
||||
this.workplaceSearchSharePoint = '';
|
||||
this.workplaceSearchSlack = '';
|
||||
this.workplaceSearchStandardAuth = '';
|
||||
this.workplaceSearchSynch = '';
|
||||
this.workplaceSearchZendesk = '';
|
||||
}
|
||||
|
||||
public setDocLinks(docLinks: DocLinksStart): void {
|
||||
this.enterpriseSearchBase = docLinks.links.enterpriseSearch.base;
|
||||
this.appSearchBase = docLinks.links.enterpriseSearch.appSearchBase;
|
||||
this.workplaceSearchBase = docLinks.links.enterpriseSearch.workplaceSearchBase;
|
||||
this.cloudBase = `${docLinks.ELASTIC_WEBSITE_URL}guide/en/cloud/current`;
|
||||
this.appSearchApis = docLinks.links.appSearch.apiRef;
|
||||
this.appSearchApiClients = docLinks.links.appSearch.apiClients;
|
||||
this.appSearchApiKeys = docLinks.links.appSearch.apiKeys;
|
||||
this.appSearchAuthentication = docLinks.links.appSearch.authentication;
|
||||
this.appSearchCrawlRules = docLinks.links.appSearch.crawlRules;
|
||||
this.appSearchCurations = docLinks.links.appSearch.curations;
|
||||
this.appSearchDuplicateDocuments = docLinks.links.appSearch.duplicateDocuments;
|
||||
this.appSearchEntryPoints = docLinks.links.appSearch.entryPoints;
|
||||
this.appSearchGuide = docLinks.links.appSearch.guide;
|
||||
this.appSearchIndexingDocs = docLinks.links.appSearch.indexingDocuments;
|
||||
this.appSearchIndexingDocsSchema = docLinks.links.appSearch.indexingDocumentsSchema;
|
||||
this.appSearchLogSettings = docLinks.links.appSearch.logSettings;
|
||||
this.appSearchMetaEngines = docLinks.links.appSearch.metaEngines;
|
||||
this.appSearchNativeAuth = docLinks.links.appSearch.nativeAuth;
|
||||
this.appSearchPrecision = docLinks.links.appSearch.precisionTuning;
|
||||
this.appSearchRelevance = docLinks.links.appSearch.relevanceTuning;
|
||||
this.appSearchResultSettings = docLinks.links.appSearch.resultSettings;
|
||||
this.appSearchSearchUI = docLinks.links.appSearch.searchUI;
|
||||
this.appSearchSecurity = docLinks.links.appSearch.security;
|
||||
this.appSearchStandardAuth = docLinks.links.appSearch.standardAuth;
|
||||
this.appSearchSynonyms = docLinks.links.appSearch.synonyms;
|
||||
this.appSearchWebCrawler = docLinks.links.appSearch.webCrawler;
|
||||
this.appSearchWebCrawlerEventLogs = docLinks.links.appSearch.webCrawlerEventLogs;
|
||||
this.cloudIndexManagement = docLinks.links.cloud.indexManagement;
|
||||
this.enterpriseSearchConfig = docLinks.links.enterpriseSearch.configuration;
|
||||
this.enterpriseSearchMailService = docLinks.links.enterpriseSearch.mailService;
|
||||
this.enterpriseSearchUsersAccess = docLinks.links.enterpriseSearch.usersAccess;
|
||||
this.licenseManagement = docLinks.links.enterpriseSearch.licenseManagement;
|
||||
this.workplaceSearchBox = docLinks.links.workplaceSearch.box;
|
||||
this.workplaceSearchConfluenceCloud = docLinks.links.workplaceSearch.confluenceCloud;
|
||||
this.workplaceSearchConfluenceServer = docLinks.links.workplaceSearch.confluenceServer;
|
||||
this.workplaceSearchCustomSources = docLinks.links.workplaceSearch.customSources;
|
||||
this.workplaceSearchCustomSourcePermissions =
|
||||
docLinks.links.workplaceSearch.customSourcePermissions;
|
||||
this.workplaceSearchDocumentPermissions = docLinks.links.workplaceSearch.documentPermissions;
|
||||
this.workplaceSearchDropbox = docLinks.links.workplaceSearch.dropbox;
|
||||
this.workplaceSearchExternalIdentities = docLinks.links.workplaceSearch.externalIdentities;
|
||||
this.workplaceSearchGettingStarted = docLinks.links.workplaceSearch.gettingStarted;
|
||||
this.workplaceSearchGitHub = docLinks.links.workplaceSearch.gitHub;
|
||||
this.workplaceSearchGmail = docLinks.links.workplaceSearch.gmail;
|
||||
this.workplaceSearchGoogleDrive = docLinks.links.workplaceSearch.googleDrive;
|
||||
this.workplaceSearchIndexingSchedule = docLinks.links.workplaceSearch.indexingSchedule;
|
||||
this.workplaceSearchJiraCloud = docLinks.links.workplaceSearch.jiraCloud;
|
||||
this.workplaceSearchJiraServer = docLinks.links.workplaceSearch.jiraServer;
|
||||
this.workplaceSearchNativeAuth = docLinks.links.workplaceSearch.nativeAuth;
|
||||
this.workplaceSearchOneDrive = docLinks.links.workplaceSearch.oneDrive;
|
||||
this.workplaceSearchPermissions = docLinks.links.workplaceSearch.permissions;
|
||||
this.workplaceSearchSalesforce = docLinks.links.workplaceSearch.salesforce;
|
||||
this.workplaceSearchSecurity = docLinks.links.workplaceSearch.security;
|
||||
this.workplaceSearchServiceNow = docLinks.links.workplaceSearch.serviceNow;
|
||||
this.workplaceSearchSharePoint = docLinks.links.workplaceSearch.sharePoint;
|
||||
this.workplaceSearchSlack = docLinks.links.workplaceSearch.slack;
|
||||
this.workplaceSearchStandardAuth = docLinks.links.workplaceSearch.standardAuth;
|
||||
this.workplaceSearchSynch = docLinks.links.workplaceSearch.synch;
|
||||
this.workplaceSearchZendesk = docLinks.links.workplaceSearch.zendesk;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,8 @@ import { shallow } from 'enzyme';
|
|||
|
||||
import { EuiButton } from '@elastic/eui';
|
||||
|
||||
import { docLinks } from '../../shared/doc_links';
|
||||
|
||||
import { EuiButtonTo } from '../react_router_helpers';
|
||||
|
||||
import { ManageLicenseButton } from './';
|
||||
|
@ -35,7 +37,7 @@ describe('ManageLicenseButton', () => {
|
|||
const wrapper = shallow(<ManageLicenseButton />);
|
||||
|
||||
expect(wrapper.find(EuiButton).prop('href')).toEqual(
|
||||
expect.stringContaining('/license-management.html')
|
||||
expect.stringContaining(docLinks.licenseManagement)
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -27,12 +27,7 @@ export const ManageLicenseButton: React.FC<EuiButtonProps> = (props) => {
|
|||
})}
|
||||
</EuiButtonTo>
|
||||
) : (
|
||||
<EuiButton
|
||||
{...props}
|
||||
target="_blank"
|
||||
iconType="popout"
|
||||
href={`${docLinks.enterpriseSearchBase}/license-management.html`}
|
||||
>
|
||||
<EuiButton {...props} target="_blank" iconType="popout" href={docLinks.licenseManagement}>
|
||||
{i18n.translate('xpack.enterpriseSearch.licenseDocumentationLink', {
|
||||
defaultMessage: 'Learn more about license features',
|
||||
})}
|
||||
|
|
|
@ -18,7 +18,7 @@ import { RoleRules } from '../types';
|
|||
|
||||
import './role_mappings_table.scss';
|
||||
|
||||
const AUTH_PROVIDER_DOCUMENTATION_URL = `${docLinks.enterpriseSearchBase}/users-access.html`;
|
||||
const AUTH_PROVIDER_DOCUMENTATION_URL = `${docLinks.enterpriseSearchUsersAccess}`;
|
||||
|
||||
import {
|
||||
ANY_AUTH_PROVIDER,
|
||||
|
|
|
@ -24,7 +24,7 @@ import { Role as WSRole } from '../../workplace_search/types';
|
|||
import { USERNAME_LABEL, EMAIL_LABEL } from '../constants';
|
||||
import { docLinks } from '../doc_links';
|
||||
|
||||
const SMTP_URL = `${docLinks.enterpriseSearchBase}/mailer-configuration.html`;
|
||||
const SMTP_URL = `${docLinks.enterpriseSearchMailService}`;
|
||||
|
||||
import {
|
||||
NEW_USER_LABEL,
|
||||
|
|
|
@ -20,7 +20,7 @@ import { docLinks } from '../doc_links';
|
|||
|
||||
import { NO_USERS_TITLE, NO_USERS_DESCRIPTION, ENABLE_USERS_LINK } from './constants';
|
||||
|
||||
const USERS_DOCS_URL = `${docLinks.enterpriseSearchBase}/users-access.html`;
|
||||
const USERS_DOCS_URL = `${docLinks.enterpriseSearchUsersAccess}`;
|
||||
|
||||
export const UsersEmptyPrompt: React.FC = () => (
|
||||
<EuiFlexGroup alignItems="center" justifyContent="center">
|
||||
|
|
|
@ -80,10 +80,7 @@ export const CloudSetupInstructions: React.FC<Props> = ({ productName, cloudDepl
|
|||
defaultMessage="After enabling Enterprise Search for your instance you can customize the instance, including fault tolerance, RAM, and other {optionsLink}."
|
||||
values={{
|
||||
optionsLink: (
|
||||
<EuiLink
|
||||
href={`${docLinks.enterpriseSearchBase}/configuration.html`}
|
||||
target="_blank"
|
||||
>
|
||||
<EuiLink href={docLinks.enterpriseSearchConfig} target="_blank">
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.setupGuide.cloud.step3.instruction1LinkText',
|
||||
{ defaultMessage: 'configurable options' }
|
||||
|
@ -125,10 +122,7 @@ export const CloudSetupInstructions: React.FC<Props> = ({ productName, cloudDepl
|
|||
values={{
|
||||
productName,
|
||||
configurePolicyLink: (
|
||||
<EuiLink
|
||||
href={`${docLinks.cloudBase}/ec-configure-index-management.html`}
|
||||
target="_blank"
|
||||
>
|
||||
<EuiLink href={docLinks.cloudIndexManagement} target="_blank">
|
||||
{i18n.translate(
|
||||
'xpack.enterpriseSearch.setupGuide.cloud.step5.instruction1LinkText',
|
||||
{ defaultMessage: 'configure an index lifecycle policy' }
|
||||
|
|
|
@ -17,37 +17,36 @@ export const LOGOUT_ROUTE = '/logout';
|
|||
export const LEAVE_FEEDBACK_EMAIL = 'support@elastic.co';
|
||||
export const LEAVE_FEEDBACK_URL = `mailto:${LEAVE_FEEDBACK_EMAIL}?Subject=Elastic%20Workplace%20Search%20Feedback`;
|
||||
|
||||
export const DOCS_PREFIX = docLinks.workplaceSearchBase;
|
||||
export const PERMISSIONS_DOCS_URL = `${DOCS_PREFIX}/workplace-search-permissions.html`;
|
||||
export const DOCUMENT_PERMISSIONS_DOCS_URL = `${DOCS_PREFIX}/workplace-search-sources-document-permissions.html`;
|
||||
export const DOCUMENT_PERMISSIONS_SYNC_DOCS_URL = `${DOCUMENT_PERMISSIONS_DOCS_URL}#sources-permissions-synchronizing`;
|
||||
export const PRIVATE_SOURCES_DOCS_URL = `${PERMISSIONS_DOCS_URL}#organizational-sources-private-sources`;
|
||||
export const EXTERNAL_IDENTITIES_DOCS_URL = `${DOCS_PREFIX}/workplace-search-external-identities-api.html`;
|
||||
export const SECURITY_DOCS_URL = `${DOCS_PREFIX}/workplace-search-security.html`;
|
||||
export const SMTP_DOCS_URL = `${DOCS_PREFIX}/workplace-search-smtp-mailer.html`;
|
||||
export const BOX_DOCS_URL = `${DOCS_PREFIX}/workplace-search-box-connector.html`;
|
||||
export const CONFLUENCE_DOCS_URL = `${DOCS_PREFIX}/workplace-search-confluence-cloud-connector.html`;
|
||||
export const CONFLUENCE_SERVER_DOCS_URL = `${DOCS_PREFIX}/workplace-search-confluence-server-connector.html`;
|
||||
export const DROPBOX_DOCS_URL = `${DOCS_PREFIX}/workplace-search-dropbox-connector.html`;
|
||||
export const GITHUB_DOCS_URL = `${DOCS_PREFIX}/workplace-search-github-connector.html`;
|
||||
export const GITHUB_ENTERPRISE_DOCS_URL = `${DOCS_PREFIX}/workplace-search-github-connector.html`;
|
||||
export const GMAIL_DOCS_URL = `${DOCS_PREFIX}/workplace-search-gmail-connector.html`;
|
||||
export const GOOGLE_DRIVE_DOCS_URL = `${DOCS_PREFIX}/workplace-search-google-drive-connector.html`;
|
||||
export const JIRA_DOCS_URL = `${DOCS_PREFIX}/workplace-search-jira-cloud-connector.html`;
|
||||
export const JIRA_SERVER_DOCS_URL = `${DOCS_PREFIX}/workplace-search-jira-server-connector.html`;
|
||||
export const ONEDRIVE_DOCS_URL = `${DOCS_PREFIX}/workplace-search-onedrive-connector.html`;
|
||||
export const SALESFORCE_DOCS_URL = `${DOCS_PREFIX}/workplace-search-salesforce-connector.html`;
|
||||
export const SERVICENOW_DOCS_URL = `${DOCS_PREFIX}/workplace-search-servicenow-connector.html`;
|
||||
export const SHAREPOINT_DOCS_URL = `${DOCS_PREFIX}/workplace-search-sharepoint-online-connector.html`;
|
||||
export const SLACK_DOCS_URL = `${DOCS_PREFIX}/workplace-search-slack-connector.html`;
|
||||
export const ZENDESK_DOCS_URL = `${DOCS_PREFIX}/workplace-search-zendesk-connector.html`;
|
||||
export const CUSTOM_SOURCE_DOCS_URL = `${DOCS_PREFIX}/workplace-search-custom-api-sources.html`;
|
||||
export const CUSTOM_API_DOCS_URL = `${DOCS_PREFIX}/workplace-search-custom-sources-api.html`;
|
||||
export const CUSTOM_API_DOCUMENT_PERMISSIONS_DOCS_URL = `${CUSTOM_SOURCE_DOCS_URL}#custom-api-source-document-level-access-control`;
|
||||
export const ENT_SEARCH_LICENSE_MANAGEMENT = `${docLinks.enterpriseSearchBase}/license-management.html`;
|
||||
export const SYNCHRONIZATION_DOCS_URL = `${DOCS_PREFIX}}/workplace-search-customizing-indexing-rules.html#workplace-search-customizing-indexing-rules`;
|
||||
export const DIFFERENT_SYNC_TYPES_DOCS_URL = `${DOCS_PREFIX}}/workplace-search-customizing-indexing-rules.html#_indexing_schedule`;
|
||||
export const OBJECTS_AND_ASSETS_DOCS_URL = `${DOCS_PREFIX}}/workplace-search-customizing-indexing-rules.html#workplace-search-customizing-indexing-rules`;
|
||||
export const BOX_DOCS_URL = docLinks.workplaceSearchBox;
|
||||
export const CONFLUENCE_DOCS_URL = docLinks.workplaceSearchConfluenceCloud;
|
||||
export const CONFLUENCE_SERVER_DOCS_URL = docLinks.workplaceSearchConfluenceServer;
|
||||
export const CUSTOM_SOURCE_DOCS_URL = docLinks.workplaceSearchCustomSources;
|
||||
export const CUSTOM_API_DOCUMENT_PERMISSIONS_DOCS_URL =
|
||||
docLinks.workplaceSearchCustomSourcePermissions;
|
||||
export const DIFFERENT_SYNC_TYPES_DOCS_URL = docLinks.workplaceSearchIndexingSchedule;
|
||||
export const DOCUMENT_PERMISSIONS_DOCS_URL = docLinks.workplaceSearchDocumentPermissions;
|
||||
export const DROPBOX_DOCS_URL = docLinks.workplaceSearchDropbox;
|
||||
export const ENT_SEARCH_LICENSE_MANAGEMENT = docLinks.licenseManagement;
|
||||
export const EXTERNAL_IDENTITIES_DOCS_URL = docLinks.workplaceSearchExternalIdentities;
|
||||
export const GETTING_STARTED_DOCS_URL = docLinks.workplaceSearchGettingStarted;
|
||||
export const GITHUB_DOCS_URL = docLinks.workplaceSearchGitHub;
|
||||
export const GITHUB_ENTERPRISE_DOCS_URL = docLinks.workplaceSearchGitHub;
|
||||
export const GMAIL_DOCS_URL = docLinks.workplaceSearchGmail;
|
||||
export const GOOGLE_DRIVE_DOCS_URL = docLinks.workplaceSearchGoogleDrive;
|
||||
export const JIRA_DOCS_URL = docLinks.workplaceSearchJiraCloud;
|
||||
export const JIRA_SERVER_DOCS_URL = docLinks.workplaceSearchJiraServer;
|
||||
export const NATIVE_AUTH_DOCS_URL = docLinks.workplaceSearchNativeAuth;
|
||||
export const OBJECTS_AND_ASSETS_DOCS_URL = docLinks.workplaceSearchSynch;
|
||||
export const ONEDRIVE_DOCS_URL = docLinks.workplaceSearchOneDrive;
|
||||
export const PRIVATE_SOURCES_DOCS_URL = docLinks.workplaceSearchPermissions;
|
||||
export const SALESFORCE_DOCS_URL = docLinks.workplaceSearchSalesforce;
|
||||
export const SECURITY_DOCS_URL = docLinks.workplaceSearchSecurity;
|
||||
export const SERVICENOW_DOCS_URL = docLinks.workplaceSearchServiceNow;
|
||||
export const SHAREPOINT_DOCS_URL = docLinks.workplaceSearchSharePoint;
|
||||
export const SLACK_DOCS_URL = docLinks.workplaceSearchSlack;
|
||||
export const STANDARD_AUTH_DOCS_URL = docLinks.workplaceSearchStandardAuth;
|
||||
export const SYNCHRONIZATION_DOCS_URL = docLinks.workplaceSearchSynch;
|
||||
export const ZENDESK_DOCS_URL = docLinks.workplaceSearchZendesk;
|
||||
|
||||
export const PERSONAL_PATH = '/p';
|
||||
|
||||
|
|
|
@ -124,9 +124,9 @@ describe('OauthApplication', () => {
|
|||
`);
|
||||
});
|
||||
|
||||
/* This href test should ultimately use the docLinkServiceMock */
|
||||
it('renders description', () => {
|
||||
const wrapper = shallow(<OauthApplication />);
|
||||
|
||||
expect(wrapper.prop('pageHeader').description).toMatchInlineSnapshot(`
|
||||
<React.Fragment>
|
||||
<EuiText
|
||||
|
@ -137,7 +137,7 @@ describe('OauthApplication', () => {
|
|||
<EuiSpacer />
|
||||
<EuiLink
|
||||
external={true}
|
||||
href="/license-management.html"
|
||||
href=""
|
||||
target="_blank"
|
||||
>
|
||||
Explore Platinum features
|
||||
|
|
|
@ -15,19 +15,23 @@ import { WORKPLACE_SEARCH_PLUGIN } from '../../../../../common/constants';
|
|||
import { SetWorkplaceSearchChrome as SetPageChrome } from '../../../shared/kibana_chrome';
|
||||
import { SetupGuideLayout, SETUP_GUIDE_TITLE } from '../../../shared/setup_guide';
|
||||
import { SendWorkplaceSearchTelemetry as SendTelemetry } from '../../../shared/telemetry';
|
||||
import { DOCS_PREFIX } from '../../routes';
|
||||
import {
|
||||
GETTING_STARTED_DOCS_URL,
|
||||
NATIVE_AUTH_DOCS_URL,
|
||||
STANDARD_AUTH_DOCS_URL,
|
||||
} from '../../routes';
|
||||
|
||||
import GettingStarted from './assets/getting_started.png';
|
||||
|
||||
const GETTING_STARTED_LINK_URL = `${DOCS_PREFIX}/workplace-search-getting-started.html`;
|
||||
const GETTING_STARTED_LINK_URL = GETTING_STARTED_DOCS_URL;
|
||||
|
||||
export const SetupGuide: React.FC = () => {
|
||||
return (
|
||||
<SetupGuideLayout
|
||||
productName={WORKPLACE_SEARCH_PLUGIN.NAME}
|
||||
productEuiIcon="logoWorkplaceSearch"
|
||||
standardAuthLink={`${DOCS_PREFIX}/workplace-search-security.html#standard`}
|
||||
elasticsearchNativeAuthLink={`${DOCS_PREFIX}/workplace-search-security.html#elasticsearch-native-realm`}
|
||||
standardAuthLink={STANDARD_AUTH_DOCS_URL}
|
||||
elasticsearchNativeAuthLink={NATIVE_AUTH_DOCS_URL}
|
||||
>
|
||||
<SetPageChrome trail={[SETUP_GUIDE_TITLE]} />
|
||||
<SendTelemetry action="viewed" metric="setup_guide" />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue