Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tech preview label for search applications #155649

Merged
merged 7 commits into from
Apr 26, 2023

Conversation

ioanatia
Copy link
Contributor

Adds a tech preview popover and acknowledgement for search applications.
The popover is visible on mouse hover.

On platinum+/trial:

Screenshot 2023-04-24 at 18 12 56

Screenshot 2023-04-24 at 18 13 08

Screenshot 2023-04-24 at 18 19 10

other licenses (e.g. basic):
Screenshot 2023-04-24 at 18 18 38

@ioanatia ioanatia added release_note:skip Skip the PR/issue when compiling release notes Team:EnterpriseSearch v8.8.0 labels Apr 24, 2023
@@ -120,34 +120,6 @@ describe('EnginesList', () => {

describe('CreateEngineButton', () => {
describe('disabled={true}', () => {
it('renders a disabled button that shows a popover when focused', () => {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I repurposed the popover for the platinum license acknowledgement based on the design.
The initial platinum license popover was only visible when not on an platinum+/trial license (and hidden on trial/platinum+)
The Create Search Application would also be disabled when not on platinum+/trial.
Because the popover is now visible regardless of the license level and whether the create button is disabled, I removed part of the tests.

@ioanatia ioanatia marked this pull request as ready for review April 24, 2023 19:10
Copy link
Member

@kderusso kderusso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

<EuiFlexGroup direction="column">
<EuiFlexItem grow>
<EuiCallOut title="Technical Preview feature" color="warning" iconType="beaker">
<p>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

title and description are missing translations. Guide on how to do + some examples below of how i18n util is used.

@@ -81,21 +80,18 @@ export const CreateEngineButton: React.FC<CreateEngineButtonProps> = ({ disabled
>
<EuiPopoverTitle>
<FormattedMessage
id="xpack.enterpriseSearch.content.searchApplications.createEngineDisabledPopover.title"
defaultMessage="Platinum only feature"
id="xpack.enterpriseSearch.content.searchApplications.createEngineTechnicalPreviewPopover.title"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

run node scripts/i18n_check --fix for updating removed i18n messages if they have been translated already.

@julianrosado
Copy link
Contributor

@ioanatia Thanks for getting this up so fast! Some feedback

  1. Is it possible to add the badge on top of the title like the original design? This is proposed to be used in other features like that, so if it's not technically feasible then I'd like to flag! I don't think having a tooltip on the button is strong enough to let people know it's in tech preview.

CleanShot 2023-04-24 at 16 32 23

1b. If the badge is not possible for some reason, then I'd want to copy over the callout from the flyout and have it sit below the platinum license gate callout.

CleanShot 2023-04-24 at 16 34 23


  1. Small copy changes for "Search Applications" consistency courtesy of @leemthompo and UX simplicity courtesy of me!:
  • For the header:

Search Applications help make your Elasticsearch data searchable for end users, with out-of-the-box relevance, analytics and personalization tools.To learn more about how search applications work in Enterprise Search explore our Search Applications documentation.

  • For the empty state title:

Create your first search application

(and remove the copy below that title, just title + button)

CleanShot 2023-04-24 at 16 37 31

  • For all button instances (to shorten those bad boys up):

"Create Search Application" -> "Create"

CleanShot 2023-04-24 at 16 37 54

  • In the flyout subhead, reduce text down to:

Explore our Search Applications documentation to learn more.

  • In the flyout step 2:

Name your search application

  • In the flyout step 2 placeholder text:

Search application name


  1. Small nice to have nitpick: Can the popover with technical preview title have the beaker icon to make it in line with the badge and callout box versions?

CleanShot 2023-04-24 at 16 41 52

@julianrosado
Copy link
Contributor

Per Nick and Serena feedback, if we can do the above then we can lose the paragraph below the popover too!

<FormattedMessage
id="xpack.enterpriseSearch.content.searchApplications.createEngineTechnicalPreviewPopover.title"
defaultMessage="Technical Preview"
/>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure why (in your screenshot) there is so much space between the icon and the title text but wanted to flag

CleanShot 2023-04-25 at 09 21 05

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks like the space is controlled by gutterSize TIL
should look a bit more decent now:

Screenshot 2023-04-25 at 17 23 32

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That works for me Ioana!

Copy link
Contributor

@sloanelybutsurely sloanelybutsurely left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just one note about keyboard navigability

closePopover={() => setShowPopover(false)}
button={
<div
data-test-subj="create-engine-button-hover-target"
onMouseEnter={() => setShowPopover(true)}
onFocus={() => setShowPopover(true)}
onMouseLeave={() => setShowPopover(false)}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we may still want a focus event for users navigating with a keyboard

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, we should definitely have that. I am also concerned about other potential accessibility issues here. Does the popover announce its presence when opened? Does tabIndex 0 make sense in the context of this page? Does onFocus get triggered when someone tabs to the button, or only when it tabs to the div?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll get these fixed in a follow up PR. thanks for the feedback

@kibana-ci
Copy link
Collaborator

💚 Build Succeeded

Metrics [docs]

Async chunks

Total size of all lazy-loaded chunks that will be downloaded as the user navigates the app

id before after diff
enterpriseSearch 2.3MB 2.3MB -4.0KB
Unknown metric groups

ESLint disabled line counts

id before after diff
enterpriseSearch 17 19 +2
securitySolution 396 399 +3
total +5

Total ESLint disabled count

id before after diff
enterpriseSearch 18 20 +2
securitySolution 476 479 +3
total +5

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@ioanatia ioanatia merged commit 783c893 into elastic:main Apr 26, 2023
@kibanamachine kibanamachine added the backport:skip This commit does not require backporting label Apr 26, 2023
jloleysens added a commit to jloleysens/kibana that referenced this pull request Apr 26, 2023
* main: (1294 commits)
  [SecuritySolution] Refactor security packages (elastic#155365)
  [Discover] Show "Temporary" badge for ad-hoc data views in Alerts flyout (elastic#155717)
  [RAM] Conditional actions feedback on pr review (elastic#155804)
  [Files] Adds bulk delete method (elastic#155628)
  [Lens] Use proper way to generate absolute short URL (elastic#155512)
  [Guided onboarding] Use Kibana features to grant access (elastic#155065)
  [Index Management] Fix duped mock (elastic#155844)
  [Lens] Enhance visualization modifier popup with layer palette (elastic#155280)
  Fix flaky combobox tests on role management screen (elastic#155711)
  [Infrastructure UI] Create InventoryViewsService and InventoryViewsClient (elastic#155126)
  [Fleet] always create agent upload write indices (elastic#155729)
  [Fleet] [Cloud Security Posture] Add CloudFormation agent install method (elastic#155045)
  Add tech preview label for search applications (elastic#155649)
  [ML] AIOps: Stabilize flaky functional tests. (elastic#155710)
  [ES UI Shared] Migrate JsonEditor to monaco (elastic#155610)
  [Security Solution] Fixes security_solution storybooks always rendering in a flyout (elastic#155814)
  [Synthetics] Make error popover disappear `onMouseLeave` of metric item card (elastic#155800)
  Remove Exploratory View components from Observability (elastic#155629)
  [Discover] Remove redundant "Filter was added" toast (elastic#155645)
  [RAM][Security Solution][Alerts] Support the ability to trigger a rule action per alert generated (elastic#153611) (elastic#155384)
  ...
<EuiCallOut title="Technical Preview feature" color="warning" iconType="beaker">
<FormattedMessage
id="xpack.enterpriseSearch.content.engines.createEngine.technicalPreviewCallOut.title"
defaultMessage="This functionality is in technical preview and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but features in technical preview are not subject to the support SLA of official GA features."
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we quickly change this to say:

This functionality may be changed or removed completely in a future release.

To make it less wordy

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just realized this was in the wrong place, need this for the popover, not the callout. Callout is fine as is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backport:skip This commit does not require backporting release_note:skip Skip the PR/issue when compiling release notes Team:EnterpriseSearch v8.8.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants