daschiiify
Generating IIIF Presentation API 3.0 resources for DaSCH with the iiif-prezi3 library
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.1%) to scientific vocabulary
Keywords
Repository
Generating IIIF Presentation API 3.0 resources for DaSCH with the iiif-prezi3 library
Basic Info
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 4
- Releases: 2
Topics
Metadata Files
README.md
daschiiify
The purpose of this repository is to develop a script that can generate IIIF Presentation API 3.0 resources for DaSCH - Swiss National Data and Service Center for the Humanities leveraging the iiif-prezi3 Python library.
This tool aims to upgrade the experimental and outdated IIIF Manifests feature previously available.
As a first experiment, IIIF Manifests have been created for the Bernoulli-Euler Online (BEOL) project.
Usage
This repository includes a Python script and a Flask web server that serves as an interface for specifying the manifest server URL.
Setting Up
Prepare the Environment: Clone the repository and navigate to the project directory.
bash git clone https://github.com/dasch-swiss/daschiiify.git cd daschiiifyPrepare SSL Certificates: The server uses HTTPS, so you'll need to generate a private key and a self-signed certificate. Store these in the
certsdirectory.bash mkdir -p certs openssl genrsa -out certs/key.pem 2048 openssl req -new -key certs/key.pem -out certs/cert.csr openssl req -x509 -days 365 -key certs/key.pem -in certs/cert.csr -out certs/cert.pemInstall Dependencies: Make sure Python and Docker are installed on your system. Build the Docker image using the provided Dockerfile.
bash docker build -t daschiiify .
Building locally with the build environment
bash
docker build --build-arg BUILD_ENV=dev -t daschiiify .
Running the Flask Server
Run the Docker Container: Start the container which runs the Flask server.
bash docker run -p 5000:5000 daschiiifyAccess the Server: Open a web browser and navigate to https://127.0.0.1:5000. This will display the user interface.
Using the Web Interface
- Enter the Manifest Server URL: Input the URL of the manifest server in the form provided. This URL is used by the script to generate IIIF manifests.
- Generate Resources: Click the 'Generate IIIF Resources' button to start the resource generation process using the specified
manifest_serverURL and data frombeol.csv. - Amend JSON Files: Click 'Amend JSON Files by setting the correct HTTPS URL from SIPI' to adjust the URLs in the generated JSON files from HTTP to HTTPS, preventing mixed content issues.
Docker Image Build Process
The Dockerfile provided in this repository uses a multi-stage build process to optimize the size of the final Docker image. It separates the build environment from the production environment, resulting in a smaller image size.
- build_release: This stage sets up the build environment, installs dependencies, and prepares the application for production.
- build_dev: In this stage, additional files specific to development, such as data directories, are added to the image.
- Final Image Selection: The final image is selected based on the value of the
BUILD_ENVargument provided during the build process. IfBUILD_ENV=release, the buildrelease stage is used; otherwise, the `builddev` stage is selected.
Output
The generated IIIF manifests are stored in the data/0801 directory within the container, accessible through the Flask server. Future updates may include additional functionalities or output handling options.
For the moment, only IIIF Manifests for the BEOL project can be generated, but it is intended that the script will be amended to accomodate different projects hosted on the DaSCH Service Platform
Owner
- Name: DaSCH - Swiss National Data and Service Center for the Humanities
- Login: dasch-swiss
- Kind: organization
- Email: info@dasch.swiss
- Location: Switzerland
- Website: https://dasch.swiss
- Twitter: DaSCHSwiss
- Repositories: 35
- Profile: https://github.com/dasch-swiss
Development repositories of the DaSCH.
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Raemy" given-names: "Julien Antoine" orcid: "https://orcid.org/0000-0002-4711-5759" title: "daschiiify" version: 0.1.0 doi: date-released: 2024-04-29 url: "https://github.com/dasch-swiss/daschiiify"
GitHub Events
Total
- Pull request event: 1
- Create event: 1
Last Year
- Pull request event: 1
- Create event: 1