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

Assign Roles to Space from Spaces Management #191795

Merged
merged 242 commits into from
Sep 23, 2024
Merged

Conversation

tsullivan
Copy link
Member

@tsullivan tsullivan commented Aug 30, 2024

Summary

Epic link: https://github.com/elastic/kibana-team/issues/785

This changes bring a new design to the management of Spaces in Stack Management / Security. We have a new page to view the details of the Space, and new UX to assign Roles to a Space.

Release Note

Added several UX improvements to the management of Spaces in Stack Management > Spaces, including the ability to assign Roles to an existing Space.

Checklist

Delete any items that are not applicable to this PR.

tsullivan and others added 30 commits June 3, 2024 14:17
Warnings suppression

Add tabs

header grid and tabs

Settings button

fix Switch button

getContentForSpace

Enabled features

Assigned roles

View space tabs

useTabs hook

enabledFeatureCount / totalFeatureCount

Count of assigned roles

Assign role button

working routing for selected tab

Content tab: map app names for display and icon

New Security Management page: View Space

Warnings suppression

Add tabs

header grid and tabs

getContentForSpace

Enabled features

View space tabs

useTabs hook

Assign role button
display switch to space only when space is not active space
@kibanamachine
Copy link
Contributor

Flaky Test Runner Stats

🎉 All tests passed! - kibana-flaky-test-suite-runner#6953

[✅] x-pack/test/functional/apps/spaces/config.ts: 50/50 tests passed.
[✅] x-pack/test/functional/apps/spaces/solution_view_flag_enabled/config.ts: 50/50 tests passed.

see run history

Copy link
Contributor

@elena-shostak elena-shostak left a comment

Choose a reason for hiding this comment

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

LGTM from my side! 🥇 Great job!

@kibana-ci
Copy link
Collaborator

kibana-ci commented Sep 23, 2024

💔 Build Failed

Failed CI Steps

Test Failures

  • [job] [logs] Jest Tests #9 / Create renders correctly with optional fields
  • [job] [logs] FTR Configs #98 / discover/context_awareness extension getDocViewer data view mode should not render logs overview tab for non-logs data source

Metrics [docs]

Module Count

Fewer modules leads to a faster build time

id before after diff
spaces 272 332 +60

Public APIs missing comments

Total count of every public API that lacks a comment. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats comments for more detailed information.

id before after diff
@kbn/security-plugin-types-public 31 39 +8
@kbn/security-ui-components 12 13 +1
spaces 67 71 +4
total +13

Async chunks

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

id before after diff
security 590.0KB 591.2KB +1.2KB
spaces 184.2KB 256.6KB +72.4KB
total +73.6KB

Public APIs missing exports

Total count of every type that is part of your API that should be exported but is not. This will cause broken links in the API documentation system. Target amount is 0. Run node scripts/build_api_docs --plugin [yourplugin] --stats exports for more detailed information.

id before after diff
spaces 0 1 +1

Page load bundle

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

id before after diff
security 67.4KB 67.6KB +246.0B
spaces 29.8KB 30.8KB +1.0KB
total +1.3KB
Unknown metric groups

API count

id before after diff
@kbn/security-plugin-types-public 58 66 +8
@kbn/security-ui-components 47 48 +1
spaces 262 266 +4
total +13

async chunk count

id before after diff
spaces 11 16 +5

History

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

cc @tsullivan @eokoneyo

Copy link
Contributor

@kc13greiner kc13greiner left a comment

Choose a reason for hiding this comment

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

LGTM - very cool new features!!

<EuiButtonEmpty onClick={onClickCancel} data-test-subj="cancel-space-button">
<FormattedMessage
id="xpack.spaces.management.spaceDetails.footerActions.cancel"
defaultMessage="Cancel"
Copy link
Contributor

Choose a reason for hiding this comment

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

papercut: The cancel feels so far away, it took me a minute to realize that is the only way back to the Spaces management screen (other than back)

disclaimer: I am not a UX expert and I my work monitor is wide, so maybe this is just a me problem

Copy link
Contributor

Choose a reason for hiding this comment

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

Screenshot 2024-09-23 at 2 01 58 PM

Copy link
Member Author

Choose a reason for hiding this comment

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

@kc13greiner this issue is resolved in a followup PR: #193923

@tsullivan tsullivan merged commit fb9700c into main Sep 23, 2024
29 of 30 checks passed
@tsullivan tsullivan deleted the spaces/assign-roles-to-space branch September 23, 2024 19:13
kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Sep 23, 2024
## Summary

Epic link: elastic/kibana-team#785

