-
Notifications
You must be signed in to change notification settings - Fork 292
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
deposit: fixes for JSON-based records #3364
Conversation
* Adds invenio-records to the devel requirements. * INCOMPATIBLE Reworks the default (i.e. example/simple) workflow for deposit. SIPs are now sealed and dumped after we collected all form data and before ANY further modification to the deposit are made. This also holds for adding the default collection information to the deposit. Further analysis and work is required to make this process standard compliant (e.g. splitting SIP, DIP, ...). Dumped SIPs are now in JSON (was XML). Signed-off-by: Marco Neumann <marco@crepererum.net> Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
Because we should dump everything what we get from the user without modifying it. That's for the case that someone wants to re-run the deposit on a new version, a different platform or after something went terribly wrong. Bibupload is dead. It is a bad thing which was designed before we were using a proper ACID database.
It is not a SIP anyway and we never had a proper one. It is a best effort to show that we already dumped the user input and that everything you do now to the SIP won't be reproduced by other software. We now have
What might be important (and is written down in the commit message): We need to rework the SIP/DIP/... thing in the future to make it (finally, it never was) standard compliant. If you (or everyone else) wants to volunteer, feel free to sit down with some library people, discuss the best solution, implement it, submit a PR, wait for the OK from the Invenio team and the librarians and then finally make Invenio a proper library system. Last little note: as far as we know we do NOT need to use MarcXML to conform with the standard. We were even wrong when storing the transformed user input as an SIP (without any other packages), because the form data (=JSON) to marc conversion is a heavy modification of the data and might destroy reproducibility. |
Thanks a lot for the thorough explanation @crepererum . It makes sense. If we will use that convention I will adapt our tasks to make use of it. |
Some comments:
|
deposit. SIPs are now sealed and dumped after we collected all form
data and before make ANY further modification to the deposit. This
also holds for adding the default collection information to the
deposit. Further analysis and work is required to make this process
standard compliant (e.g. splitting SIP, DIP, ...). Dumped SIPs are
now in JSON (was XML).
Signed-off-by: Marco Neumann marco@crepererum.net
NOTE: This is currently only working when using the devel (i.e. unreleased) version of invenio-records. Keep this in mind when building Docker images for interactive testing. (reminder: there is an ENV-flag to control the dependency installation similar to our Travis setup).