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

[SavedObjectTagging] Expose flyout to assign tags to a SO #143746

Open
sebelga opened this issue Oct 20, 2022 · 2 comments
Open

[SavedObjectTagging] Expose flyout to assign tags to a SO #143746

sebelga opened this issue Oct 20, 2022 · 2 comments
Labels
Feature:Content Management User generated content (saved objects) management Feature:Saved Object Tagging Saved Objects Tagging feature 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

@sebelga
Copy link
Contributor

sebelga commented Oct 20, 2022

As part of the UX enhancement of the <TableListView /> we want to allow the user to select one or multiple saved object and assign tags to them in bulk.

Screenshot 2022-10-20 at 14 34 34

This is the design proposal for the tag assignment

Screenshot 2022-10-20 at 11 40 20

Feature request

Ideally we would have a package exposing the above flyout to assign tags to one or multiple saved objects passed to it. The package would expose a KibanaProvider to pass the stateful dependencies (like the savedObjectsTagging plugin).

Note:

The current tag assignment in the tag management app has the opposite behaviour: select one or multiple tags ---> assign saved objects to them.

Screenshot 2022-10-20 at 14 40 20

@botelastic botelastic bot added the needs-team Issues missing a team label label Oct 20, 2022
@sebelga sebelga added Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc Feature:Saved Object Tagging Saved Objects Tagging feature Team:SharedUX Team label for AppEx-SharedUX (formerly Global Experience) Feature:Content Management User generated content (saved objects) management and removed needs-team Issues missing a team label labels Oct 20, 2022
@elasticmachine
Copy link
Contributor

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

@pgayvallet
Copy link
Contributor

As discussed on slack:

Note: The current tag assignment in the tag management app has the opposite behaviour: select one or multiple tags ---> assign saved objects to them.

Yea, the assignment works the other way atm. We would need to develop a new flyout to handle the other scenario (selecting objects -> assign tags). FWIW this was initially planned to be developed for the SO management section, but we eventually abandoned the idea.

Unless I missed something, nothing is really blocking technically regarding the actual flyout implementation.

Now, regarding how this feature should be accessible / usage from elsewhere than the SO tagging management section:

The options would be:

  1. Expose a function returning the connected (smart) component from the savedObjectsTagging (+OSS counterpart) API directly. (or a function just opening the flyout directly, as getAssignFlyoutOpener does)

export const getAssignFlyoutOpener =
({
overlays,
notifications,
theme,
tagCache,
assignmentService,
assignableTypes,
}: GetAssignFlyoutOpenerOptions): AssignFlyoutOpener =>

  1. Expose the stateless component from a new package, and have the consumer manually hydrate it with the appropriate context, by having a dependency on the savedObjectTagging (or OSS) plugin to retrieve the assignment service and other mandatory dependencies.

Notes:

  • both options means a dependency from any plugin needing to display this flyout against savedObjectTagging (or savedObjectTaggingOss)
  • due to the IOC pattern we're using between savedObjectsTagging and savedObjectsTaggingOss, the OSS counterpart don't have many dependencies:

"requiredPlugins": [],
"optionalPlugins": ["savedObjects"]

So having to depend on this plugin from anywhere else in Kibana seems fairly acceptable.

Given that, I would personally go with option 1., as it seems like the better developer experience. But I'm of course open to discussion on that.

@afharo afharo removed the Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc label Dec 19, 2022
@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
Feature:Content Management User generated content (saved objects) management Feature:Saved Object Tagging Saved Objects Tagging feature 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

5 participants