-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[Platform] SavedObject Management #50308
Comments
Pinging @elastic/kibana-platform (Team:Platform) |
|
Any good reason not to just migrate all of this info to the new registry in Core? Seems like poor dev UX to have to register info in two separate places about the same thing. |
I think the idea was that as the UI part was going to move to it's own plugin, it was making sense to also move the However I agree that the dual registration is bothersome (and the @rudolf wdyt? |
Yes, I think the primary motivation for a plugin was to move the UI out of core. Partly because there's a lot of legacy that we can only remove in 8.0.0 and also because we might want to make breaking changes in the UI more often than we would otherwise do in Core. One could argue that most of these configuration options are UI focussed and are closely related to the plugin's public source code such as it's routes: kibana/src/legacy/core_plugins/data/index.ts Lines 49 to 54 in 4e8ab56
But I think it will make it much less likely to forget if there's only one registration point that has everything. |
Yea, I agree that these config part of the type are (almost exclusively) related to the UI part that is going to be outside of core. But I think the upside of having to perform only one call to register everything that is related to a specific SO type is probably more important. |
The client side part is big and still got some issues that may not be solvable atm (I will add more details on the associated PR). I will split this into 3 separates PRs:
|
The saved object management UI also still has very hard links to the old clientside (Angular) services, and requires any type of saved object to register a SavedObjectLoader. Since we want to throw away those old client side services completely, we should also make sure the saved object management UI, does no longer require them, but instead just require the registration of a way more slim configuration (since it anyway didn't use most methods/properties in those services). |
Working on that atm in #59110. All angular services will be removed. Biggest issue atm is that we don't have a replacement in the NP management plugin for kibana/src/legacy/core_plugins/kibana/public/management/sections/objects/_objects.js Lines 64 to 69 in 56571ba
Probably more are not discovered yet, I'm far from done yet.
I'm still using them in #59110, and as migrating the whole UI part is already quite massive work, the initial version is probably still going to rely on them. Removing / replacing them could definitely be a follow-up though. Just to be sure, it doesn't look like the registered kibana/src/legacy/core_plugins/kibana/public/management/saved_object_registry.ts Lines 52 to 66 in 90cb7a9
The SO management API is using the loader to (at least) load and save objects during import conflict resolution. Lines 199 to 201 in 56571ba
What alternative could we be using for that? |
Move Saved Object Management into a separate Plugin.
SavedObjectsManagementTypeDefinition
for each of their Saved Object types.src/legacy/core_plugins/kibana/public/management/sections/objects
src/legacy/core_plugins/kibana/server/routes/api/management/saved_objects
src/legacy/core_plugins/kibana/server/routes/api/{import/export}
) in 8.0.0 see Remove Dashboard Import/Export API #41439Progress
management
section for SO types from NP API: Add SavedObject management section registration in core #59291management
section to NP plugin: Migrate SO management routes to new plugin #59734management
section to NP plugin: Migrate SO management section to NP #61700The text was updated successfully, but these errors were encountered: