You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Simon Bowie 88c3df257d updating README 2 vuotta sitten
nginx-conf Added MariaDB config for production use 3 vuotta sitten
web moved some duplicate code to its own function 2 vuotta sitten
.env.template resolving issue with login redirects through setting SSL scheme 2 vuotta sitten
.gitignore changes for new database structure and adding MariaDB to dev environ 2 vuotta sitten
README.md updating README 2 vuotta sitten
database_functions.sh changes to import function in database_functions.sh 2 vuotta sitten
docker-compose.prod.yml changes for new database structure and adding MariaDB to dev environ 2 vuotta sitten
docker-compose.yml changes for new database structure and adding MariaDB to dev environ 2 vuotta sitten

README.md

One of the key deliverables for Work Package 6 of the COPIM project is “an online resource detailing opportunities for experimental book publishing”. We’ve decided to put this together in the form of an online toolkit with details of software, practices, examples, and sensitivities that can be used for experimental publishing.

The ExPub Compendium will build on this review of tools to present a resource for a researcher, artist, or publisher looking to try experimental publishing. From our preliminary design discussions, we have plans to include not only software tools that can be used to do experimental publishing but examples of experimental publications, practices of experimental publishing, publishers who have done some form of experimental publishing, and sensitivities involved in experimental publishing.

Application structure

The ExPub Compendium is a Python application using the Flask framework to render as a website and to provide functions around user authentication and login as well as retrieving data from the underlying database. The database is a MariaDB SQL database with a basic structure of Resources, Relationships, and Users. Resources are divided into tools, practices, and books and the table contains fields for these various types of resources. Relationships defines the links between resources using the resource ID in the Resource table: these are rendered on the site as connections between, say, a tool and a practice. Users contains the site’s users with basic details like email address and hashed password.

Database functions

This repository contains a shell script to perform various database functions including importing a whole database from SQL file, exporting the database in SQL, exporting individual tables as tab-delimited txt file, and importing individual tables from tab-delimited txt file.

Run ./database_functions -h to see the instructions for this script.

Legacy instructions:

The following is no longer required in Flask-SQLAlchemy 3. See https://stackoverflow.com/questions/73968584/flask-sqlalchemy-db-create-all-got-an-unexpected-keyword-argument-app

For creating database and user in production:

docker-compose exec -it db mysql -u root -p CREATE DATABASE toolkit; CREATE USER 'flask'@'%' IDENTIFIED BY '[PASSWORD]'; GRANT CREATE, INSERT, UPDATE, SELECT, DELETE ON toolkit.* TO 'flask'@'%';

To build the database run:

docker exec -it python python from app import db, create_app, models db.create_all(app=create_app())