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

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

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]