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

[Security solution] A/B Testing for Guided Onboarding content #163739

Merged
merged 17 commits into from
Sep 13, 2023

Conversation

stephmilovic
Copy link
Contributor

@stephmilovic stephmilovic commented Aug 11, 2023

Summary

Docs team requested engineering assistance to implement a new A/B Test: https://github.com/elastic/ux-writing/issues/35

Adds a new property for a LaunchDarkly A/B Test: security-solutions.guided-onboarding-content. The property returns a json object with values that correspond to the security guided onboarding steps

To test:

Start by testing with the flag off:

  1. Make sure you have cloud enabled (xpack.cloud.id: 'test')
  2. Click the "Setup guides" button in the top right corner of Kibana or navigate to /app/home#/getting_started
  3. Click "Detect threats in my data with SIEM"
  4. The tour step opens. Note that the title is "Detect threats in my data with SIEM"
off

Turn the flag on:

  1. Now enter these settings into your dev yml
  2. Refresh the tour page.
  3. Click "Detect threats in my data with SIEM" to open the tour step
  4. Note that the title on the tour step is now "Detect threats in my data with Security Solution"
on

@stephmilovic stephmilovic added release_note:skip Skip the PR/issue when compiling release notes Team:Threat Hunting Security Solution Threat Hunting Team Team: SecuritySolution Security Solutions Team working on SIEM, Endpoint, Timeline, Resolver, etc. v8.11.0 labels Aug 11, 2023
@stephmilovic stephmilovic marked this pull request as ready for review August 15, 2023 16:55
@stephmilovic stephmilovic requested review from a team as code owners August 15, 2023 16:55
@elasticmachine
Copy link
Contributor

Pinging @elastic/security-threat-hunting (Team:Threat Hunting)

@elasticmachine
Copy link
Contributor

Pinging @elastic/security-solution (Team: SecuritySolution)

/**
* Register a config for the security guide
*/
if (depsStart.cloudExperiments && i18n.getLocale() === 'en') {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@afharo I've updated to only run the A/B test when the locale is english

Copy link
Member

Choose a reason for hiding this comment

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

nice! thanks!

@stephmilovic stephmilovic requested a review from afharo August 16, 2023 17:29
@stephmilovic
Copy link
Contributor Author

@elasticmachine merge upstream

@stephmilovic
Copy link
Contributor Author

@elasticmachine merge upstream

@stephmilovic
Copy link
Contributor Author

@elasticmachine merge upstream

Copy link
Member

@afharo afharo left a comment

Choose a reason for hiding this comment

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

Core changes LGTM

@stephmilovic
Copy link
Contributor Author

@elasticmachine merge upstream

Copy link
Contributor

@angorayc angorayc left a comment

Choose a reason for hiding this comment

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

Tested locally, LGTM! Thanks @stephmilovic !

@stephmilovic
Copy link
Contributor Author

@elasticmachine merge upstream

@stephmilovic
Copy link
Contributor Author

@elasticmachine merge upstream

@kibana-ci
Copy link
Collaborator

💚 Build Succeeded

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
securitySolution 4512 4513 +1

Page load bundle

Size of the bundles that are downloaded on every page load. Target size is below 100kb

id before after diff
cloudExperiments 6.9KB 7.0KB +97.0B

History

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

@stephmilovic stephmilovic merged commit dac736c into elastic:main Sep 13, 2023
@kibanamachine kibanamachine added the backport:skip This commit does not require backporting label Sep 13, 2023
angorayc added a commit that referenced this pull request May 28, 2024
## Summary

Fixes #181190
Relevant PRs: #143598 |
#163739


### Steps to Verify: 
1. Entering
[these](https://p.elstc.co/paste/sEmk++Tb#mjwuX7IN8hIN+kOy5gdtfweQNi9sUl+4lVRAewc6hR+)
in your kibana.dev.yml
2. Execute this command to set the Guided onboarding steps to
alertsCases
```
curl --location --request PUT 'http://localhost:5601/internal/guided_onboarding/state' \
--header 'kbn-xsrf: cypress-creds' \
--header 'x-elastic-internal-origin: security-solution' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic {YOUR_AUTH_TOKEN}' \.    // If you are using Postman just fill in the Auth tab
--data '{
  "status": "in_progress",
  "guide": {
    "isActive": true,
    "status": "in_progress",
    "steps": [
      { "id": "add_data", "status": "complete" },
      { "id": "rules", "status": "complete" },
      { "id": "alertsCases", "status": "active" }
    ],
    "guideId": "siem"
  }
}'
```
3. Make sure you have alerts available.
4. To test the old flyout with Guided onboarding tour, please go to
Stack Management > Advanced settings > Expandable flyout **OFF**

### It compatible with the new expandable flyout:
1. It shows `expandable flyout tour` when the guided onboarding tour is
**not enabled**.
3. The first two steps should be `hidden` when the `left` expandable is
opened.
5. Most of the guided onboarding tour steps should be hidden when `Add
to new case` flyout or `Add to existing case` modal opened.
6. Once the test case is created, the `insight section` and `correlation
tab` should be opened automatically to fetch cases.
7. `expandable flyout tour` should be visible again after the guided
onboarding tour is finished.






https://github.com/elastic/kibana/assets/6295984/b19bfce9-ec02-4291-b616-e24d3e984a03






### It compatible with the old flyout: 




https://github.com/elastic/kibana/assets/6295984/b10b8bdf-e159-4663-b455-1f4541358a11


### Checklist

Delete any items that are not applicable to this PR.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios

---------

Co-authored-by: Sergi Massaneda <sergi.massaneda@elastic.co>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
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: SecuritySolution Security Solutions Team working on SIEM, Endpoint, Timeline, Resolver, etc. Team:Threat Hunting Security Solution Threat Hunting Team v8.11.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants