-
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
[Share dashboards] Deleting a shared dashboard #167959
Comments
Pinging @elastic/kibana-presentation (Team:Presentation) |
I updated the description of this issue to reflect what we agreed upon. |
I think we do need to align this workflow. Files, Visualize, Maps, and Dashboards all use the same
You mean changing the Share to space flyout component from the Spaces plugin? We can do that, but there is no confirmation check for the user. So a user might unwittingly remove their access to a shared saved object. Probably should confirm with @elastic/kibana-security if that's something we want to allow. |
@nickpeihl We (Kibana Security) have an open issue for implementing this behavior. |
Thanks for bringing this up @cqliu1 . Yes, I think that's the desired behaviour. As per @nickpeihl comment it seems pretty straightforward since all saved objects use the same list view component, isn't it? |
I have found what might be an easier and less confusing UI for handling deletion of shared saved objects. We can disable the selector if the object is shared to multiple Spaces. The selector is currently only used for the "Delete" bulk action. We can detect if the item is shared to multiple Spaces and tell the listing table to disable selection of that item. We can also provide a tooltip explaining why the selector is disabled. Users with proper privileges can choose to unshare the item from other Spaces by clicking on the Spaces list icons to open the "Share to space flyout". And, once #169865 is fixed, users can use the "Share to space flyout" to remove the item from the current Space. I think this would simplify the workflow and we shouldn't need these extra modals. Disabling item deletion is currently in use by the Files table list view and is also being considered for Managed saved objects (objects installed by Integrations). Here's a demo video from a PoC. disable-delete-shared-object.mp4 |
Thanks @nickpeihl , it looks like a good solution to me. It's also better in the case of a dashboard being shared in All spaces because the user has to make a concious decision of unsharing it. I have only three concerns:
|
We should only allow deleting a shared dashboard if that user has But I'm worried that this permission check across spaces can get complicated/expensive if we have to do this check per dashboard in the listing page to disable the selection on the table every time a user loads the Dashboard listing page, whether or not they intended to delete any dashboards. By having the user manually unshare the dashboard first, we're delaying that permission check across space to only when it's necessary and the user is actively trying to unshare/delete a shared dashboard. The user with |
@teresaalvarezsoler @andreadelrio We should align the deletion confirm modal for all of the listing pages, e.g. saved object management, data view management, dashboard listing page, etc. These are the existing confirm modals for deleting shared objects: Saved object managementMany different types of objects can be selected for deletion here, so the Data view managementSince only one type of saved object can be deleted on this page, and other listing pages, we can forgo the |
Thanks @cqliu1 Saved object management
Let's leave it for now since it has been there forever and there may be some use cases we don't know about it.
Agree Data view management
Agree. Could you share the final screenshot of how it looks like? |
@teresaalvarezsoler Here are screenshots of the two proposals @cqliu1 identified for the delete modal. In these demos, the logged in user only has write access to the current Space. The data views are shared to many Spaces. Please ignore that in the screenshots I am are calling them "ContentItems". This is a placeholder that will change for each app (e.g. "Dashboard", "Visualizations", "Maps", etc). The first proposal mimics the Data View modal. It shows a count of Spaces to which the item is shared. The second proposal shows a confirm_delete.mp4In both cases, the user is still allowed to delete the object from all the Spaces. This is the established security model of Spaces to which we are following. |
confirm_delete.mp4
@nickpeihl For the second proposal, I'd recommend we keep the spaces list to one-row max, that way we avoid having different heights in the table rows and the table looks cleaner. Would it be possible to display |
thanks @nickpeihl I like the second proposals if it doesn't imply more effort on our side. I agree with @andreadelrio regarding the multi-line. |
Also, here is original design issue for deleting Data Views on which these proposals are modeled. The first proposal above matches very closely the current delete modal from Data Views Management. @mattkime Since you implemented the designs for the Data View Management table, I wonder if you have any thoughts on these two proposals? For example, your implementation lists a count of affected Spaces in the modal. My second proposal above uses the
|
Closing, issue iceboxed in #188573 |
Describe the feature:
When users delete a dashboard, it will be deleted from all spaces that it leaves in.
We will keep the same UX that exist currently for dataviews and other saved objects:
Deleting from the Listing page:
Deleting from the Saved Object management page:
The text was updated successfully, but these errors were encountered: