-
Type: Feature Request
-
Status: Closed
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: 5.1.2-B2
-
Fix Version/s: 5.2.0-B1
-
Component/s: File Uploader
-
Labels:
-
External issue URL:
-
Additional information:
-
Change Log Message:Adding file distributed storage engine
-
Story Points:3
-
External issue ID:1022
-
Copy Issue Key:
-
Patch Instructions:
-
BC Break Details:
When file uploads are happening a lot on the site, then all files are stored under same /system/... sub-folder. This doesn't pose any problem to webserver to easily access them, however it makes it near to impossible to manage that files manually. Like view/backup/restore individual files, when there are 2000+ files in one directory.
That's why we are proposing uploaded file distribution engine, that will create sub-folders within target upload folder to store uploaded files. Here are some ideas:
[b]1. Filenames[/b]
a. ability to have Prefix (defined in Field declaration (in unit config), default is empty, DATE-TIME which reserved, but can specify any other symbols)
b. ability to have Ending (defined in Field declaration (in unit config), default is DATE-TIME which reserved, but can specify any other symbols)
DATE = 20110131 (2011/01/31)
TIME = 123401 (12:34:01)
Examples:
- 20110131-123401_my-custom-filename-whatever.jpg
- my-custom-filename-whatever_20110131-123401.jpg
or other combinations
This will give us full flexibility in filenames
[b]2. Folders[/b]
Similar here, give 3 options for each upload field:
a. As is now - All files go into single specified folder.
b. Chronological - YEARMONTH / DAY / (adds 2 sub-levels)
c. Hash - as proposed by Alex (adds 2 sub-levels, see "Additional Information" field for function code)
[b]NOTE:[/b]
1. Hashed path will be stored along with a filename, since in case of timestamp-based hashing there is no way to determine hash path to a file by it's name.
2. All resized versions will be placed without special structure under /resized/ folder.
3. All code completely/mostly will be located in kUploadFormatter class, so extending that class could give ability to add new storage engine types
- mentioned in
-
Page Loading...