Upload module spec
This specification outlines how the upload module should be rewritten from PHP to Perl/Catalyst starting with Metamod 2.8.
Functionality
The following functions (existing or new) must be supported:
User functions
The user must be able to:
- upload data files via HTTP and FTP
- either as single data files or as an archive
- get a status log detailing if the files was uploaded successfully
- if not, an error message describing the problem
- delete data files from the repository
- edit metadata for the datasets
Implementation
General
- user must be authenticated and authorized
Test file
- receive file from user
- validate filename
- write file to webrun/upl/ftaf
- write new file with same name containing user's email to webrun/upl/etaf
Upload file
- receive file from user
- check dirkey
- validate filename
- write file to webrun/webupload
- rest is handled by upload_monitor
Register files on disk (osisaf)
- user calls webservice with filename, dataset and dirkey
- call upload_indexer