Community
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Recycle bin

Recycle bin

Instead of permanently deleting files from vault, make a recycle bin type functionality in Vault.

 

Upon right clicking a folder, we should have the option to undelete the files (with dependents).

 

Emptying the recycle bin should be an administrative task

20 Comments
Maarten65
Advocate

Empty the trash should be done by job server (scheduled, for example older then 24 hours)

 

And searches do not shown parts from this location.

Users are not allowed to create assemblies referring to parts in the trash loaction.

dominik.gleinser
Advocate

We got a lot of feedback from customers! Such a recycle bin would be helpful!

 

ihayesjr
Community Manager
Status changed to: Under Review
 
RPdAnjou
Enthusiast

Great request.

 

Productstream Professional already has this and it comes in handy verry often, but also brings complexity to things.

 

When deleting a document, you have to track a few things:

Can userser cerate new files with the same revison as the deleted file?

Can user see whats deleted by another user?

ihiengdept
Enthusiast

Agreed.  This is nearly a critical feature in a modern version control system.  Humans make mistakes (delete wrong file/folder) and if there are changes not yet in backup, your starting fresh.  Also the whole backup/restore mess is time consuming & it creates some system down time.

 

I'll second the scheduled server emptying.  User setting for frequency & only empties items deleted more than X days ago.

 

