Trust Web Modeler to keep your files safe for a period, even when someone else accidentally deletes them
User Problem
The Web Modeler offers only hard deletion, meaning accidentally deleted files cannot be recovered
To avoid this problems, users either:
Spend additional effort to back up files automatically
Take additional effort to teach people not to delete files
Restrict users with "Editor" rights
Release Notes
Web Modeler's new trash can feature to make sure your files stay safe, even if someone hits delete by mistake. Now you can declutter projects, folders, and files from your space without the fear of losing them for good, and if you need them back, restoring is just a click away within a limited timeframe.
(C) [Project] When I view my project list, I want to put a project in the trash so I can focus on my relevant projects
(S) [Folder] When I view my folder list, I want to put a folder in the trash so I can focus on my relevant files
(M) [Files] When I view my file list, I want put a file in the trash so I can focus on my relevant files
(S) [Hard deletion] When I find an trashed file, I want to permanently delete it so I can clean it up
Out of Scope
~(W) [Overview] As an admin, I want to view all trashed files so I can efficiently delete them~
~(W) [Auto-cleanup] As an admin, I want trashed files to be automatically deleted after 30 days so I can keep my files lean~
Recovery
(S) [Discover] When I trash a file, I want to see where it went so I can recover it if needed
(M) [Display] When I view an trashed file, I want to display it so I can decide to recover it
(M) [Restore] When I view an trashed file, I want to recover it so I can keep working on it
Implementation Notes
User Journey:
Drew the developer goes to remove a file from the entity list. After confirming, the file disappears from the view and Drew can see how to recover the file. A few days later, Drew realizes the file is necessary. In the folder where the file was deleted, they find the file and see a few options. They can interact with the file normally, delete it permanently, or recover the file. Outside of the file not being shown on the list, there's no behavior change and it can be used as normal.
Implement the simplest, most feature-bare option
💡 Filter out trashed files and don't provide a consolidated trash can
Google Drive offers the standard UX, with a persistent trash can
Alternate solutions offered by the customer included:
restricting permissions for deletion: this introduces more complexity to the permissions system that's being deprecated and makes it harder to clean up files https://github.com/camunda/issues/issues/613
implementing an automatic backup feature: if the user creates, modifies, and deletes a file before the automatic backup occurs, there's still an issue. There's also likely complexity in the backend implementation that we cannot afford
adding an archive/recycle bin feature
The same user experience should apply to files and folders
Value Proposition Statement
Trust Web Modeler to keep your files safe for a period, even when someone else accidentally deletes them
User Problem
The Web Modeler offers only hard deletion, meaning accidentally deleted files cannot be recovered To avoid this problems, users either:
Release Notes
Web Modeler's new trash can feature to make sure your files stay safe, even if someone hits delete by mistake. Now you can declutter projects, folders, and files from your space without the fear of losing them for good, and if you need them back, restoring is just a click away within a limited timeframe.
User Stories (MoSCoW prioritized)
Removal
Recovery
Implementation Notes
User Journey: Drew the developer goes to remove a file from the entity list. After confirming, the file disappears from the view and Drew can see how to recover the file. A few days later, Drew realizes the file is necessary. In the folder where the file was deleted, they find the file and see a few options. They can interact with the file normally, delete it permanently, or recover the file. Outside of the file not being shown on the list, there's no behavior change and it can be used as normal.
:robot: This issue is automatically synced from: source
:robot: This issue is automatically synced from: source