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

Import Metadata CSV (Enhanced, with Preview of Changes, as in v6.x) #2849

Closed
heathergreerklein opened this issue Jul 10, 2020 · 3 comments
Closed
Assignees
Labels
Difficulty: high Estimated at more than 16 hours e/32 Estimate in hours high priority interface: REST API v7+ REST API for v7 and later (dspace-server-webapp module) tools: import Related to import of data into the system
Milestone

Comments

@heathergreerklein
Copy link

heathergreerklein commented Jul 10, 2020

From release plan spreadsheet

Estimate from release plan: 33 hours
Expressing interest: none

"Adds the capability to preview the changes and exports search result, which will require a dedicated endpoint (beyond the generic ""scripts & processes"" endpoint)

An endpoint is needed /utilities/bulkedits where POST is used to create a new bulkedit preview. The final import can be done via the scripts endpoint supplying the preview uuid (that can be used as name of the temporary file). DELETE will cancel the bulkedits removing the files, otherwise a cleaning script can be used to remove file older than a defined period.
The dspace-api should be revisited to allow pagination of the changes in the preview but this is postponed to a future improvement."

Related UI ticket: DSpace/dspace-angular#782

@heathergreerklein heathergreerklein added interface: REST API v7+ REST API for v7 and later (dspace-server-webapp module) tools: import Related to import of data into the system Difficulty: high Estimated at more than 16 hours medium priority labels Jul 10, 2020
@heathergreerklein heathergreerklein added this to the 7.1 milestone Jul 10, 2020
@heathergreerklein heathergreerklein added the e/32 Estimate in hours label Jul 20, 2020
@tdonohue tdonohue removed this from the 7.1 milestone Oct 6, 2021
@abollini
Copy link
Member

We suggest to double check the priority set for this issue as it seems to us that we are going to add eventually very limited value at a high cost.
Right now, the script & process endpoint already provide flags to run the script in validate only mode, this result in a log file where all the changes are noted. The administrator can use this mode to verify what is going to happen before to run the real import.
Implementing a preview would enhance the system as follow:

  • the administrator would be not required to upload the file two times (but we are talking about small files)
  • we can build a nicer UI than just a textual output

some cons:

  • the cost, we think that this is issue (and the angular one) is heavily underestimated, we would set the estimation for the REST part to 80 hours
  • the processing will happen in sync as the REST endpoint needs to return the changes in the response
  • adding support for the pagination in future will be a breaking compatibility change. It should be noted that in previous versions the UI has a limit (default to 20) to the number of items that can be included in the bulk edit. We could eventually decide to don't support large preview so that only the changes to the first X items will included in the response and the full changes can be always retrieved via the log file.

If the community still feel that this issue must be processed we recommend to

  • make some improvement to the metadata-import process script as right now there are two conflicting parameter "silent" and "validate-only" that should be alternative but can be both specified or excluded. The default should be in validate-only mode to be safer

  • a previewid parameter should be added to the script so that the confirmation in the UI will trigger the import using the existing process endpoint that will work async (calculate changes should be / can be much faster and less resource intensive than the actual import)

@tdonohue
Copy link
Member

@abollini : I've reviewed your analysis above & I agree with it. I feel this feature basically already exists & I only feel a very minor User Interface change is necessary. See my comment in the UI ticket: DSpace/dspace-angular#782 (comment)

Therefore, I'd propose that no backend changes are necessary in 7.3 (unless you feel there's any minor cleanup needed to better support the minor User interface change I suggested in my comment).

@tdonohue
Copy link
Member

Closing, as this is considered fixed by DSpace/dspace-angular#1636

As described above, for 7.x we determined that this was better implemented via a "Validate Only" flag in the User Interface. This does mean that the preview requires a second step:

  1. First submit CSV with "Validate Only" - Provides a preview of changes which will be applied
  2. Then, submit CSV without that flag - Implements the changes previously validated.

@tdonohue tdonohue added this to the 7.3 milestone May 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Difficulty: high Estimated at more than 16 hours e/32 Estimate in hours high priority interface: REST API v7+ REST API for v7 and later (dspace-server-webapp module) tools: import Related to import of data into the system
Projects
None yet
Development

No branches or pull requests

3 participants