WIP, unpublished work. Mind map. PoC of working with Lakesuperior. https://grayspread.net

Stefano Cossu 0482b4b511 Initial ontology. 3 rokov pred
bin d2741ce3a6 A few major changes: 4 rokov pred
config ce08222089 Small READNE and config fixes; draw neighborhood graph in vertical 4 rokov pred
data 0482b4b511 Initial ontology. 3 rokov pred
doc 1e9aa187e1 Render pages from stored documents; some style improvements. 4 rokov pred
grayspread 1e7e609493 Style type gallery. 4 rokov pred
migrate 5e551b2c31 Move pages to stored docs; implement view by local uid. 4 rokov pred
.gitignore 5303f62a18 Add config/.env to repo. 4 rokov pred
CODE_OF_CONDUCT 3929c6e04e Add license and CoC. 4 rokov pred
LICENSE 3929c6e04e Add license and CoC. 4 rokov pred
README.md ce08222089 Small READNE and config fixes; draw neighborhood graph in vertical 4 rokov pred
load_env.sh d2741ce3a6 A few major changes: 4 rokov pred
requirements.txt c1ddd0b0fc Content update. 4 rokov pred
start.sh d2741ce3a6 A few major changes: 4 rokov pred
start_iipsrv.sh d2741ce3a6 A few major changes: 4 rokov pred

README.md

grayspread.net Website Source Code

This is the code powering the grayspread.net website, which is to date an unpublished WIP. This application uses the Lakesuperior Linked Data repository as a back end and can be used as a real-world example on how to use the Lakesuperior Python API.

[TODO MORE INFO]

Setup

Docker Image TBA

A Docker image allowing to avoid all the setup steps listed below may be made available in the future.

Clone Repository

It is advised to clone this repo as a subfolder of a dedicated project folder, e.g.:

mkdir grayspread
cd grayspread
git clone <remote> src

Virtualenv

A virtual environment must be installed in order to use the autostart scripts.

Run:

python3 -m venv venv

in the parent directory of the git repo root.

Install Python Dependencies

Run:

cd src
source ./load_env
pip install -r requirements.txt

Environment Setup

Copy config/.env to the parent folder of git repo root and change it to fit your needs.

At the end of this process, you should have the following folder layout:

    grayspread/
    |
    `- .env
    |
    `- src/
    |
    `- venv/

iipsrv

IIPImage, or iipsrv, is a high-performance, IIIF-compliant image server. Grayspread uses it to generate derivatives on the fly.

Clone the https://github.com/ruven/iipsrv repository, compile the source code, and place iipsrv.fcgi in the bin directory.

Nginx

You need an Nginx instance running to serve images via the iipsrv FCGI. Copy config/iipsrv.conf to your Nginx configuration, edit if needed, and start or reload Nginx.

Any other webserver similarly set up to listen to FCGI should be fine.

Start Services

The start.sh script starts a multiwatch process that spawns and watches multiple iipsrv instances, and a Flask process for the web app in the background.

The load_env.sh can be sourced in a separate shell to load the virtual environment.

Initial Data Set

An initial data set is provided in the form of CSV files that are parsed by a conversion script. [TODO Resolve issue with source images]