Space is almost never the issue (so archiving data isn't a problem), but it's important to keep things clean and organized.  This is easier and quicker if you know you can pull a mistake out of the trash bag.

ihayesjr
Community Manager
Status changed to: Future Consideration
 
Neil_Cross
Mentor

It's not quite the same, but we have an internal Vault folder called 'files to be deleted'.  Users do not have rights to delete files so anything they want deleted, they move into that folder and I trash it periodically.

A recycle bin would be great but I don't know how that sits with SQL, re-using a file name/number of a file sitting in the recycle bin etc.  I suspect any recycle bin functionality they consider would just be what Ive described, a jazzed up Vault folder.

Maarten65
Advocate

I created a folder called TRASH which I as admin have to clean manually once a week. Just like Neil_Cross mentioned. Should be done by the system of course.

Josh_Hunt
Advocate

My Vault has a 'Mark for Delete' workflow State. Only admins have visibility for this state so we can easily change them back to WIP if requested. 'Mark for Delete' files are confirmed to be deleted at the end of the month and then archived to a server. This method works well and I was glad to have it last week when a user made a mistake.

RStancescu
Collaborator

We could use this feature too, I asked it at the latest AU in Vegas this November. 

OlivierSIMON7524
Advocate

In Vault we have forbade to delete a file because then admin can't recover it. Why Vault have not a the the garbage of windows microsoft ?

john.laidler
Advisor

Are you recommending a 'recycle bin' like what Windows has?

We have kind of created one.  I have a workflow state called 'Mark for Delete', which then locks the file and turns the visibility off to all users but admins.  The user thinks its deleted, but it still remains within the Vault.

 

OlivierSIMON7524
Advocate

Yes iwant to say that.

 

In your solution you must create the workflow state for all workflow ?

 

Now we have turn off delete file for all users ad creted a folder name "POUBELLE" but i was diffucul for admins to delete file because most of them are protected and the file exist in recherch for exemple.

calebc01
Enthusiast

Whether this feature takes the form of a recycle bin or not, I think we need something that protects files from accidental deletion.  As it is, I'm terrified that me or someone else with access will accidentally erase months of work by deleting something.  I create archives periodically, just in case.  But it would still help me rest easy to know that the system prevents a couple wrong clicks from decimating hundreds of hours of work.

8 years this feature is asked for. We found one commercial extension of this primitive and easy to implement feature, but Autodesk is still not giving us any hope of a standard implementation 😞

 

What we´ve planned to implement:

- Extend the file properties and add "OldParentFolderId"

- Add a custom EventHandler to "DocumentService.DeleteFileEvents"

- Move the file to the trashbin and set the original FolderID to the new property when the user is not an Admin, return. If the user is an Admin AND it´s in the trashbin folder, delete the file.

 

That´s how you should encounter the least resistence and every Delete Event will be using your code. An example can be found in the VS2019 Projects in the Project "RestrictionOperations." When I´m back at work, I will add it and write a Blogentry with our result.

 

Still, it would be great if Vault would´ve this feature from the start.

Same thing with rebase to a certain Revision in the LifeCycle of a file to go back to a certain point if i.e. the user makes a mistake in the new construction and wants to go back to a prior Version.

calebc01
Enthusiast
Interesting how easy it would be to actually implement.

A cloud-based file system without reasonable repository controls is an
enormous oversight, especially when working with teams.

 


Yeah, when you have apprentices and older People, who are not that techfriendly and more the engineering guy, it can be a chore to get tickets like "get file X from the backups".
Worst case scenario, there is no backup with this file and they lost a day of work by a simple mistake.

When you activate the function to have distinct names, Vault also knows the filename is already in use and the user will automatically look into the recycle bin.

Sadly, you can´t say in your Command Extension "activate this menu only inside this special folder.".

I´ve made a small graphic how I´ve planned it.

 

Delete and Restore brainstormDelete and Restore brainstorm

andreas.schmitt
Contributor

It is very sad that the Vault still does not provide this basic functionality.
In September 2012 the forum entry was marked "Under Review" - since then nothing has happened.

Every person switching from Productstream to Vault has missed this basic feature so far.

Creating a separate folder to move the documents to be deleted can only be a workaround, but not a solution.

 

I agree with you Andreas. But when we see how broken the Software and API is in general, the Recycle Bin is the smallest problem.

 

A behavior and possibly bug is when I check in my DeleteFileEvents action for prior restrictions, it will end up in a recursion because GetFileDeleteRestrictionsByMasterId is calling my Event Method again.

 

Solution for this behavior is, to remove the Event for the check and add it again:

 

		public void OnLoad() {
			// File Events
			DocumentService.DeleteFileEvents.GetRestrictions += new EventHandler<DeleteFileCommandEventArgs>(DeleteFileEvents_GetRestrictions);
			DocumentService.DeleteFolderEvents.GetRestrictions += new EventHandler<DeleteFolderCommandEventArgs>(DeleteFolderEvents_GetRestrictions);
		}

	private void DeleteFileEvents_GetRestrictions(object sender, DeleteFileCommandEventArgs e) {
			var ds = (DocumentService)sender;
			
			if (HasOtherRestrictions(e, ds) != null)
				return;
		// Rest of your code
	}

		private FileDelRestric[] HasOtherRestrictions(DeleteFileCommandEventArgs eventArgs, DocumentService documentService) {
			try {
				DocumentService.DeleteFileEvents.GetRestrictions -= new EventHandler<DeleteFileCommandEventArgs>(DeleteFileEvents_GetRestrictions);
				var res = documentService.GetFileDeleteRestrictionsByMasterId(eventArgs.FileMasterIds.FirstOrDefault(), eventArgs.FolderId);
				return res;
			} finally {
				DocumentService.DeleteFileEvents.GetRestrictions += new EventHandler<DeleteFileCommandEventArgs>(DeleteFileEvents_GetRestrictions);
			}
		}

 

So my Onload remains and when i.e. the File has a Restriction from the LifeCycle, I won´t touch the file.

 

It´s even worse when I check for the Group Membership to have ACL´s in my Recycle Bin. When you login, you don´t get the UserInfo Objekt with the Roles and Groups of the current user, he is not able to ask the Webservice for it and when I use a special user and ask Vault for the infos with AdminService.GetUserInfoByUserId(userId), I have empty Groups and Roles.

 

So having ACL´s in the Recycle Bin ended up in writing a Singleton in my Extension, load the UserInfos, Groups and Roles manually in the LogOn()  method with an Adminuser. But worse, this broken system calls the OnLogOn Method hundrets of times, so you have keep book if you already loaded the informations, even when you switch to another account and not closing Vault.

 

Implementing a Recycle Bin in the current Vault Version took a lot of extra code, not only the 10 lines I wrote at the beginning.

 

For all these bugs, I will open a threat now.

pwyndhamCSVYQ
Participant

Still waiting for an option to delete a file and it goes into a deleted recycle bin that the admin can clear out or restore from as needed or scheduled. 

It is stupid to have to create a Recycle Bin folder that people move stuff to, especially when the software doesn't have any functionality to tell when a file was move to that folder. So, there is no way to filter on things that were moved there some time ago to delete them.

Every other PDM system has this BASIC functionality built in. It is a disgrace that Autodesk doesn't seem to see it as necessary since this request has been sitting here for over 10 years. Get on the ball Autodesk.

Can't find what you're looking for? Ask the community or share your knowledge.

Submit Idea  

Autodesk Design & Make Report