Giter VIP home page Giter VIP logo

paperbadger's Introduction

PaperBadger Build Status

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.

Proposed Workflow / Implementation

Getting Started

Project Setup

  1. Clone PaperBadger and enter the directory: git clone https://github.com/mozillascience/PaperBadger && cd PaperBadger
  2. Install PaperBadger's Node dependencies: npm install
  3. If you would like to override the default, create .env file in your favourite text editor.

PORT, 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 and ORCID_REDIRECT_URI environment variables are set to the correct values. PORT can be any available port. 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.

  1. Run npm start, and open up http://localhost:5000/ in your favourite web browser!

Using the Widget

Researchers earn badges for their specific contributions to an academic paper. A researcher who worked on investigation earns a prestigious investigation badge for that paper.

The PaperBadger widget enables anyone to easily display badges on any website by including just a few lines of script with the relevant doi (digital object identifier) and a designated <div> in your view file. Authors can add the script to their own sites to display badges earned, while publishers can use the script to display all badges associated with a paper:

Badge Preview

  1. To use the widget on your own site, include a <div> with your custom class in your view file, for example: <div class="my-container"></div>

  2. Add <script src="https://badges.mozillascience.org/widgets/paper-badger-widget.js"></script> above the closing <body> tag.

  3. In your scripts, include your custom class name as the value for the "container-class" key, for example:

    <!DOCTYPE html>

    <html>
    <head>
    <title>Paper view snippet example | Paper Badger</title>
    </head> 
    <body>

    <div class="my-container"></div>

    <script src="https://badges.mozillascience.org/widgets/paper-badger-widget.js"></script>
    <script> 
        var conf={"article-doi": "10.1186/2047-217X-3-18", "container-class": "my-container"};
        showBadges(conf);
    </script>
    </body>
    </html>

Contributing

Project Roadmap: #17

Please review our contributing guidelines here

Want to help? Drop us a line in this issue.

API Endpoints

paperbadger's People

Contributors

abbycabs avatar audy avatar aid29 avatar rcpeters avatar alicoding avatar aperala avatar alicole avatar scottdowne avatar wjrsimpson avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.