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

[uiSettings] allow update of settings and/or permission management for uiSettings #94668

Open
pgayvallet opened this issue Mar 16, 2021 · 2 comments
Labels
enhancement New value added to drive a business result Feature:uiSettings impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:small Small Level of Effort old Used to help sort old issues on GH Projects which don't support the Created search term. Team:SharedUX Team label for AppEx-SharedUX (formerly Global Experience)

Comments

@pgayvallet
Copy link
Contributor

pgayvallet commented Mar 16, 2021

Part of #48925
Probably related to #17888

uiSettings can currently only be registered synchronously during the setup phase. Also, there is no way to update a given setting's definition once it has been registered.

It makes registering settings depending on runtime condition impossible. Also, there is no way to update a setting definition or to restrict its usage depending on a variable that may fluctuate in time, such as the license level or license validity.

One usage example would be #17298, were the banners plugin features are only enabled on gold and higher license. However currently, we don't have any way to specify that the associated ui settings should only be enabled or active when the license level match, meaning that the settings are active and displayed in the advanced settings management section even if the license conditions are not met.

The most generic solution seems to be to provide a way to update the settings definition after their registration. It could be done for example via an update API, or by providing an updater$ observable during the registration, which are both patterns already used in core's code.

Depending on the needs from #17888, we may also need to just enable permission handling on uiSettings (read/write), which may be complicated given that OSS code is only aware of capabilities and not of things such as the license level. Such feature would probably be leveraging a similar pattern than the CapabilitiesSwitcher we used for capabilities, to let plugins register more global updaters that can mutates all settings.

@pgayvallet pgayvallet added Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc Feature:uiSettings labels Mar 16, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-core (Team:Core)

@TinaHeiligers TinaHeiligers added EnableJiraSync impact:needs-assessment Product and/or Engineering needs to evaluate the impact of the change. loe:needs-research This issue requires some research before it can be worked on or estimated labels Feb 4, 2022
@exalate-issue-sync exalate-issue-sync bot added loe:small Small Level of Effort and removed loe:needs-research This issue requires some research before it can be worked on or estimated labels Feb 7, 2022
@lukeelmers lukeelmers added impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. enhancement New value added to drive a business result loe:needs-research This issue requires some research before it can be worked on or estimated and removed impact:needs-assessment Product and/or Engineering needs to evaluate the impact of the change. loe:small Small Level of Effort labels Mar 8, 2022
@exalate-issue-sync exalate-issue-sync bot added loe:small Small Level of Effort and removed loe:needs-research This issue requires some research before it can be worked on or estimated labels Mar 8, 2022
@majagrubic majagrubic added Team:SharedUX Team label for AppEx-SharedUX (formerly Global Experience) and removed Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc labels Feb 1, 2023
@elasticmachine
Copy link
Contributor

Pinging @elastic/appex-sharedux (Team:SharedUX)

@petrklapka petrklapka added the old Used to help sort old issues on GH Projects which don't support the Created search term. label Sep 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New value added to drive a business result Feature:uiSettings impact:low Addressing this issue will have a low level of impact on the quality/strength of our product. loe:small Small Level of Effort old Used to help sort old issues on GH Projects which don't support the Created search term. Team:SharedUX Team label for AppEx-SharedUX (formerly Global Experience)
Projects
None yet
Development

No branches or pull requests

7 participants