Skip to content

Conversation

@legrego
Copy link
Member

@legrego legrego commented Aug 3, 2020

Summary

Adds a new category property to each registered feature

The feature schema has been updated to require a category, which tells Kibana how to visually organize the various features.

This PR exclusively uses the DEFAULT_APP_CATEGORIES exposed by core for all registered features, but the schema will accept any category so long as it satisfies the underlying AppCategory interface.

Groups features by category for Spaces Management

The spaces management screen has been updated to take advantage of these categories. The old implementation displayed a flat table of features, and the ordering was not always predictable.

The updated interface organizes features according to the category in which they exist. Features can be toggled on/off independently as before, and users can also toggle entire categories.

image

Out of scope

  • The role management screen is out-of-scope for this PR, and will be addressed in a followup.
  • Additional design edits for spaces management are out-of-scope for this PR, and will be addressed in a followup as time permits.

elastic/eui#3881 prevents the categories from rendering an extraAction, which I would otherwise use to indicate that a section has x/y features enabled. I don't consider this a blocker for merge however.

Preview of docs changes: https://kibana_74151.docs-preview.app.elstc.co/guide/en/kibana/master/development-security.html

Relates: #72659
Resolves #54793

@legrego legrego added enhancement New value added to drive a business result Feature:Security/Spaces Platform Security - Spaces feature Feature:Security/Feature Controls Platform Security - Spaces & Role Mgmt feature controls Team:Security Platform Security: Auth, Users, Roles, Spaces, Audit Logging, etc t// v7.10.0 v8.0.0 labels Aug 3, 2020
@legrego legrego force-pushed the fc/grouped-features branch from 3318288 to dae6500 Compare August 14, 2020 15:52
@legrego legrego force-pushed the fc/grouped-features branch 3 times, most recently from 9fdacfa to 5acc79f Compare September 2, 2020 19:05
@legrego legrego force-pushed the fc/grouped-features branch 6 times, most recently from 5f35d8a to c392d66 Compare September 14, 2020 17:03
@legrego legrego force-pushed the fc/grouped-features branch from c392d66 to 856ef22 Compare September 14, 2020 18:29
Copy link
Member Author

@legrego legrego left a comment

Choose a reason for hiding this comment

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

Author's notes for reviewers

Copy link
Member Author

Choose a reason for hiding this comment

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

note: no functional changes to this view. This is a re-org to support future changes to the avatar customization

Copy link
Member Author

Choose a reason for hiding this comment

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

note: wrapping in <RedirectAppLinks> allows our links into the Role Management app to use client-side routing instead of forcing a full-page reload.

Copy link
Member Author

Choose a reason for hiding this comment

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

Discussed with the design team, and the decision was to add an icon for the Management section to be consistent with the other feature categories.

@legrego legrego marked this pull request as ready for review September 14, 2020 18:39
@legrego legrego requested review from a team as code owners September 14, 2020 18:39
@legrego legrego requested review from a team September 14, 2020 18:39
@legrego legrego requested a review from a team as a code owner September 14, 2020 18:39
@legrego legrego requested a review from a team September 14, 2020 18:39
@legrego legrego requested review from a team as code owners September 14, 2020 18:39
@sorenlouv
Copy link
Member

based on the discussions in that PR, it seems like it's meant to be a part of the "APM" feature, and not a true standalone feature. @sqren am I understanding this correctly? Do you have any suggestions on how we can make this clearer to end users?
@legrego

Client Side Monitoring (CSM) is currently technically located in the APM plugins folder but from a user perspective it's a separate app (still under Observability). In 7.11 we hope to move CSM out of APM so it also technically is a separate app.
Since the CSM app primarily relies on APM data it might make sense to keep it under APM from a permissions-point-of-view.

@shahzad31 WDYT?

@shahzad31
Copy link
Contributor

based on the discussions in that PR, it seems like it's meant to be a part of the "APM" feature, and not a true standalone feature. @sqren am I understanding this correctly? Do you have any suggestions on how we can make this clearer to end users?
@legrego

Client Side Monitoring (CSM) is currently technically located in the APM plugins folder but from a user perspective it's a separate app (still under Observability). In 7.11 we hope to move CSM out of APM so it also technically is a separate app.
Since the CSM app primarily relies on APM data it might make sense to keep it under APM from a permissions-point-of-view.

@shahzad31 WDYT?

@sorantis Yes it will keep following APM permission POV.

Once we have synthetic data it might change but for now. It will remain as is.

@jportner
Copy link
Contributor

it seems like it's meant to be a part of the "APM" feature, and not a true standalone feature.

@legrego @sqren Could we consider changing the display string for the "APM" feature to say "APM and Client Side Monitoring"? Then at least the user would see that the one feature is really enabling two applications in the main nav.

