...
Drawio sketch | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
API
The API is available in the MediaHaven REST API under the resource
/uploads
Follows the RFC: https://datatracker.ietf.org/doc/draft-ietf-httpbis-resumable-upload/
Business Logic
Record status
...
The S3 storage is treated as one of the /wiki/spaces/CS/pages/20643843 in the system to re-use many existing features
A new cluster group “resumable_uploads” with the role
TRANSIENT
is created, highly similar to the existing cluster group “ingest”, which contains 1 shared storage pool for the S3 object storeThe uploading record will be linked with this shared storage pool and the session ID will also be stored as the distribution ID
The file is stored on the S3 object store using the standardized naming convention
<Record ID>/<Record ID>.<Original Extension>
The garbage collection will clean up this object store for this record
When the ingest workflow has transferred the record to the definitive storage
When the record is permanently deleted (manually or automatically after being inactive for 2 weeks or longer)
When the upload is still in progress it can use the session ID to delete it
Activation
See https://mediahaven.atlassian.net/wiki/spaces/CS/pages/4606820353/Resumable+upload#Activation