bioprotocol-service
is an application that receives requests from the eLife journal for
Bioprotocol data and keeps Bioprotocol updated with newly published articles.
It is a Python and Django application.
bioprotocol-service
can be accessed directly at https://prod--bp.elifesciences.org/, and content is available at
/bioprotocol/article/{msid}
, for example, Homo Naledi:
{
"total": 19,
"items": [
{
"sectionId": "s5-1-1",
"title": "Australopithecus afarensis",
"status": false,
"uri": "https://bio-protocol.org/eLIFErap09560?item=s5-1-1"
},
{
"sectionId": "s5-1-2",
"title": "Australopithecus africanus",
"status": false,
"uri": "https://bio-protocol.org/eLIFErap09560?item=s5-1-2"
},
{
"sectionId": "s5-1-3",
"title": "Australopithecus garhi",
"status": false,
"uri": "https://bio-protocol.org/eLIFErap09560?item=s5-1-3"
},
[...]
{
"sectionId": "s5-6",
"title": "Stature estimation methods",
"status": false,
"uri": "https://bio-protocol.org/eLIFErap09560?item=s5-6"
}
]
}
bioprotocol-service
is available through the eLife API gateway at: https://api.elifesciences.org/bioprotocol/
The availability of the API can be tested with /ping
The status of the API can be tested with /status
bioprotocol-service
will monitor an AWS SQS queue for article publication notifications, download the article, convert
it to a Bioprotocol-preferred data structure and then HTTP POST the results to the Bioprotocol servers. This ensures
Bioprotocol has the most recent set of published articles and relieves them of polling eLife infrastructure for new
articles.
Articles that fail to send to Bioprotocol can be re-sent with:
./resend-elife-article-to-bp.sh {msid}
Bioprotocol data is sent to eLife's bioprotocol-service
as it becomes available via a HTTP POST request.
Bioprotocol data that fails to be ingested can be reloaded with:
./reload-article-data-from-bp.sh {msid}
./install.sh
./test.sh
./update-dependencies.sh
./update-fixtures.sh
Copyright 2019 eLife Sciences.
The bioprotocol-service
project is MIT licenced.