IQSS / IQSS/dataverse-frontend

Feature Request/431 file upload page missing features

Open
#431 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement GREI Re-arch integration SPA: File Upload Page
Dominant language
TypeScript
Stars
31
Forks
26
Avg merge
4d 13h
Merged PRs (30d)
4

Description

Overview of the Feature Request
This issue summarizes the remaining work needed to have a fully featured file upload functionality in the new SPA UI.
Follow-up to the PR #418:

  • #481
  • use the new SelectMultiple component for tag selection
  • implement handling of the duplicate files having either an identical content or label+name
  • extend the interface of the add uploaded files call in the js-dataverse library to accept more parameters, like tags, description, etc., and make it support adding multiple files at once, i.s.o. adding files one-by-one (addUploadedFilesToDataset call), see also https://guides.dataverse.org/en/latest/developers/s3-direct-upload-api.html#direct-add-to-dataset-api. When ready, the implementation of FileJSDataverseRepository.ts addUploadedFile method can be refactored to no longer mock a file, that is not needed here, but to use a proper interface with description, restricted boolean, tags, etc.
  • implement turning off tagging option for the file upload use case in DV-JS client
  • implement new use case needed for installations not supporting S3 tagging, but also useful for other installations: cleanup storage of a dataset
  • refactor scss of src/sections/upload-dataset-files/FileUploader.module.scss to no longer contain the !important addition.
  • improve state handling where it can be simplified in some way
  • add real e2e test at least for this cases:
    • Upload a single file
    • Upload multiple files
    • Upload multiple files and cancel one.
    • And after each test navigate to the Dataset that the files were uploaded and check they exists in the Files Table
  • display: contents causes an element's children to appear as if they were direct children of the element's parent, ignoring the element itself. This can be useful when a wrapper element should be ignored when using CSS grid or similar layout techniques. It's a bit fragile css hack and we should use a table here perhaps and not a Card to render the list of uploaded files.
  • document differences with the JSF file upload
  • implement dvwebloader using file upload page #468

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

What inspired the request?
Uploading files feature.

What existing behavior do you want changed?

Any brand-new behavior do you want to add to Dataverse?
Uploading files feature.

Any open or closed issues related to this feature request?
#417

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 upload page and the remaining checklist items, especially FileJSDataverseRepository.ts, the DV-JS client, and the FileUploader.module.scss reference. Review the linked upload API documentation and issue #468 before choosing a remaining item. Done means the unchecked upload features are implemented and covered by the relevant upload-page tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
scss, typescript
Domain
frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.