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.