Skip to content

Feature Request/Idea: reusing file upload page as dvwebloader #468

@ErykKul

Description

@ErykKul

Overview of the Feature Request
The goal is to upgrade the classic JSF upload experience by reusing the new SPA upload components. This includes folder upload support and a UI that is visually aligned with modern Dataverse frontend components.

This work started as a feasibility experiment and is now tracked as an implementation plan across three repositories.

Linked implementation PRs (cross-repo)

What kind of user is the feature intended for?
(Example users roles: API User, Curator, Depositor, Guest, Superuser, Sysadmin)
Depositor (primary), Curator (secondary)

What inspired the request?
The SPA file upload page and its overlap with the current dvwebloader use case.

What existing behavior do you want changed?

  • Replace/upgrade the classic upload UI path with the SPA-based upload component integration.
  • Keep current permission and dataset workflows intact.
  • Reduce reliance on older iframe-based integration patterns where possible.

Any brand-new behavior do you want to add to Dataverse?

  • Folder upload in the classic UI path.
  • Improved upload UX parity with the SPA.

Any open or closed issues related to this feature request?

Additional Dataverse tracking issues

Strategic context / ultimate goal
This uploader modernization is a foundation step for the tree view and downloads work in Dataverse issue #6691. The broader objective is to implement complex UI behavior once in the new SPA component model and reuse it in JSF and potentially other frontends, instead of maintaining separate feature implementations.

Target outcome: complete this uploader baseline quickly, then carry the same reuse pattern into the tree view feature, with a goal of having an initial tree view slice ready for review before June 2026.

Uploader integration direction for this track: keep the current working flow and prioritize tree-view-related work first.
Direct JavaScript mount in JSF is planned for tree view reuse (separate from tree view SPA implementation itself).

Implementation checklist (status + next steps)

  • Cross-repo baseline PRs opened.
  • Initial feasibility validated (standalone uploader path works in principle).
  • Execute Dataverse session-auth hardening track from PR #12178
  • Completed (not yet merged) dataverse-client-javascript PR #403 (provides publishable client library target).
  • dataverse-frontend PR Add reusable React components: file uploader and file tree view #898 to uses GitHub npm package client library artifacts instead of local linking.
  • Complete (and merge when ready) dataverse-frontend PR Add reusable React components: file uploader and file tree view #898.
  • End-to-end testing in JSF integration path (upload, folder upload, auth/session behavior, permissions).
  • Documentation and rollout notes.
  • Start implementation track for tree view/download integration based on #6691 using the same SPA-to-JSF reuse approach.
  • Have an initial tree view feature slice ready for review before June 2026.
  • Reviews, implementation of in review requested changes, merging.

Planned order of work

  1. dataverse-client-javascript (PR #403 ).
  2. dataverse-frontend (Add reusable React components: file uploader and file tree view #898).
  3. Tree view implementation in SPA (#6691 track).
  4. Direct JS mount in JSF for tree view reuse (#12179).
  5. Session-auth hardening track (#12178) in parallel, treated as lower-priority/non-blocking for initial feature rollout.

Dependency model
The order above is primarily a merge-order dependency, not a coding-order dependency. Implementation can proceed in parallel while keeping local build references between repos; those local references are replaced with published/merged artifacts as upstream PRs land. Session-auth hardening is treated as a separate track and should not block initial feature rollout.

Estimated timeline (as of February 24, 2026)

  1. Late February to March 2026: continue implementation in dataverse-client-javascript and dataverse-frontend using local build references where needed, and start tree view implementation in SPA.
  2. March to April 2026: complete tree view implementation track and JSF mount/reuse track; keep session hardening as a separate lower-priority track.
  3. By end of April 2026: target all core coding to be implementation-complete (including tree view initial scope and mount path).
  4. May to June 2026: review/merge/release timing and stabilization based on maintainer bandwidth.

Metadata

Metadata

Assignees

Labels

Size: 130A percentage of a sprint. 91 hours.enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions