Skip to content
Snippets Groups Projects
Zhan Huang's avatar
Zhan Huang authored
32c8f1e7

xpub-epmc

xpub-epmc is a manuscript submission system for Europe PMC.
It is currently under development by Europe PMC staff and is being built with tools provided by the Pubsweet and INK projects.

Workflow

The development underway is intended to support the following workflow

EPMC Workflow

To support this workflow, we must build or extend four main components/functionalities:


If you want more detailed (and potentially more technical) information about the current set of tasks that are being worked on, you can go to

xpub-collabra

This project is based on the xpub-collabra project, currently under development by the Coko Foundation. For more information and development progress on this project, please visit

Installation

Quickstart

If you're doing development, you'll probably want to follow the next set of instructions instead.

To quickly get up and running, run

yarn start

This will run the various docker containers that the app needs.

Note:
yarn will be run automatically inside the container to install dependencies. If dependencies were already installed on the host, this may cause problems as the binaries are compiled for the wrong platform. If you encounter errors about "invalid ELF header", try removing your node_modules folder and run yarn start again.

If you've previously run the app manually, you may need to check your settings in config/default.js. For quickstart, the db port should be:

  'pubsweet-server': {
    db: {
      port: 5432,
    },

Running the app manually (recommended for development)

Start with installing the dependencies:

yarn install

Create the file local-development.json inside the config folder.

{
    "pubsweet-server": {
        "secret": "<your-secret-here>"
    },
    "pubsweet-component-ink-backend": {
        "inkEndpoint": "< your-ink-api-endpoint >",
        "email": "< your-ink-email >",
        "password": "< your-ink-password >",
        "recipes": {
            "editoria-typescript": "< editoria-typescript-recipe-id >"
        }
    },
    
    "eutils-api-key": "< your-ncbi-eutils-api-key >",

    "users" : [
        {
          "username": "ftpuser1",
          "email": "john@example.com",
          "password": "xxxx"
        },
        {
          "username": "ftpuser2",
          "email": "bloke@example.com",
          "password": "yyyy"
        }
    ]


}

This will give your database a secret, as well as enable manuscript docx to HTML conversion via the INK service (ask in the Coko Mattermost chat channel if you don't know how to set up an INK account).

It will accompany any NCBI eUtils calls with an API Key ("eutils-api-key") that will allow for privileged handling by the NCBI hosts. This is optional.

It also will create PubSweet user accounts ("users").

Run the docker container for the database.

yarn start:services

Now (in a separate terminal) run the app.

yarn server

Minio

Please see README_MINIO for instructions on setting up and running the Minio instance for file storage.

Continuous Integration

CI requires a Kubernetes cluster, resources for which can be found in pubsweet/infra.
In order to set up a Kubernetes cluster using AWS, you need to follow the instructions there.

Templates for deploying to this cluster with pubsweet/deployer are located in xpub/deployment-config.

Community

Join the Coko Mattermost channel for discussion of xpub.