[Proposal] File Upload Button Behavior Improvement in edx-ora2

Overview:

This change aims to enhance the user experience during file uploads in the edx-ora2 by disabling the "Upload Files" button and showing a spinner while the upload is in progress. This will prevent multiple submissions during the upload process and provide clear feedback to users that their action is being processed.

Problem:

Users are currently able to click the upload button multiple times while the upload is in progress, flooding the LMS with redundant requests and causing performance issues. Additionally, learners lack a clear indicator that the system is processing their file upload, leading to confusion.

Use Cases:

  • As a learner, I need to know when my file upload is being processed so that I don’t submit multiple requests and cause delays or confusion.

  • As an instructor, I want to ensure that my students' file uploads are processed smoothly and without creating extra load on the system, allowing me to assess submissions without technical delays.

Proposed Solution:

  1. Disable the Upload Button During Uploads: To prevent multiple submissions, the "Upload Files" button will be automatically disabled once the upload begins.

  2. Show Spinner During Upload: A spinner will be displayed to indicate the upload is in progress, offering visual feedback that reassures learners their action is being processed.

  3. Toggle on Completion or Failure: Once the upload completes, the button will be re-enabled, and the spinner will disappear. In case of failure, users will receive an error message and be allowed to try again.

Implementation Plan:

OpenCraft has implemented this feature and is waiting for review: https://github.com/openedx/edx-ora2/pull/2237