I've now implemented this, except for the 2nd half (infinite tree growth algorithm). I don't think infinite tree growth algorithm is really useful. After talking with a user I have found the main issue for them is when they're manually working in the filesystem and losing stuff due to too many files (especially if they upload multiple files with the same name and they have to get auto-renamed). Infinite tree growth algorithm would actually make it even harder for them.
My implementation is quite sophisticated. You can turn deep mode on and off, and there's a cleanup tool to move everything back around and keep it clean.
It's pretty similar to how iTunes can be configured to automatically maintain a deep directory structure for your music.
My implementation is quite sophisticated. You can turn deep mode on and off, and there's a cleanup tool to move everything back around and keep it clean.
It's pretty similar to how iTunes can be configured to automatically maintain a deep directory structure for your music.