#3172 - Deep upload directory structures
| Identifier | #3172 |
|---|---|
| Issue type | Feature request or suggestion |
| Title | Deep upload directory structures |
| Status | Completed |
| Tags |
Type: Cross-cutting feature (custom) Type: Performance (custom) Type: Usability (major) (custom) |
| Handling member | Chris Graham |
| Addon | core |
| Description | Currently all uploads of a certain type are kept in a single directory.
This is slow to navigate using file browsers (e.g. FTP). It is also a bit disorganised for people manually administration their content directories, especially for galleries. It shouldn't perform any performance degradation within Composr though, as B-Tree or hashmap indexing exists in all modern filesystems that may be in use (HFS+, NTFS, ext3, ext4, Btrfs). Here are upload directories that should be split up by category hierarchy... downloads gallery images & thumbs gallery videos & thumbs catalogues repimages Here are upload directories that should be split up alphabetically, using an infinite tree growth algorithm... attachments & thumbs auto_thumbs cns_avatars cns_photos & thumbs It will be technically difficult to implement this because directory positions would need changing when entries are moved between categories, and on moving you can't do a naive move because of the possibility of a filename conflict in the new destination - so it needs to do a re-check for an adjusted non-conflicting filename. It should also be optional, so people can temporarily disable it if it is buggy. For the case of infinite tree growth, files would need to be moved around each time a new tree growth happens. |
| Steps to reproduce | |
| Additional information | References...
http://serverfault.com/questions/98235/how-many-files-in-a-directory-is-too-many-downloading-data-from-net https://compo.sr/forum/topicview/browse/designing/two-type-of-galleries.htm?post_id=2118&topic_id=398×tamp=1490957280&redirected=1&redirected=1 |
| Funded? | No |
The system will post a comment when this issue is modified (e.g., status changes). To be notified of this, click "Enable comment notifications".


Comments
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.