Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom upload steps are hard to implement because the upload identifier/name is hardcoded in multiple places #9486

Open
ybnd opened this issue Apr 19, 2024 · 0 comments · May be fixed by #9489 or DSpace/dspace-angular#2971
Assignees
Labels
bug component: submission Related to configurable submission system improvement needs triage New issue needs triage and/or scheduling

Comments

@ybnd
Copy link
Member

ybnd commented Apr 19, 2024

Describe the issue
When customizing submission forms, we've ended up needing to extend the standard upload step a few times already.

While it's easy to extend UploadStep (or related classes), there are multiple spots in the REST & Angular codebase where we expect upload steps to be called upload. This makes it impossible to support "standard" and "custom" upload steps within the same repository without modifying more general code:

  • SubmissionSectionHalLinkFactory doesn't work for upload steps with a name that isn't exactly upload. There is also a mixup between the upload step and UploadConfiguration ID.
  • DataProcessingStep requires the name of the step and validation to match exactly, which makes it difficult to extend the existion upload step while retaining (part of) the same validation logic.
  • The upload "drop zone" only appears on submission pages if there is a step called upload
  • Upload sections without files are never parsed on the Angular side, which is problematic is we want to include a form there

Expected behavior
It should be straight-forward to write and use custom upload steps.

Proposed solution
We want to introduce a <type extends="...">...</type> option to item-submission.xml to indicate that a step definition extends an existing one.
Uing this option, custom upload steps can declare that they should be treated like upload steps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug component: submission Related to configurable submission system improvement needs triage New issue needs triage and/or scheduling
Projects
Status: 🆕 Triage
1 participant