-
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
Sharing saved-objects in multiple spaces: phase 3 #67380
Comments
Pinging @elastic/kibana-security (Team:Security) |
👋 I noticed in the mockups that we're classifying saved-object references as either "relatives" or "tags". From the technical perspective, they're all "references". This classification will introduce some inconsistency from saved-object management, as all referenced saved-objects are considered "related saved-objects": The whole "are tags normal saved-objects and a result should be in references" resulted in a bunch of prior discussions: #74571 (comment) I'd really like for us to be consistent here. If our prior conclusions were unsatisfactory, I'm all for us revisiting this. However, I don't think we should introduce inconsistencies between the sharing saved-object UIs and the rest of Kibana. |
Thanks, I wasn't aware of that discussion! Just following the mockups.
Sure thing. FWIW, in the implementation, I intended to leave the "Include related objects" box checked-and-disabled, so it's just a visual indicator that additional objects will be shared (similar to the existing Copy to Space flyout today). I do think it could be useful to optionally omit tags from the rest of the related objects. Even though they rely on the same implementation under the hood ( So what do you think the best path forward is here?
|
Good to know, thanks!
Good point and valid use-case :)
After you explained the valid use-case for wanting to share saved-objects and exclude the tags, I've started to feel like my concerns are rather pedantic. The original design conveyed to me that "tags aren't related objects", which is what made me think that we were doing something wrong. What if we had an unchecked by default checkbox that said: "Exclude tags"? That way if both check-boxes were checked, we'd logically be including all related saved-objects but excluding tags, which is logically valid even if tags are related objects? |
I'm not sure we'll be avoid to dodge the fact that tags, even if using the same underlying implementation, are not functionally the same than other referenced objects much longer to be honest. Now, I don't think that switching the |
Agree we can make that a checkbox to exclude instead of a checkbox to include. It probably won't make much sense to have the first checkbox say "include" and the second one say "exclude", but perhaps we don't need the first to be a checkbox at all, since we don't plan to allow users to opt out of including (exclude) non-tag references anyway. I'll see what our designers think! |
Are there other situations or use-cases for tags that make them behave differently from other saved-object references? IIRC, my original reasoning for treating tags like normal saved-object references was that it made implementing sharing to spaces, and everything else implicitly work. However, if we're now saying that when a saved-object is shared to a space we really don't need to share the tags, that contradicts my prior reasoning. |
The initial |
In the short-term, we could also add a three-way toggle: "All | Exclude Tags | None". I defer to design though, they have 100x better ideas than myself. |
Phase 3 from #27004
Currently blocked on #71409Draft server-side tasks
export
to expose object namespaces to internal consumers (still omit these from HTTP responses), and changecopySavedObjectsToSpaces
to exclude objects if they already exist in a given namespaceexport
'sincludeReferencesDeep
functionality to a public method in SavedObjectsClientaddToNamespaces
anddeleteFromNamespaces
methods to add option that includes references (and update HTTP APIs to match)Draft client-side tasks
- [ ] Update index pattern delete confirmation modal: add "This/these is/are shared in X spaces" banner, change "Delete" button to "Remove from space" (primary) and "Delete everywhere" (secondary)Mockup of updated Share flyout:
The text was updated successfully, but these errors were encountered: