Multilevel upload dirs to accomodate 1000's of files
The directory file has all uploads on the same dir. It would be nice to have two levels of dirs (subdirs) to better organize the files and to have better performance when the list goes beyond a few thousands.
I suggest to use the first two characters of the field "disk_filename", which represent the year, to implement the first level and then the month (next two) to implement the second level.
The are other ways, but it's already a big improvement, IMO.
#1 Updated by Richard Pecl about 9 years ago
I think better would be structure like:
files/<project_identifier>/files/<version_name>/<file_name>--<time> or files/<project_identifier>/files/<version_name>/<file_name>-<version_name>-<time>
Most important is the first dir structure since we also need access files on disk directly.
Or the best solution maybe is to allow user freely define 'file-path build macro' using following variables:
<project_identifier> <version_name> <file_name> <time> <issue_number> <issue_tracker_name> <wiki_page> <document_name> <document_category> etc.
Keep a great job!
#2 Updated by Jean-Philippe Lang about 9 years ago
Richard, project identifier, tracker... shouldn't be used because issues can be moved between projects, trackers... Having to move the files from one directory to another would be insane. And something like:
files/issues/issue_number/file_name wouldn't be very efficient (lots of folders with a very small number of files inside).
I would rather use the solution described by João:
year/month/file_name where relations are not involved.