gigascience / gigadb-website

Source code for running GigaDB
http://gigadb.org
GNU General Public License v3.0
9 stars 15 forks source link

RV and GigaDB integration via API #341

Open only1chunts opened 5 years ago

only1chunts commented 5 years ago

As a curator I want RVT to push manuscript information to GigaDB So that we have an integrated workflow for efficient work

As a RVT system I want to post data to manuscript endpoint So that all information the curators need about manuscript are saved in GigaDB

As a curator I want all API transactions to be logged in the appropriate logging table

As a curator I want a dataset record to be created when a manuscript is sent to GigaDB manuscript endpoint So that we can save information from RVT in the correct tables in GigaDB database

As a curator, I want a user record to be created for the submitting author of manuscript when such manuscript is sent to GigaDB manuscript endpoint So that the submitting author can submit the associated dataset

As a curator, I want author records to be created or updated when a manuscript is sent to GigaDB manuscript endpoint So that author information created in RVT is saved in GigaDB database

As a curator, I want keywords to be saved as attributes to dataset when a manuscript is sent to GigaDb manuscript endpoint So the keywords created in RVT can be associated to dataset in GigaDB

As a curator, I want funder information to be saved in GigaDB when a manuscript is sent to GigaDb manuscript endpoint So the funder information created in RVT can be associated to dataset in GigaDB

As a curator, I want the upload status to be set as "AssigningFTPbox" and an email to be sent to "database@gigaciencejournal.com" when a manuscript has been successfully imported from RVT So that I can process it

Additional information

RV will need to push details to GigaDB via the API. Here we list the things that will be updatable via the API.

1- When the RV user set the RV status to "Curator Assess MS" it should trigger an API push to GigaDB of that manuscript information to create a GigaDB dataset with all the following available elements:

First Check IF GigaDB already has a dataset with manuscript ID matching the one trying to be created - If so, see 1b.

Create new user, including; first_name, last_name, email, institute, ORCID At some point the user table will also include private FTP dropbox details which will need to be able to be created via API. This will be after we have Rija's uploader work stuff integrated.

Create new dataset including; ID, DOI, submitter_ID, description, title, upload_status, publication_date, modification_date,

Create new author, including; First name, middle name, last name, display name, orcid

create new dataset_authors, including; dataset id, author id, order

create new dataset_attributes, including; keywords, manuscript-submission ID, curator ID, <NOTE - not sure where manuscript ID and curator ID are stored?>

create new dataset_log, including; ??? what is the dataset_log?

create new dataset_external_link, including; dataset id, URL, external_link_type_id

create new dataset_funder, including; funder ID, comments, grant_award, dataset_id

create new curation logs, including; type, comment, date

The dataset.status will be "AssigningFTPbox" (we will need a notification email sent from GigaDB to database@ so that we know to look for this new dataset in GigaDB)

1b - IF GigaDB already has a dataset with manuscript ID matching the one trying to be created, then compare details and update fields according to new details from RV, record all differences in Curator Log.

2 - For dataset with status="AssigningFTPbox" and Manuscript ID="{GigaByte reg-ex}", if curator sets dataset_status = "DataAvailableForReview" then API push to RV "Curator Assessment" form with the following; Data hosting by GigaDB = Y Data ready for peer review = Y Curator comments = {curation log comment} dataset mokcup URL = private dataset URL (made from URL and dataset.token) Dataset DOI = dataset.identifier and then set the RV status to "Review MS" - At that point the Editors will need to send it to review.

OR

For dataset with status="AssigningFTPbox" and Manuscript ID="{GigaByte reg-ex}", if curator sets dataset_status = "NotRequired" then API push to RV "Curator Assessment" form with the following; Data hosting by GigaDB = N Data ready for peer review = Y Curator comments = {curation log comment} dataset mokcup URL = not required Dataset DOI = not required and then set the RV status to "Review MS" - At that point the Editors will need to send it to review.

3 - If "Editor decision" is "Data needs correction". RV sends notification to GigaDB changing status to "UserUploadingData" and add curation note "Ed X requested authors to update data in dropbox + {curent date+time} + {RV Editor notes}".

4 - IF "Editor decision" is "Final Data Prep". RV sends notification to GigaDB changing status to "Submitted" and add curators note saying "Ed X is preparing to accept the manuscript and requires the dataset to be completed + {RV Editor notes}". A notification email also needs to be sent to Handling Curator (named in GigaDB, if no name present then send to database@giga) to ensure curators know to start working on it.

5 - If "Editor decision" is "Major revision". no action for GigaDB

6 - If "Editor decision" is "Minor revision". no action for GigaDB

7 - If RV status "Assess Revision" gets moved to "Final Data Prep". RV sends notification to GigaDB changing status to "Submitted" and add a curators note saying "Ed X is preparing to accept the manuscript and requires the dataset to be completed + {RV Editor notes}". A notification email also needs to be sent to Handling Curator (named in GigaDB, AND to database@giga) to ensure curators know to start working on it.

8 - For dataset with status="Submitted" and Manuscript ID="{GigaByte reg-ex}", if curator sets dataset_status = "private" , GigaDB will notify RV to change RV to the "Accept" stage, and add note to RV saying "Dataset {DOI} is ready and will be released {publication date}".

9- If RV status "Accept" gets moved to "Export to production" RV sends notification to GigaDB with Linked manuscript

Additional calls

rija commented 3 years ago

It's superced by #668

rija commented 2 years ago

it's an epic from RVT to GigaDB API manuscript import