(This ticket is to summarize a functional overview of a user experience. Therefore, it may require Angular UI and/or REST API subtickets for specific tasks listed here.)
DS-4491, the DSpace 7 Angular UI / REST API must support the ability to enhance or enrich an existing submission based on a file upload (similar to DS-4514, but for an existing submission instead of a new submission).
In DSpace 6, metadata enrichment was limited. Technically, the "StartSubmissionLookupStep" classes supporting both BTE (in JSPUI) and Live Import (in XMLUI) were part of the Submission process (and as such therefore updated an existing submission). However, this step always appeared at the beginning, which forced users to use it prior to manually filling out metadata in the submission forms.
In DSpace 7, as all "pages" of the submission form appear at a time, we can no longer assume a user will always begin the submission with a file upload or search. Instead, they may begin to fill out the form manually, only to realize they have a bibliographic file (or PDF) which can autofill some/much of the metadata for them.
Therefore in DSpace 7, this feature must include the following:
- (UI) From within the submission form, the same/similar drag & drop box (from DS-4514) should appear, likely at the top of the page.
- (REST) When a user uploads a bibliographic file (i.e. any file from which we can extract metadata) to an active submission, metadata will be extracted from that file using Live Import. Extracted metadata will be returned to the user.
- (UI) The user will be able to see what metadata was extracted from the file, and decide whether to include it in the current submission form. Initially, it should just be a simple implementation which will replace or add to existing fields (depending on field type of currently enabled fields). If the field is single valued, the extracted value would replace the existing one. If the field is multi-valued or has no value, the extracted value would be added.
- (UI) If the user cancels the enrichment, no changes will be made. If the user accepts it, then all changes will be made. In other words, initially, this can be an all or nothing option. (However, in a future ticket, we could enhance this functionality to allow for individual field enrichment, where the user can chose to enrich some fields while ignoring changes to others.)