A common request from users who use pre-designed Projects is to modify the project and save the project as their own. Designers of Projects don’t want to share “edit” permissions broadly because the project state may change to fit a single users ad-hoc analysis. To circumvent this issue users have asked to be able to ‘duplicate’ or copy a project, but that feature is not available.
My suggestion is to allow users a new permission called ‘duplicate’ on a Project. The user can view the project and then save a new version in the state they wish. The project lineage would be retained. And different versions could be listed within the same Project business card.
Hi Tom, 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.
Andrew, thanks for thinking through the complex issues. It’s always harder than it looks! And I think what you designed would be very beneficial to users.