pubsweet

    5.1.31 • Public • Published

    PubSweet CLI (using pubsweet or pubsweet help) outputs:

    Usage: pubsweet [options][command]
    
    Commands:
    
    new create and set up a new pubsweet app
    setupdb generate a database for a pubsweet app
    build build static assets for a pubsweet app
    start start pubsweet server and backing services
    server build static assets and start a pubsweet app
    adduser add a user to the database for a pubsweet app
    help [cmd] display help for [cmd]
    
    Options:
    
    -h, --help output usage information
    -V, --version output the version number

    For any command, you can see detailed usage help by running pubsweet help cmd, e.g.:

    pubsweet help new
    pubsweet help start
    [...etc]

    Generating an app (pubsweet new)

    The new subcommand generates a template PubSweet app for you to work from. This includes dependencies, boilerplate code and configuration, and a set of initial components.

    To generate an app, just provide the name:

    pubsweet new myappname

    pubsweet will clone the template app from GitLab (pubsweet-starter) into a subdirectory with the name you supplied, and run yarn install to install the app's dependencies.

    Running locally for development or evaluation

    cd myappname
    pubsweet start

    Use the start subcommand within your app directory to start your app. Open a browser and navigate to http://localhost:3000. A default user account is created for you: username admin, password password.

    Under the hood, pubsweet start uses Docker Compose to:

    • start the backing services (database)
    • set up the database if necessary, including a default admin user (pubsweet setupdb)
    • build static assets with Webpack (pubsweet build)
    • and start the PubSweet server application (pubsweet server)

    Additionally it uses Forever and Webpack watch mode to recompile and reload when changes are detected.

    Forever is initialised to watch for changes in the config directory by default. To manually configure forever, add settings under the forever key in config (see forever's documentation for which settings are available)

    The details for the default admin user can be supplied in a config file, via environment variable or on the command line using node-config. See config/development.js in the starter application.

    pubsweet start is not recommended for production, where it is generally preferable to compile assets separately and maintain a startup script in your app. A sample startup script is included in the root directory of the pubsweet-starter repo (app.js).

    Running in production

    Setting up the database (pubsweet setupdb)

    You need an instance of PostgreSQL 9.6+. Add your database connection settings to the pubsweet-server.db key in the config in any format supported by node-postgres.

    cd myappname
    pubsweet setupdb

    If your database already has tables, pubsweet setupdb will not overwrite them by default. You can force it to delete existing data using --clobber:

    $ pubsweet setupdb
    error: Database tables already exist
    error: If you want to overwrite the database, use --clobber
    
    $ pubsweet setupdb --clobber
    info: Database tables already exist
    info: Overwriting existing database due to --clobber flag
    info: Setting up the database
    question:><Admin username><
    [...etc]

    The command will prompt you with a series of questions to customise your app. If you prefer to provide the answers in the initial command, you can do that instead:

    pubsweet setupdb
      --username someuser \
      --email some@email.com \
      --password correct-horse-battery-staple

    Building your app (pubsweet build)

    Use the build subcommand within your app directory to compile your app's static assets with webpack. This command is useful for production scenarios where assets need to be compiled in a separate step. For development, we recommend using pubsweet start, which also takes care of building your assets.

    Running your app

    A sample startup script is included in the root directory of the pubsweet-starter repo (app.js).

    Ensure that the NODE_ENV environment variable is set to production.

    Managing your app

    Adding and removing components

    Components add models, UI, APIs, jobs, and much more to PubSweet. There are a number in core (https://gitlab.coko.foundation/pubsweet/pubsweet/tree/master/components), and you can create your own.

    To add or remove a component, install it via yarn add component-name (or yarn remove to uninstall) and edit config/components.json in your app's directory accordingly.

    Adding a user to the database (pubsweet adduser)

    Run adduser within your app directory to add a user to an existing database:

    cd myappname
    pubsweet adduser

    You can optionally make that user an admin:

    pubsweet adduser --admin

    As with pubsweet setupdb, you can skip any or all of the interactive prompts by providing the user details with command-line flags:

    pubsweet adduser \
      --username someuser \
      --email some@email.com \
      --password correct-horse-battery-staple

    Keywords

    Install

    npm i pubsweet

    DownloadsWeekly Downloads

    232

    Version

    5.1.31

    License

    MIT

    Unpacked Size

    42.9 kB

    Total Files

    33

    Last publish

    Collaborators

    • jure
    • yannisbarlas
    • andrei.c9
    • shockandaudrey