Difference between revisions of "ARK2/Files"
From ARK
(→File Management) |
(→File Management) |
||
Line 33: | Line 33: | ||
Need to plan for moving to advanced model while keeping simple for first release. | Need to plan for moving to advanced model while keeping simple for first release. | ||
+ | * Use [http://flysystem.thephpleague.com/ FlySystem] for file system abstraction. | ||
+ | * Use Glide for image handling | ||
* Split files into subdirs with max number of files per dir | * Split files into subdirs with max number of files per dir | ||
* Thumbnails into separate dir, managed by image code (on-the-fly creation, etc) | * Thumbnails into separate dir, managed by image code (on-the-fly creation, etc) | ||
Line 38: | Line 40: | ||
* Support expiry date for tmp files | * Support expiry date for tmp files | ||
* Support mimetypes + core types (image, video, audio, document, text) | * Support mimetypes + core types (image, video, audio, document, text) | ||
+ | |||
+ | Very similar to http://documentation.concrete5.org/developers/working-with-files-and-the-file-manager/overview |
Revision as of 15:06, 16 November 2016
File Management
File Manage needs to be flexible and fast.
- File attachments to data items
- Data downloads / exports
- Documentation
- Temp files
- Mapping files
- Image management, generated thumbnails, etc
- Metadata, mimetypes, etc
- Cloud storage
- Efficiency
- Security
Current Structure:
- data -- downloads -- files -- mapping -- tmp -- uploads
Problems with current structure:
- All files in one directory, can be slow for large volumes
- Thumbnails in same directory, slows performance, harder to maintain
- No versioning
- No expiry
Full document management and versioning workflow is a stretch goal needed for Avalon. Try use CMIS standard as used in LibreOffice.
Need to plan for moving to advanced model while keeping simple for first release.
- Use FlySystem for file system abstraction.
- Use Glide for image handling
- Split files into subdirs with max number of files per dir
- Thumbnails into separate dir, managed by image code (on-the-fly creation, etc)
- Support versioning
- Support expiry date for tmp files
- Support mimetypes + core types (image, video, audio, document, text)
Very similar to http://documentation.concrete5.org/developers/working-with-files-and-the-file-manager/overview