i would not opt for per user trash-cans (what if one user deletes a file, and another user wants to find it later). another option is to have a trash bin per file-store instance. so, if someone deletes a file in a filestore of a community, a user would certainly look into the trash bin of that community and find it there. I would not expect that the system tracks back, from where the files was exactly deleted (mac os x trash can does not do it either). I am not sure, what "deleting associate permissions" actually mean without reading the code. And yes, the move operation of the fs as it is currently implemented is not really nice and it is likely to be broken. going for a drag+drop interface based on javascript would be much simpler...