Skip to content

publication-importer is a composer package that imports publication lists from multiple sources such as BibTex file, Google Scholar, EndNote file, PubMed identifers and DOIs.

License

Notifications You must be signed in to change notification settings

Proximify/publication-fetcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

publication-fetcher

publication-fetcher is a composer package that imports publication lists from multiple sources such as BibTex file, Google Scholar, EndNote file, PubMed identifers and DOIs.

Getting Started

publication-fetcher both offers an API and a CLI to import publications.

Installation

    composer require proximify/publication-fetcher

or create a project:

    composer create-project proximify/publication-fetcher

Note: If you install publication-fetcher as dependency (i.e. installing with the require option), you have to create the binary files manually. To do that, go to C folder under src and run "make" command.

API

The publication-fetcher imports from bibtex, Google Scholar (bibtex) and endnode files. Sample bibtex and endnodes files are available docs folder.

    use Proximify\PublicationFetcher\PublicationFetcher;
    
    $importer = new PublicationFetcher();
    $type = 'bibtex';
    $source = 'PATH_TO_FILE;
    $res = $importer->importPublications($type, $source);
    print_r($res);

It also fetches publications from PubMed references (i.e. PubMed ids)

    print('Importing from Pubmed:');
    $type = 'pubmed';
    $sources = [28375682, 20813019];

    foreach ($sources as $source)
    {   
        $res = $importer->importPublications($type, $source);
        print_r($res);
    }

and DOIs:

    print('Importing from DOI:');
    $type = 'doi';
    $source = 'DOI: 10.1177/0741713611402046 DOI:10.18653/v1/P17-1152';
    $res = $importer->importPublications($type, $source);
    print_r($res);

Testing

publication-fetcher offers a CLI, a web interface and a test suite for testing purposes.

CLI:

    composer import-pubs

Test suite

    php dev/tests/Test.php

You can also use the web interface for testing under the dev folder:

    php -S localhost:8000 -t dev/www

Note: Please set the correct path for the autoloader.php under the dev/www/api/index.php and dev/tests/Test.php. Otherwise, the test script will fail.

Known Issues

Publication fetcher component was created by using UNIWeb's publication importing system which includes features like reference deduplication. Deduplication process involves ignoring references already in user's CV. Features like this requires direct access to the database which is not supported by this component yet.

Future Work

A possible future work would be creating another component (i.e. publication importer) which both employs publication fetcher and deduplicater components to prevent importing references that currently exists in database.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to and actually do, grant us the rights to use your contribution. For details, visit our Contributor License Agreement.

When you submit a pull request, we will determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided. You will only need to do this once across all repos using our CLA.

This project has adopted the Proximify Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact support@proximify.com with any additional questions or comments.

License

Copyright (c) Proximify Inc. All rights reserved.

Licensed under the MIT license.

publication-fetcher is made by Proximify. We invite the community to participate.

About

publication-importer is a composer package that imports publication lists from multiple sources such as BibTex file, Google Scholar, EndNote file, PubMed identifers and DOIs.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages