Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gbv/orcid-jskos
PHP wrapper to access ORCID in JSKOS format
https://github.com/gbv/orcid-jskos
coli-conc jskos library orcid service
Last synced: 2 months ago
JSON representation
PHP wrapper to access ORCID in JSKOS format
- Host: GitHub
- URL: https://github.com/gbv/orcid-jskos
- Owner: gbv
- License: lgpl-3.0
- Created: 2016-08-10T08:55:12.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-09-19T12:37:13.000Z (over 7 years ago)
- Last Synced: 2024-04-30T18:23:15.321Z (8 months ago)
- Topics: coli-conc, jskos, library, orcid, service
- Language: PHP
- Homepage: http://orcid-jskos.herokuapp.com/
- Size: 11.7 KB
- Stars: 2
- Watchers: 6
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
This repository contains a wrapper written in PHP to access the public [ORCID API](https://members.orcid.org/api) in [JSKOS format](https://gbv.github.io/jskos/) via [Entity Lookup Microservice API (ELMA)](http://gbv.github.io/elma/).
# Background
The [Open Researcher and Contributor ID (ORCID)](https://orcid.org/) is a code to uniquely identify scientific and other academic authors and contributors. ORCID identifiers are a subset of the International Standard Name Identifier (ISNI) consisting of 16 digits in four groups. The final character may also be an `X`. The identifier is prefixed by `http://orcid.org/` to get an URI. For example:
0000-0002-2997-7611
http://orcid.org/0000-0002-2997-7611ORCID organization provides [a public API](https://members.orcid.org/api) to access and search for ORCID profiles. Access to the API requires credentials in form of a "client id" and a "client secret" as decribed at .
# Requirements
Requires the [jskos-php](https://packagist.org/packages/gbv/jskos-php) PHP library.
You also need client credentials from your ORCID profile to access the ORIC API.
# Installation
~~~bash
composer require gbv/jskos-bartoc
~~~This will automatically create `composer.json` for your project (unless it already exists) and add orcid-jskos as dependency. Composer also generates `vendor/autoload.php` to get autoloading of all dependencies.
# Usage
## Use as library
The wrapper can be used as instance of class `ORCIDService`, a subclass of `\JSKOS\Service`:
~~~php
require 'vendor/autoload.php';$service = new ORCIDService($client_id, $client_secret);
~~~See [jskos-php-examples](https://github.com/gbv/jskos-php-examples/) for an example how to use the wrapper as part of a larger PHP application.
## Local webservice for testing
To use as server you also need an implementation of `Http\Message\ResponseFactory`, e.g.
$ composer require php-http/guzzle6-adapter
Locally run the application on port 8080 as following:
$ composer install
$ ORCID_CLIENT_ID=... ORCID_CLIENT_SECRET=... php -S localhost:8080You can also put credentials into `credentials.php` as described above.
Given valid credentials, ORCID profiles can be accessed in JSKOS like this:
*
*
*## Webservice via Apache webserver
3. Run `composer install` to download dependencies into directory `vendor`
4. Add a file `credentials.php` with client credentials as following:
~~~php
Require all granted
## Webservice at Heroku
3. [Create an app](https://devcenter.heroku.com/articles/creating-apps)
4. [Configure the app](https://devcenter.heroku.com/articles/config-vars)
5. [Deploy the app](https://devcenter.heroku.com/articles/git)In short:
$ heroku create
$ heroku config:set ORCID_CLIENT_ID=...
$ heroku config:set ORCID_CLIENT_SECRET=...
$ git push heroku master# Contributung
Bugs and feature request are [tracked on GitHub](https://github.com/gbv/orcid-jskos/issues).
See `CONTRIBUTING.md` of repository [jskos-php](https://packagist.org/packages/gbv/jskos) for general guidelines.
# Author and License
Jakob Voß
orcid-jskos is licensed under the LGPL license (see `LICENSE` for details).