Directly upload SLOs, directories, and multiple files
Summary
=======
Add functionality to directly upload Standard Large Objects, directories, and multiple files to object storage. Update the user interface with a progress bar for each upload in-progress.
Motivation
========
Horizon currently supports direct file uploads to object storage, one file at a time. Users who want to upload multiple files, folders, or large objects must do it through the Swift CLI or other clients. By implementing these features, it will greatly increase the file management capacity of Horizon and improve user experience.
Description
=========
Directly upload Standard Large Objects
- Using segmentation, segments are uploaded in *_segments container
- Assemble and upload manifest file original container in place of the actual object
Directly upload multiple files
- Instead of a single File, upload info is an array of File(s)
- Users can select multiple files to upload to object storage
Directly upload directories
- Same as multiple file upload functionality
- Users can select folder(s) to upload to object storage
For each file being uploaded, emit a progress event to pass data about the size of the file already uploaded for better user experience.
UX
===
- In the upload file modal, include “File(s)” and “Directory” inputs
- A separate “Large File” button
- Ideally, large object upload and multiple/directory are combined in the same interface
In the upload modal, once user hits “Upload File(s)” button, a progress bar is displayed and lets the user know how much of their files have been uploaded (percentages and/or bytes). Progress bar can be similar to one displayed when Deleting objects in Object Storage, or when uploading a Glance Image
Wireframes, Mocks, Videos and UI Markup
-------
I am implementing these features as a plugin (for now). Source code can be found here https:/
Screenshots can be found here:
https:/
Testing
======
To be determined
Outside Dependencies
==================
To be determined
Requirements Update Required
=======
N/A at the moment
Doc Impact
=========
N/A at the moment
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Mohana
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by