datagrok-ai / public

Public package repository for the Datagrok.ai platform
MIT License
45 stars 26 forks source link

#2558: Table and project cloning #2558

Closed ahadzhanian closed 9 months ago

tcarolan commented 10 months ago

Please see community thread: https://community.datagrok.ai/t/duplicate-projects/822

...I agree that it is a good feature that is currently missing. We thought about implementing it a number of times, but always got stuck on how to handle important details (do we clone the data? what if it’s a dynamic source? how about the visual layouts? other entities that might get included in the project? can you reshare? what happens to privileges of the “inner” objects when you share the cloned project? etc). It gets more complex when you include nested projects in the picture…

Let’s figure out what the ideal behavior would be. For simplicity, let’s only consider dashboards (no nested projects). I suggest the following:

Data: when a project is cloned, a dialog appears with the following options next to each table, depending on the “Data Sync” option: Static tables: “Clone” or “Link”. When a table is “linked”, table gets shared between projects, and all changes made to that table affect other projects. For “linked” tables, edit privileges need to be taken into account. Data Sync tables: “Data Sync” or “Static” (this will break the dynamic link and make the table static). Visual layouts: should be cloned. Any changes to the visual layouts should not affect the original. Reshare privilege: I don’t think there should be a “duplicate” privilege, since it sounds logical to allow any project to be duplicated (and you can do it now anyway by downloading data and layouts, and loading/applying it again). We can’t stop people from doing it, as you can still copy-paste, or take pictures of the screen. Instead, there should be a “Reshare” privilege, which would explicitly control whether you can share the cloned project. Sharing with groups that have access to the original project should be allowed in any case.

ahadzhanian commented 9 months ago

Implemented in 1.18.0

dnillovna commented 8 months ago

This issue has been mirrored in Jira: https://reddata.atlassian.net/browse/GROK-14936