dotCMS / dotCMS/core

[FEAT] CD: Asynchronous File Upload Handling with UI

Open
#32,356 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
970
Forks
486
Avg merge
3d 33m
Merged PRs (30d)
170

Description

Feature Title

CD: Asynchronous File Upload Handling with UI

Problem

When a user upload a large file or just a lot of files the UI can't be blocked waiting for the process to finish uploading, instead we should finish the task asynchronously so the user can continue using the product while the upload completes.

Goal

This feature enables the user to multitask while they wait for their uploads to finish. It ensures reliable handling of large file uploads and bulk uploads from the file system by implementing asynchronous processing and a dedicated UI for monitoring progress. This improves the user experience and prevents blocking the main Content Drive interface during lengthy uploads.

Personas

  • Developer teams
  • Content teams
  • DevOps teams
  • Sys Admin

Demo Expectations

  • Open content drive
  • Click add new image
  • Select a bunch of images from your PC
  • Start the upload
  • Show the task manager UI showing the upload in progress and show the individual progress bars and status updates for each file.
  • Go back to content drive UI and perform other actions, like delete a folder, to show that the product remains responsive to your input while the upload process continues asynchronously
  • Demonstrate the ability to cancel individual uploads or the entire batch.
  • Demonstrate success and error messages appearing after each file upload.
  • Demonstrate the entire batch uploading completely, along with totals on succeeded and failed message.
Success Criteria
  • The system handles batch uploads (multiple files) concurrently and asynchronously.
  • A progress UI is displayed for each file being uploaded.
  • The progress UI displays file name, upload progress (%), and status (uploading, completed, failed) (or whatever data we have in the job queue REST API)
  • User can cancel individual or all ongoing uploads.
  • Success and error messages are displayed for each file after upload.
  • The user interface provides feedback on the number of files pending, completed, and failed.
  • Success and error messages are displayed for all files uploaded

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Content Drive add-new-image flow and the job queue REST API referenced in the success criteria. Verify the batch upload, per-file progress and statuses, cancellation, continued UI responsiveness, and totals for succeeded and failed files through the described demo scenarios.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
api, backend, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.