A standalone tool to copy data between two BrAPI enabled database/servers.
This tool can be used to synchronize entities via BrAPI standard. This includes:
- Germplasm (option to include ancestors/pedigree tree)
- Trial
- Study
- Observation Units
- Observation Variable
- Observation
This is a beta version and still under develppment.
- GET /programs
- GET /germplasm
- POST /germplasm
- GET /locations
- GET /breedingmethods
- GET /trials
- POST /trials
- GET /studies
- GET /studies/{studyDbId}
- POST /studies
- GET /search/observationunits/{searchResultsDbId}
- POST /search/observationunits
- POST /observationunits
- GET /search/variables/{searchResultsDbId}
- POST /search/variables
- PUT /studies/{studyDbId}
- GET /observations
- POST /observations
- GET /search/pedigree/{searchResultsDbId}
- POST /search/pedigree
- PUT /pedigree
Utilizing BrAPI v2 endpoints, the application extracts and filters entities from the source server, subsequently transmitting them to a designated target server. Prior to the transmission of these entities, the application processes the data to ensure that the identifiers (e.g. studyDbId, trialDbId, germplasmDbId, ...) precisely align with the corresponding records on the target server.
For the purpose of monitoring the records of submitted entities, the application appends an extra entry within the externalReferences field, as depicted below. This added information serves as a basis for ascertaining whether the entities already exist in the target server.
{
"externalReferences": [
// copied from source germplasm
{
"referenceID": "doi:10.155454/12341234",
"referenceSource": "DOI"
},
{
"referenceID": "http://purl.obolibrary.org/obo/ro.owl",
"referenceSource": "OBO Library"
},
{
"referenceID": "75a50e76",
"referenceSource": "Remote Data Collection Upload Tool"
},
// added by the application on submission
// The referenceID is the URL of the server where the entity is copied from
// The referenceSource is the name of the application used to copy the entity
{
"referenceID": "https://www.bms-uat-test.net/bmsapi/maize/brapi/v2/germplasm/<UUID of the entity from the source>",
"referenceSource": "brapi-sync"
}
]
}
This project was generated with Angular CLI version 11.2.3.
- NodeJS 14.17.x
- npm 6.x
Run ng serve
for a dev server. Navigate to http://localhost:4200/
. The app will automatically reload if you change any of the source files.
Run ng generate component component-name
to generate a new component. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module
.
Make sure the NodeJS and npm is installed
Run npm install
to install the project depedencies.
Run ng build
to build the project. The build artifacts will be stored in the dist/
directory. Use the --prod
flag for a production build.
Run ng test
to execute the unit tests via Karma.
Run ng e2e
to execute the end-to-end tests via Protractor.
To get more help on the Angular CLI use ng help
or go check out the Angular CLI Overview and Command Reference page.