This changes bring a new design to the management of Spaces in Stack
Management / Security. We have a new page to view the details of the
Space, and new UX to assign Roles to a Space.

### Release Note
Added several UX improvements to the management of Spaces in **Stack
Management > Spaces**, including the ability to assign Roles to an
existing Space.

### Checklist

Delete any items that are not applicable to this PR.

- [x] Use flaky test runner on changed functional tests:
https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/6953
- [x] Create test for the ability to change space avatar from `initials`
to `image` and vice versa
- [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
- [x] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [x] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [x] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [x] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

---------

Co-authored-by: kibanamachine <[email protected]>
Co-authored-by: Eyo Okon Eyo <[email protected]>
Co-authored-by: Elastic Machine <[email protected]>
Co-authored-by: Aleh Zasypkin <[email protected]>
(cherry picked from commit fb9700c)
@kibanamachine
Copy link
Contributor

💚 All backports created successfully

Status Branch Result
8.x

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

kibanamachine added a commit that referenced this pull request Sep 23, 2024
# Backport

This will backport the following commits from `main` to `8.x`:
- [Assign Roles to Space from Spaces Management
(#191795)](#191795)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Tim
Sullivan","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-09-23T19:13:56Z","message":"Assign
Roles to Space from Spaces Management (#191795)\n\n##
Summary\r\n\r\nEpic link:
https://github.com/elastic/kibana-team/issues/785\r\n\r\nThis changes
bring a new design to the management of Spaces in Stack\r\nManagement /
Security. We have a new page to view the details of the\r\nSpace, and
new UX to assign Roles to a Space.\r\n\r\n### Release Note\r\nAdded
several UX improvements to the management of Spaces in
**Stack\r\nManagement > Spaces**, including the ability to assign Roles
to an\r\nexisting Space.\r\n\r\n### Checklist\r\n\r\nDelete any items
that are not applicable to this PR.\r\n\r\n- [x] Use flaky test runner
on changed functional
tests:\r\nhttps://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/6953\r\n-
[x] Create test for the ability to change space avatar from
`initials`\r\nto `image` and vice versa\r\n- [x] Any text added follows
[EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n-
[x] [Unit or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [x] Any UI
touched in this PR is usable by keyboard only (learn more\r\nabout
[keyboard accessibility](https://webaim.org/techniques/keyboard/))\r\n-
[x] Any UI touched in this PR does not create any new axe
failures\r\n(run axe in
browser:\r\n[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),\r\n[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))\r\n-
[x] This renders correctly on smaller devices using a
responsive\r\nlayout. (You can test this [in
your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))\r\n-
[x] This was checked for
[cross-browser\r\ncompatibility](https://www.elastic.co/support/matrix#matrix_browsers)\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<[email protected]>\r\nCo-authored-by: Eyo
Okon Eyo <[email protected]>\r\nCo-authored-by: Elastic Machine
<[email protected]>\r\nCo-authored-by: Aleh
Zasypkin
<[email protected]>","sha":"fb9700caa097dbdac310f8fd3a387b8d218a7428","branchLabelMapping":{"^v9.0.0$":"main","^v8.16.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:enhancement","Team:Security","v9.0.0","ci:cloud-deploy","v8.16.0","backport:version"],"title":"Assign
Roles to Space from Spaces
Management","number":191795,"url":"https://github.com/elastic/kibana/pull/191795","mergeCommit":{"message":"Assign
Roles to Space from Spaces Management (#191795)\n\n##
Summary\r\n\r\nEpic link:
https://github.com/elastic/kibana-team/issues/785\r\n\r\nThis changes
bring a new design to the management of Spaces in Stack\r\nManagement /
Security. We have a new page to view the details of the\r\nSpace, and
new UX to assign Roles to a Space.\r\n\r\n### Release Note\r\nAdded
several UX improvements to the management of Spaces in
**Stack\r\nManagement > Spaces**, including the ability to assign Roles
to an\r\nexisting Space.\r\n\r\n### Checklist\r\n\r\nDelete any items
that are not applicable to this PR.\r\n\r\n- [x] Use flaky test runner
on changed functional
tests:\r\nhttps://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/6953\r\n-
[x] Create test for the ability to change space avatar from
`initials`\r\nto `image` and vice versa\r\n- [x] Any text added follows
[EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n-
[x] [Unit or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [x] Any UI
touched in this PR is usable by keyboard only (learn more\r\nabout
[keyboard accessibility](https://webaim.org/techniques/keyboard/))\r\n-
[x] Any UI touched in this PR does not create any new axe
failures\r\n(run axe in
browser:\r\n[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),\r\n[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))\r\n-
[x] This renders correctly on smaller devices using a
responsive\r\nlayout. (You can test this [in
your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))\r\n-
[x] This was checked for
[cross-browser\r\ncompatibility](https://www.elastic.co/support/matrix#matrix_browsers)\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<[email protected]>\r\nCo-authored-by: Eyo
Okon Eyo <[email protected]>\r\nCo-authored-by: Elastic Machine
<[email protected]>\r\nCo-authored-by: Aleh
Zasypkin
<[email protected]>","sha":"fb9700caa097dbdac310f8fd3a387b8d218a7428"}},"sourceBranch":"main","suggestedTargetBranches":["8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/191795","number":191795,"mergeCommit":{"message":"Assign
Roles to Space from Spaces Management (#191795)\n\n##
Summary\r\n\r\nEpic link:
https://github.com/elastic/kibana-team/issues/785\r\n\r\nThis changes
bring a new design to the management of Spaces in Stack\r\nManagement /
Security. We have a new page to view the details of the\r\nSpace, and
new UX to assign Roles to a Space.\r\n\r\n### Release Note\r\nAdded
several UX improvements to the management of Spaces in
**Stack\r\nManagement > Spaces**, including the ability to assign Roles
to an\r\nexisting Space.\r\n\r\n### Checklist\r\n\r\nDelete any items
that are not applicable to this PR.\r\n\r\n- [x] Use flaky test runner
on changed functional
tests:\r\nhttps://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/6953\r\n-
[x] Create test for the ability to change space avatar from
`initials`\r\nto `image` and vice versa\r\n- [x] Any text added follows
[EUI's
writing\r\nguidelines](https://elastic.github.io/eui/#/guidelines/writing),
uses\r\nsentence case text and includes
[i18n\r\nsupport](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)\r\n-
[x] [Unit or
functional\r\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\r\nwere
updated or added to match the most common scenarios\r\n- [x] Any UI
touched in this PR is usable by keyboard only (learn more\r\nabout
[keyboard accessibility](https://webaim.org/techniques/keyboard/))\r\n-
[x] Any UI touched in this PR does not create any new axe
failures\r\n(run axe in
browser:\r\n[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),\r\n[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))\r\n-
[x] This renders correctly on smaller devices using a
responsive\r\nlayout. (You can test this [in
your\r\nbrowser](https://www.browserstack.com/guide/responsive-testing-on-local-server))\r\n-
[x] This was checked for
[cross-browser\r\ncompatibility](https://www.elastic.co/support/matrix#matrix_browsers)\r\n\r\n---------\r\n\r\nCo-authored-by:
kibanamachine
<[email protected]>\r\nCo-authored-by: Eyo
Okon Eyo <[email protected]>\r\nCo-authored-by: Elastic Machine
<[email protected]>\r\nCo-authored-by: Aleh
Zasypkin
<[email protected]>","sha":"fb9700caa097dbdac310f8fd3a387b8d218a7428"}},{"branch":"8.x","label":"v8.16.0","branchLabelMappingKey":"^v8.16.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Tim Sullivan <[email protected]>
tsullivan added a commit that referenced this pull request Oct 1, 2024
## Summary

Follows #191795

* Minor content updates to Spaces Management
* [spaces grid] More space for "description" column in Spaces Grid
* [create space and edit space] Add "New" badge to Solution View picker
* [create space and edit space] Move avatar section down
* [create space] Remove the edit/update functionality from the Create
Space page
* [create space] Only show the Feature Visibility section if the
selected solution is `classic`
* [edit space] Rearrange the footer icons in the General tab
* [edit space] Show callout when classic is selected by default
* [edit space] Update the action icons shown on hover on the Assigned
Roles table

### 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)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [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
- [X] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [X] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)
kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Oct 1, 2024
)

## Summary

Follows elastic#191795

* Minor content updates to Spaces Management
* [spaces grid] More space for "description" column in Spaces Grid
* [create space and edit space] Add "New" badge to Solution View picker
* [create space and edit space] Move avatar section down
* [create space] Remove the edit/update functionality from the Create
Space page
* [create space] Only show the Feature Visibility section if the
selected solution is `classic`
* [edit space] Rearrange the footer icons in the General tab
* [edit space] Show callout when classic is selected by default
* [edit space] Update the action icons shown on hover on the Assigned
Roles table

### 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)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [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
- [X] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [X] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)

(cherry picked from commit 3f90156)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8.17 candidate backport:version Backport to applied version labels ci:cloud-deploy Create or update a Cloud deployment release_note:enhancement Team:Security Team focused on: Auth, Users, Roles, Spaces, Audit Logging, and more! v8.16.0 v9.0.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants