NOMAD OASIS synchronisation
Assume the use-case that someone runs an OASIS and wants to submit some of the uploads to a central NOMAD. This is different from establishing a mirror of the central NOMAD.
tasks/plan
- A piece of user-defined metadata for uploads that can be edited via API and GUI needs to be added (e.g.
centrally_published
). This is only enabled for OASIS not for the central NOMAD. - An upload based (
nomad.processing.data::Upload
) celery process that uploads the upload (at least the public data) to the central NOMAD and sends the user metadata (including upload and calc ids). (related to #390 (closed)) - The upload API probably has to be changed to accept predefined upload and calc ids. (related to #390 (closed))
- We need additional metadata on the central NOMAD to remember the origin of the upload/calcs (related to #330 (closed)).
problems, side effects, and checks that have to be implemented:
- because the transfer sets metadata including ids, the transfer has to be performed by the OASIS admin user and the central NOMAD has to check if the uploader is the admin user of the OASIS in question
- only published uploads can be transferred
- uploads with embargoed data cannot be transferred
- the versions of the OASIS and the central NOMAD must be compatible
- the metadata of calculations of transferred uploads should not be changeable