WIP, unpublished work. Mind map. PoC of working with Lakesuperior. https://grayspread.net
Stefano Cossu 0482b4b511 Initial ontology. | 3 gadi atpakaļ | |
---|---|---|
bin | 4 gadi atpakaļ | |
config | 4 gadi atpakaļ | |
data | 3 gadi atpakaļ | |
doc | 4 gadi atpakaļ | |
grayspread | 4 gadi atpakaļ | |
migrate | 4 gadi atpakaļ | |
.gitignore | 4 gadi atpakaļ | |
CODE_OF_CONDUCT | 4 gadi atpakaļ | |
LICENSE | 4 gadi atpakaļ | |
README.md | 4 gadi atpakaļ | |
load_env.sh | 4 gadi atpakaļ | |
requirements.txt | 4 gadi atpakaļ | |
start.sh | 4 gadi atpakaļ | |
start_iipsrv.sh | 4 gadi atpakaļ |
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]
A Docker image allowing to avoid all the setup steps listed below may be made available in the future.
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
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
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/
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.
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.
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.
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]