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

Clean up saved object class and saved object loader #58243

Closed
2 of 9 tasks
flash1293 opened this issue Feb 21, 2020 · 2 comments
Closed
2 of 9 tasks

Clean up saved object class and saved object loader #58243

flash1293 opened this issue Feb 21, 2020 · 2 comments
Labels
blocked Feature:NP Migration Feature:Saved Objects Team:Visualizations Visualization editors, elastic-charts and infrastructure

Comments

@flash1293
Copy link
Contributor

flash1293 commented Feb 21, 2020

Blocked on #67607

Currently src/plugins/saved_objects contains a class wrapping the core saved object client with additional functionality as well as a saved object loader serving similar purposes.

To make it easier to manage, these functions should be split up in several helpers which are composed by the consuming plugins. To make transition seamless, the current class based approach should be provided along with a set of utilities for the same functionality for a while.

Splitting out the target utilities also includes providing proper types for them as well as covering them sufficiently with unit tests.

Target utilities:

  • Search source serialization/deserialization + index pattern hydration (part of data plugin)
  • Duplicate title check

All other utilities should be removed in favor of plugin-local handlers.

An example plugin containing a set of the most common use cases and best practice solutions to them should be part of the saved_objects plugin (similar to kibana_utils examples)

Discover, Dashboard, Visualize and Maps are registered with the saved objects management which makes it impossible at the moment to get rid of the saved object loader completely. To make it possible to do this incrementally, a shim layer has to be introduced so management can continue to function even if the registered saved objects are not using the wrapper class.

Subtasks

  • Provide sample plugin for saved object usage
  • Introduce shim layer and decouple saved object management from specific interfaces Decouple saved object management from SavedObjectLoader #67607
  • Create separate issues for the individual saved objects types to be tracked by respective teams
  • Migrate saved search
  • Migrate dashboard
  • Migrate visualization
  • Migrate maps
@flash1293 flash1293 added Feature:Saved Objects Team:Visualizations Visualization editors, elastic-charts and infrastructure Feature:NP Migration labels Feb 21, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app (Team:KibanaApp)

@stratoula
Copy link
Contributor

Thank you for contributing to this issue, however, we are closing this issue due to inactivity as part of a backlog grooming effort. If you believe this feature/bug should still be considered, please reopen with a comment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked Feature:NP Migration Feature:Saved Objects Team:Visualizations Visualization editors, elastic-charts and infrastructure
Projects
None yet
Development

No branches or pull requests

3 participants