Difference between revisions of "ARK2/Files"

From ARK
Jump to: navigation, search
(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