@legrego
Copy link
Member Author

legrego commented Sep 16, 2020

@elasticmachine merge upstream

@legrego
Copy link
Member Author

legrego commented Sep 16, 2020

@jportner CI is struggling right now, but this is otherwise ready for another review.

Note that EUI merged the bugfix I was waiting on, so 2ed14c5 (#74151) re-introduces the extraAction alongside each category with more than a single item.

Copy link
Member

@spong spong left a comment

Choose a reason for hiding this comment

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

Security changes LGTM -- thanks @legrego! 🙂

Copy link
Contributor

@andrewvc andrewvc 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 Uptime's side

@legrego
Copy link
Member Author

legrego commented Sep 17, 2020

@elasticmachine merge upstream

Copy link
Contributor

@jportner jportner left a comment

Choose a reason for hiding this comment

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

More feedback and optional nits

  • I like that you changed the "Enterprise Search" and "Management" categories so they're just a single checkbox!
  • I like the accordion's extraAction!
  • We could switch the order of the "Observability" features so they more closely match the order that's in the navigation pane (Logs, then Metrics, then APM and Client Side Monitoring, then Uptime)
  • It's not immediately clear what disabling "Built-In Alerts" does..?
  • Disabling "Actions" just disables the "Connectors" tab of the "Alerts and Actions" page... perhaps some of these features could use a tooltip describing what they are?
  • Disabling the "Management" category entirely (0 / 8 features visible) still leaves the "Stack Management" page visible in the navigation pane (see screenshot below); I understand this is intended, but it's going to be confusing for end-users. Maybe we could use a tooltip for this category as well?

image

@legrego
Copy link
Member Author

legrego commented Sep 17, 2020

We could switch the order of the "Observability" features so they more closely match the order that's in the navigation pane (Logs, then Metrics, then APM and Client Side Monitoring, then Uptime)

Good catch, sorry I missed that in the first review.

It's not immediately clear what disabling "Built-In Alerts" does..?

Hmm. @gmmorris would you expect this toggle to turn off "Index Threshold alerts" for the space?

Disabling "Actions" just disables the "Connectors" tab of the "Alerts and Actions" page... perhaps some of these features could use a tooltip describing what they are?

Not a bad idea. I'd like to place this in the "Additional design edits for spaces management are out-of-scope for this PR, and will be addressed in a followup as time permits." category, at least for now.

I really want to have time to group the features on the role management page in 7.10 as well, so that is my next ux focus for this grouping initiative. If I didn't have role management to work on as well, then I'd definitely consider this now.

Disabling the "Management" category entirely (0 / 8 features visible) still leaves the "Stack Management" page visible in the navigation pane (see screenshot below); I understand this is intended, but it's going to be confusing for end-users. Maybe we could use a tooltip for this category as well?

Also a good idea. I don't yet know how to solve this holistically with my current approach, so I might 🙈 band-aid this for the time being by looking for this category explicitly, and rendering it differently.

Copy link
Contributor

@jportner jportner left a comment

Choose a reason for hiding this comment

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

LGTM

@kibanamachine
Copy link
Contributor

💚 Build Succeeded

Build metrics

@kbn/optimizer bundle module count

id value diff baseline
spaces 227 -1 228

page load bundle size

id value diff baseline
core 1.2MB +28.0B 1.2MB
features 15.8KB +65.0B 15.8KB
spaces 489.6KB +995.0B 488.7KB
total +1.1KB

History

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

@legrego
Copy link
Member Author

legrego commented Sep 18, 2020

Doc updates (screenshots, etc) will follow after role management is updated as well

@legrego legrego merged commit 9f3992f into elastic:master Sep 18, 2020
@legrego legrego deleted the fc/grouped-features branch September 18, 2020 16:31
legrego added a commit that referenced this pull request Sep 18, 2020
* Grouped features for space management

* Apply suggestions from code review

Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>

* Address PR Feedback

* docs changes

* updating types/docs

* update APM feature name

* Reintroduce extraAction following EUI update

* change ordering of infra features, and render callout for management category

Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>

Co-authored-by: Joe Portner <5295965+jportner@users.noreply.github.com>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature:Security/Feature Controls Platform Security - Spaces & Role Mgmt feature controls Feature:Security/Spaces Platform Security - Spaces feature release_note:enhancement Team:APM - DEPRECATED Use Team:obs-ux-infra_services. Team:Fleet Team label for Observability Data Collection Fleet team Team:Security Platform Security: Auth, Users, Roles, Spaces, Audit Logging, etc t// Team:Uptime - DEPRECATED Synthetics & RUM sub-team of Application Observability v7.10.0 v8.0.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Grouped Space Management features