Readux

DOIBuild Status

Readux is a platform developed by the Emory Center for Digital Scholarship which allows users to read, take notes on, and publish with digitized texts from libraries’ archival collections. With Readux, users are able to:

Motivation

...

Deployment

...

Installation (development)

Requirements

  1. Python 3
  2. PostgreSQL

Set up development environment

  1. Clone this repository.
  2. Navigate to the readux directory.
  3. Create virtual environment and activate it.
python3 -m venv venv
source venv/bin/activate
  1. Install the dependencies.
pip install -r requirements/local.txt
bundle install
  1. Copy and set up your local settings.
cp config/settings/local.dst config/settings/local.py
  1. Add your database settings to the local.py file or set an environment variable. For example:
export DATABASE_URL=postgres://<database user>:<database password>@127.0.0.1:5432/<database name>
  1. Run the migrations and load the example data.
python manage.py migrate
python manage.py loaddata apps/fixtures/dump.json

Running local development server

Run the development under https to avoid mix content errors. Note: this will generate a self-signed certificate. There are ways to tell your browser to trust these certs, but that is beyond the scope of this README.

python manage.py runserver_plus --cert-file cert.crt  0.0.0.0:3000

Running the tests

Coverage Status

Readux uses Django's default test framework, but is configured to use pytest.

Your database user will need to be able to create a database:

alter user readux createdb;

To run the tests, simply run:

pytest

Readux is configured to use Travis CI. Any push will trigger build.

Deploy

For dev:

fab deploy:branch=develop -H readux.ecdsdev.org

For public alpha:

fab deploy:branch=master -H readux2.ecdsdev.org

Note: if no branch is passed, the deploy will default to master.

Contribute

We use the Git-Flow branching model. Please submit pull requests against the develop branch.

Code of conduct

Code of Conduct

Tech/framework used

Build with Cookiecutter Django

Mirador for displaying and annotating IIIF images.

??? for exporting.

License

This software is distributed under the Apache 2.0 License.

Autocomplete

Use the fork of Wagtail Autocomplete because of UUID. https://github.com/jcmundy/wagtail-autocomplete

When importing with Import-Export

Import Collections, then Manifests, then I Servers, then Canvases. Annotations will populate based on Canvases. When importing collections, images for the "Original" field must already be in the apps/media/originals/ folder. List originals/filename.jpg in the column for original.