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] Support deprecations API #103010

Open
TinaHeiligers opened this issue Jun 22, 2021 · 10 comments
Open

[uiSettings] Support deprecations API #103010

TinaHeiligers opened this issue Jun 22, 2021 · 10 comments
Labels
enhancement New value added to drive a business result Feature:Kibana Management Feature label for Data Views, Advanced Setting, Saved Object management pages Feature:uiSettings impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. loe:large Large Level of Effort NeededFor:VisEditors 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

@TinaHeiligers
Copy link
Contributor

TinaHeiligers commented Jun 22, 2021

Today, we support the ability to mark a uiSetting as deprecated, which will surface a tooltip in the UI, however, we don't provide access to the deprecations API so that usages of these deprecated settings can be provided as part of the upgrade assistant.

We should look into a way to provide access to the deprecations API from uiSettings so that devs can give users more visibility into usage of deprecated settings.

Ideally we look into this at the same time as #123257 in case we can provide one solution to address both issues

@TinaHeiligers TinaHeiligers added Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc Feature:Kibana Management Feature label for Data Views, Advanced Setting, Saved Object management pages Feature:uiSettings labels Jun 22, 2021
@elasticmachine
Copy link
Contributor

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

@lukeelmers
Copy link
Member

I have no answers, just more questions 🙂

They mostly boil down to: what does it look like to deprecate a uiSetting?

Are we talking about:

  • Marking a setting as deprecated in the UI with some explanation?
  • Scanning SOs for the presence of deprecated settings so we can integrate with the deprecations service and surface them in upgrade assistant?
  • Adding a mechanism to register migrations for settings that have been deprecated, so they can be removed from the SOs? (Currently there isn't a way to do this without adding a migration directly to core)
  • Some combination of the above?

If teams are wanting to deprecate items for removal in 8.0, this is something we'll probably need to figure out soon.

@TinaHeiligers
Copy link
Contributor Author

TinaHeiligers commented Jun 22, 2021

I think we'll end up with a combination of those. In fact, we actually have items that will need to be addressed first anyway.

For example:

  • Marking a setting as deprecated in the UI with some explanation?

We could surface the deprecation warnings in a similar manner as the upgrade assistant, but initially maybe adding docs with those would be enough?

  • Scanning SOs for the presence of deprecated settings so we can integrate with the deprecations service and surface them in upgrade assistant?

Those would be great to have but maybe more of an enhancement later?

I think we'll need to split #48925 up into phases and start addressing dependencies to get through all the work.

@timroes
Copy link
Contributor

timroes commented Jun 23, 2021

Thanks for the issue. A couple of notes:

Marking a setting as deprecated in the UI with some explanation?

This is already possible and exists. You can mark any advanced setting in the UI as Deprecated with a tooltip, and link.

Our need would especially be a deprecation node in the server log when starting up Kibana, IF the setting is still used (i.e. not the default value) in any existing space, so we can raise awareness for administrators that a deprecated setting is still used, who might not go to every spaces advanced setting page regularily.

@Bamieh
Copy link
Member

Bamieh commented Jun 25, 2021

@timroes can we rely solely on the UA for this rather than using server logs to admins?

  1. Users would see deprecated ui settings relevant to their access level and only the ones changed.
  2. We expect our users on cloud to use the UA for upgrades (and all users for that matter right?).
  3. It would solve our issue with having to query all spaces to grab non default settings

@timroes
Copy link
Contributor

timroes commented Jun 28, 2021

@Bamieh From my latest understanding the Upgrade Assistant is only working for major version upgrades? Thus not use-ful for our need here, where we're deprecating and removing advanced settings within a couple of minors. If the UA is useful also for minor upgrades we def (also?) want to link into this.

@Bamieh
Copy link
Member

Bamieh commented Jun 29, 2021

@timroes That is true UA is in read-only mode during minor upgrades so it is not useful for us here.

@mshustov
Copy link
Contributor

mshustov commented Jul 7, 2021

IF the setting is still used (i.e. not the default value) in any existing space, so we can raise awareness for administrators that a deprecated setting is still used, who might not go to every spaces advanced setting page regularily.

Do we really need to bother admins every time IF the setting is still used ?

I can see several different cases:

  • a setting is removed. Kibana can ignore the setting or remove it on its own. No additional actions are required.
  • a setting is not registered because a plugin-owner is disabled. Kibana might ignore the setting. Let's don't clutter up the console with un-actionable messages.
  • setting parameters have been changed. Kibana should do its best to convert the saved setting value without user intervention. We might need to notify the user only if the setting cannot be changed in a compatible manner.

@timroes
Copy link
Contributor

timroes commented Jul 14, 2021

We actually DO change that setting technically without any problems. The point is, that we're removing settings that might have an effect on how that Kibana behaves (in this case where we need it, because we remove the legacy chart implementations, that they are still using). So in terms of make-it-minor and making breaking changes and removing stuff like that in a minor version, we feel it's best that we at least announce usage of those deprecated flags in the console before we're removing them altogether and from one minor to another the behavior e.g. of charts might just change (i.e. they might look different).

cc @timductive @stratoula (as the ones driving the removal of our old chart implementations)

@TinaHeiligers TinaHeiligers added EnableJiraSync loe:needs-research This issue requires some research before it can be worked on or estimated impact:needs-assessment Product and/or Engineering needs to evaluate the impact of the change. labels Jan 18, 2022
@exalate-issue-sync exalate-issue-sync bot added loe:small Small Level of Effort loe:x-large Extra Large Level of Effort and removed loe:needs-research This issue requires some research before it can be worked on or estimated loe:small Small Level of Effort labels Feb 4, 2022
@lukeelmers lukeelmers changed the title [uiSettings] Support deprecations [uiSettings] Support deprecations API Mar 8, 2022
@lukeelmers lukeelmers added loe:large Large Level of Effort impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. enhancement New value added to drive a business result and removed loe:x-large Extra Large Level of Effort impact:needs-assessment Product and/or Engineering needs to evaluate the impact of the change. 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:Kibana Management Feature label for Data Views, Advanced Setting, Saved Object management pages Feature:uiSettings impact:medium Addressing this issue will have a medium level of impact on the quality/strength of our product. loe:large Large Level of Effort NeededFor:VisEditors 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

9 participants