Exploring the use of digital badges for crediting contributors to scholarly papers for their work
As the research environment becomes more digital, we want to test how we can use this medium to help bring transparency and credit for individuals in the publication process.
This work is a collaboration with publishers BioMed Central (BMC) and the Public Library of Science (PLoS); the biomedical research foundation, The Wellcome Trust; the software and technology firm Digital Science; the registry of unique researcher identifiers, ORCID; and the Mozilla Science Lab.
-
Clone PaperBadger and enter the directory:
git clone https://github.com/mozillascience/PaperBadger && cd PaperBadger
-
Install PaperBadger's Node dependencies:
npm install
-
Copy the configuration template to its expected location:
cp env.dist .env
-
Open
.env
in your favourite text editor and ensure that yourPORT
,SESSION_SECRET
,BADGES_ENDPOINT
,BADGES_KEY
,BADGES_SECRET
,BADGES_SYSTEM
,ORCID_AUTH_CLIENT_ID
,ORCID_AUTH_CLIENT_SECRET
,ORCID_AUTH_SITE
,ORCID_AUTH_TOKEN_PATH
andORCID_REDIRECT_URI
environment variables are set to the correct values.PORT
can be any available port. Runsource .env
. If you would like to develop against the hosted custom badgekit-api we have running specificaly for PaperBadger testing, your environment values should look this:# default port is 5000 export PORT=5000 export SESSION_SECRET=USE_SOMETHING_GOOD_LIKE_puUJjfE6QtUnYryb # Badges export BADGES_ENDPOINT=http://badgekit-api-sciencelab.herokuapp.com/ export BADGES_KEY=master export BADGES_SECRET=############# export BADGES_SYSTEM=badgekit # ORCID Auth export ORCID_AUTH_CLIENT_ID=############# export ORCID_AUTH_CLIENT_SECRET=############# export ORCID_AUTH_SITE=############# export ORCID_AUTH_TOKEN_PATH=############# export ORCID_REDIRECT_URI=#############
Ask @acabunoc for ones marked ###########
. Our custom BadgeKit API code can be found here.
- Run
npm start
, and open uphttp://localhost:5000/
in your favourite web browser!
Please review our contributing guidelines here
Want to help? Drop us a line in this issue.
- GET /badges
- Get all badges we issue
- GET /badges/:badge
- Get all badge instances of a certain badge
- e.g. /badges/formal_analysis
- GET /users/:orcid/badges
- Get all badge instances earned by a user
- e.g. /users/0000-0003-4959-3049/badges
- GET /users/:orcid/badges/:badge
- Get all badge instances of a certain badge earned by a user
- e.g. /users/0000-0003-4959-3049/badges/investigation
- GET /papers/:doi1/:doi2/badges (not implemented)
- Get all badge instances for a paper.
- GET /papers/:doi1/:doi2/badges/:badge
- Get all badge instances of a certain badge for a paper.
- e.g. /papers/10.1371/journal.pbio.1002126/badges/investigation
- GET /papers/:doi1/:doi2/badges/:orcid/badges
- Get all badge instances earned by a user for a paper.
- e.g. /papers/10.1371/journal.pbio.1002126/users/0000-0003-4959-3049/badges
- GET /papers/:doi1/:doi2/badges/:orcid/badges/:badge
- Get all badge instances of a certain badge earned by a user for a paper.
- e.g. /papers/10.1371/journal.pbio.1002126/users/0000-0003-4959-3049/badges/investigation
- POST /papers/:doi1/:doi2/badges/:orcid/badges/:badge
- Issue a badge