Giter Club home page Giter Club logo

kbase-service-orcidlink's Introduction

ORCID Link (kbase-service-orcidlink)

ORCID Link is a KBase core REST service whose primary purpose is to link KBase accounts to ORCID accounts.

ORCID Link also provides functional on top of the link, such as fetching the profile for a linked account, and managing the "works" for a linked account

The service is implemented in Python, using the FastAPI library.

Please see the design doc for further information.

Security

This service will only run with a specific set of environment variables, some of which contain private keys which are essential for communication with ORCID Services. See the deploymet doc for details.

Background

Many users of KBase also are ORCID (Open Researcher and Contributor ID) users as well. There are many opportunities for synergy between KBase and ORCID with respect to their users. Examples include:

  • profile synchronization: An ORCID account is designed to serve as a canonical profile; as such, a KBase profile is not only redundant, but may be in conflict; KBase can use a user's associated ORCID profile to synchronize with or replace the KBase profile.
  • automated publication: KBase is a platform supporting publication of analysis documents termed "Narratives", as well as the publication of openly accessible data. A KBase user who publishes Narratives and data and obtains a DOI, may use KBase tools to automatically populate and manage the "works" section of their profile.

By linking a KBase account to an ORCID account, tools described above can be implemented, to the benefit of KBase users.

Installation

This service is not directly installable as such. It is a REST-based web service and must be built and run within a compatible deployment environment.

One could say that "installation" consists of building a Docker image and hosting it somewhere. In practice, this is conducted at GitHub, with a build conducted by GitHub Actions and hosted at the GitHub Container Repository (GHCR), also known as GitHub Packages.

Usage

There are different scenarios under which ORCID Link may be run and utilized. Each is described in separate sections:

Deployment support is described, but deployment practices and mechanics are out of scope of this document and service.

Running as a local service is not only feasible but the normal model for development.

Usage

ORCID_SANDBOX_CLIENT_ID=<client id> ORCID_SANDBOX_CLIENT_SECRET=<client secret> docker compose up

It currently works with the ORCID sandbox, so the credentials used above must be obtained from an ORCID sandbox account.

API

The API docs are generated automatically, and are available in the codebase as well as from a live instance of the service at the /docs endpoint.

Contributing

For supported and recommended development practices see development.

License

See license in LICENSE.md

kbase-service-orcidlink's People

Contributors

eapearson avatar

Watchers

 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.