Hi, all, I planning to refactor existing file system intefaces and implementations. Some ideas, which i need to discuss before doing this :)
1. I think, that interfaces should allow every file in system to be represented only by one FileObject object. Current versions of interfaces require every user has his own instance of FileObject for every File. So, maximum count of FileObject is (count of files) x (count of users). More over, this will allow to move all code from FileObject to FileObjectView, that is better place for code, i think. 2. Improve file security, by extracting specialized FileSecurityManager interface and increasing count of different checks. For example, Arp.Sitesystem requires different checks for creating directory and file, but with current interfaces it is not possible. There will be one abstract class, which redirect extended checks to standart ones - checkRead, checkWrite checks, like: checkWriteDir -> checkWrite checkCreateDir -> checkWrite checkReadFile -> checkRead etc... -- Sergey Vladimirov
