Doubt regarding Implement TUS in volto project

Hey there!

I've got a few questions regarding " implementing TUS in Volto " project:

  1. Should I set up a separate page for file uploads using react-uploady, replacing the fileview?

  2. Also, if an editor uploads a file (whether it's an image or video), does this imply they can use the same file across different Dexterity content types? Essentially, are we preemptively storing files that may be reused multiple times?

  3. Regarding the progress bar, do we need to implement it for all Dexterity content types? For example, when creating a new page and selecting a file at choose file, should we include a progress bar?

  4. I believe uploading upon saving is a better option, as there might be instances where we choose not to submit immediately. To prevent confusion, we could include a hint such as "Save to upload the file."

Let me know if you need further clarification on any of these points!
Thank You,
Looking forward to your response.

1 Like

Should I set up a separate page for file uploads using react-uploady, replacing the fileview?

fileview means the upload view available from contents?

We have a PoC for this view using uploady we will make available. Hopeever I think the idea is to use the more lightweight tus-js-client as laid out in the plip.

Also, if an editor uploads a file (whether it's an image or video), does this imply they can use the same file across different Dexterity content types? Essentially, are we preemptively storing files that may be reused multiple times?

No thats not how the current implementation works. Have a look at the restapi code for TUS and try to understand how it works.

Regarding the progress bar, do we need to implement it for all Dexterity content types? For example, when creating a new page and selecting a file at choose file, should we include a progress bar?

Yes thats the idea. We need a way to feedback to the user that its working in cases where the file is large and the bandwidth is small or unreliable.

I believe uploading upon saving is a better option, as there might be instances where we choose not to submit immediately. To prevent confusion, we could include a hint such as "Save to upload the file."

Good to see you are thinking about the pros and cons of the options.
It does depend on if hooking into the save event is easy enough to do in volto.
However there are uploads involved in images and video blocks and these would have to be on selection rather than on save. So that is another consideration.

Thank you for your insightful reply!

Yes, I mean the upload view. As said in the PLIP, we need to replace "Add > File" with "Add > Upload files," right? So, I thought we need to replace fileview.jsx with the UI you have proposed for the upload files. Please correct me if i have misunderstood something over here.

And I will review the REST API code for TUS to gain a deeper understanding of its functionality and implementation :slight_smile:

I have submitted the initial draft of the proposal. I'd really appreciate any feedback.
@djay @JeffersonBledsoe
Thank You,
Looking forward to your response.

Hey Dylan, could you let me know if the 'RSS support in Plone 6' is going to be one of the projects in GSOC 2024 or not, since on the website Google Summer of Code Project Ideas 2024 it still hasn't had its "possible mentors" section defined. I've made quite a lot of progress on it, and have been left hanging for a few weeks now on whether a mentor would be defined for it or not. Please let me know if you have finalized on a mentor for that project since I want to discuss my implementation ideas with a mentor once before I submit a proposal.

It's not one I'm involved with

  • code will be borrowed for two existing attempts. Both branches replace the only contents upload page

In this part of PLIP are you telling to use the both libraries uppy and react-uploadify or just comparing them so that the we can decide which would be best for the project.

Neither. The idea is to take the UI from one and.use a completely new lighter lib