Hello everyone!
My name is Ravjot Singh, currently a second year student at Indian Institute of Information Technology and Management, Gwalior and I'm deeply passionate about the world of full stack web development. I'm proficient in JavaScript, Typescript, C/C++, Python, Java, React, Redux, Node.js, Express, MongoDB, MySQL, PostgreSQL and have also worked with CI/CD Jenkins, Docker, AWS.
Ever since the "Allow reliable large uploads in Volto using TUS" project got announced back in February, it really caught my eye. I haven't gotten around to wrapping up a proposal just yet, but I've been diving into all the materials I can find to really get a handle on what the project needs and how we might tackle it.
Here are the resources I've explored:
- Tus-js-client: (GitHub - tus/tus-js-client: A pure JavaScript client for the tus resumable upload protocol)
- Github issue: (PLIP: TUS reliable large uploads with simpler file upload UI in volto · Issue #5423 · plone/volto · GitHub)
- Plone Rest APIs
My understanding about this project
- Using tus-js-client for handling TUS (resumable file uploads) due to its lightweight (approximately 60kb minified) and Semantic UI for the frontend design.
- By selecting "Add > Upload files," users would be taken to a bulk upload page, where they can upload multiple files at once.
- Using ZODB (Zope Object Database) blobs to store partial uploads, with the idea of joining these partial uploads once the entire file has been transmitted.
I'm piecing together my GSoC proposal on "Implementing TUS in Volto" and there are a couple of points I’d love to clarify to ensure I’m on the right track:
- For the integration of TUS, would it be preferable to establish a dedicated upload page, akin to react-uploady's approach? This could replace the traditional file view, streamlining the upload process.
- TUS protocol supports chunked uploads, but what’s our plan for chunk size customization? Should it be a fixed size, or do we provide the flexibility for users to set it based on their network stability?
- I'm inclined to propose that the upload action is triggered upon saving to provide editors with the flexibility to review before committing to the upload. We could mitigate any potential user confusion with a clear UI prompt indicating that saving is necessary to complete the upload process.
I'm looking forward to contributing to this project and feel that getting these questions answered will help me put together a solid proposal for you to consider. I would greatly appreciate advice from any mentor or insights from fellow candidates. I would really appreciate any little useful insight from the mentors for this project @djay @JeffersonBledsoe
Thanks so much for your guidance and support!
Best,
Ravjot Singh