Server-side Zotero translation based on Mozilla xpcshell
JavaScript Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
assets
modules Update submodule Sep 6, 2016
src
.dockerignore
.gitattributes
.gitignore
.gitmodules
Dockerfile
README.md
build.sh
build_docker.sh
config.js
fetch_sdk

README.md

Server-side Zotero translation using xpcshell

Currently supports import, export, and web translation

Building

  1. git clone --recursive https://github.com/zotero/translation-server

  2. cd translation-server

  3. ./fetch_sdk

  4. ./build.sh

Running

  1. Run the server:

    $ build/run_translation-server.sh 
    
    zotero(3)(+0000000): HTTP server listening on *:1969
    
  2. Try a query!

    $ curl -d '{"url":"http://www.tandfonline.com/doi/abs/10.1080/15424060903167229","sessionid":"abc123"}' \
          --header "Content-Type: application/json" \
          127.0.0.1:1969/web
    

Docker Container

  1. docker build -t translation-server -f Dockerfile .
  2. docker run --rm -p 1969:1969 --name translation-server-container translation-server

Endpoints

Supported endpoints are: /web, /import, /export, and /refresh.

Read server_translation.js for more information.

Web Translators

Translates a web page

  • endpoint: /web
  • request method: POST
  • request body: JSON object containing a url and a random sessionid
  • example:
curl -X POST --header 'Content-Type: application/json' -d '{
  "url": "http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1664470",
  "sessionid": "abc123"
}' 'http://localhost:1969/web'

Import Translators

Converts input in any format Zotero can import (RIS, BibTeX, etc.) to items in Zotero API JSON format

  • endpoint: /import
  • request method: POST
  • request body: item data in a supported format
  • example:
curl -X POST -d 'TY  - JOUR
TI  - Die Grundlage der allgemeinen Relativitätstheorie
AU  - Einstein, Albert
PY  - 1916
SP  - 769
EP  - 822
JO  - Annalen der Physik
VL  - 49
ER  -' 'http://localhost:1969/import'

Export Translators

Converts items in Zotero API JSON format to a supported export format (RIS, BibTeX, etc.)

  • endpoint: /export
  • request method: POST
  • query parameter: format, which must be a supported export format
  • request body: An array of items in Zotero API JSON format

Tests

To run the tests, go to the translation-server directory and run:

./build/run_translation-server.sh -test /path/to/file/output.JSON