Lifecycle of the record
Note
Suitable for both conventional and SAMIS scenarios
1. Record creation process
1.1 User send request
create recordto ADA API endpoint with minimum metadata requirement(title, submissionType, creators)
The JSON schema of minimum metadata for record creation
{
"$schema": "https://json-schema.org/draft/2019-09/schema",
"type": "object",
"title": "Minimum metadata for record creation",
"required": [
"title",
"submissionType",
"creators"
],
"properties": {
"title": {
"type": "string"
},
"submissionType": {
"type": "string",
"enum": [
"Regular",
"BundleDelivery"
]
},
"creators": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"nameType",
"ORCID",
"email"
],
"properties": {
"name": {
"type": "string"
},
"nameType": {
"type": "string",
"enum": [
"Personal",
"Organizational"
]
},
"ORCID": {
"type": "string"
},
"email": {
"type": "string"
}
}
},
"minItems": 1,
"uniqueItems": true
}
}
}
The example of minimum metadata
{
"title": "create a samis record in ADA",
"submissionType": "BundleDelivery",
"creators" : [
{
"name": "JI, PENG",
"nameType": "Personal",
"ORCID": "0000-0003-1868-5004",
"email": "pengji@ldeo.columbia.edu"
}
]
}
1.2 ADA API endpoint send request
create draft recordto datacite API endpoint and get the responding from datacite looks like below(partial), find full example at https://support.datacite.org/docs/api-create-dois
{
"data": {
"id": "10.5438/0012",
"type": "dois",
"attributes": {
"doi": "10.5438/0012",
"prefix": "10.5438",
"suffix": "0012",
"state": "draft",
"created": "2016-09-19T21:53:56.000Z",
},
},
}
1.3 ADA API ingest data into ADA database
1.3.1 Excute
create operationon tablerecords
insert into records(title, submission_type, doi, doi_status, doi_issued_date) values('create a samis record in ADA','BundleDelivery','10.5438/0012','Draft','2016-09-19') returing *;
The record created like below
id
title
description
submission_type
general_type
specific_type
doi
days_until_release
doi_issued_date
doi_status
process_status
created_at
updated_at
1
create a samis record in ADA
BundleDelivery
Dataset
10.5438/0012
0
2016-09-19
Draft
Accepted
2023-02-13 10:20:38.372
2023-02-13 10:20:38.372
1.3.2 Ingest creator infomation into ADA database * 1.3.2.1 Excute
read operationon viewv_name_entities1.3.2.2 Excute
create operationon tablename_entitiesif the person does not exist in ADA database
insert into name_entities(full_name, family_name, given_name) values ('JI, PENG', 'JI', 'PENG') returning *;
The row created like below
id
full_name
name_type
family_name
given_name
created_at
updated_at
1
JI, PENG
Personal
JI
PENG
2023-02-14 08:59:01.568
2023-02-14 08:59:01.568
1.3.2.3 Excute
create operationon tablename_entity_identifiers
insert into name_entity_identifiers(name_entity_id, external_identifier_scheme_id, identifier) values (1, 2, '0000-0003-1868-5004'), (1, 5, 'pengji@ldeo.columbia.edu') returning *;
The row created like below
id
name_entity_id
external_identifier_scheme_id
identifier
created_at
updated_at
1
1
2
0000-0003-1868-5004
2023-02-14 09:09:06.905
2023-02-14 09:09:06.905
2
1
5
2023-02-14 15:23:40.141
2023-02-14 15:23:40.141
Check view
v_name_entitiesagain, returning like belowid
full_name
name_type
family_name
given_name
identifier_type
identifier
1
JI, PENG
Personal
JI
PENG
ORCID
0000-0003-1868-5004
1
JI, PENG
Personal
JI
PENG
email
1.3.2.4 Excute
create operationon tablerecord_creators
insert into record_creators(record_id, name_entity_id) values (1, 1) returning *;
The row created like below
id
record_id
name_entity_id
created_at
updated_at
1
1
1
2023-02-14 09:22:38.372
2023-02-14 09:22:38.372
1.4 ADA API send record created in ADA back to SAMIS
2. Record submission process
Note
For SAMIS scenarios, the submission can be processed automatically without calling API endpoint to trigger.
2.1 User send request
submit recordto ADA API endpoint with required metada
Note
Must ensure all relevant files have been uploaded to S3 before sending the request
{
"doi": "10.5438/0012",
"process_status": "Submitted"
}
2.2 ADA API endpoint excute
update operationon tablerecordsof ADA database, changeprocess_statustoSubmittedand send back to SAMIS
2.3 Data validation process is triggered and the
procss_statusis changed toInReview2.3.1 if data is not validated, the
process_statusis changed toReject, requestmodify and re-submitis sent back to SAMIS2.3.2 if data is validated, metadata extraction process is triggered.
2.4 Extraction process ingest required metada into various tables of ADA database
2.5 ADA ? endpoint scoop datacite required metadata from ADA database and send it with request
update doi, change state tofindable2.6 ADA ? endpoint execute
update operationon tablerecordsof ADA database with response from datacite, changedoi_statustoFindableandprocess_statustoPublished, then send back to user.