De Manifest Library Sync Service is verantwoordelijk voor het ophalen van IIIF-manifesten vanuit verschillende bronnen en deze op te slaan in de elody collection-api.
Er zijn momenteel twee typen bronnen mogelijk:
- IIIF-Collection-importer
- OAI-PMH importer
De IIIF-Collection-importer gebruikt een IIIF Collection, onderdeel van de IIIF-presentation-standaard, om manifesten op te halen.
De OAI-PMH importer gebruikt de OAI-PMH standaard om manifesten op te halen.
Binnen deze twee typen van bronnen zijn nog specifieke uitbreidingen. Niet alle manifesten zijn namelijk op dezelfde manier gestructureerd. Sommige manifesten hebben ook metadata staan in een extern bronbeheersysteem, zoals LIDO. Hiervoor is een specifieke implementatie om na het ophalen van het manifest ook de metadata uit dit bronsysteem op te halen en deze toe te voegen aan de manifestenbibliotheek.
Programmatisch is het mogelijk gemaakt om relatief eenvoudig een bron toe te voegen. Dit door een Python class te maken die overerft van de "Base Importer"- class.
Deze service is eenvoudig uit te voeren via de Python Interpreter. De configuratie, bestaande uit URL's naar de verschillende bronnen, wordt doorgegeven aan de hand van "environment variables". De dependencies van de service zijn opgelijst in de requirements.txt-file.
Voorbeeld uitvoering script:
# (optioneel: aanmaken van een Python virtual env)
python3 -m venv .
source ./bin/activate
# Installeren van dependencies
pip install -r requirements.txt
# Uitvoeren van het script
export ELODY_COLLECTION_URL=<URL naar elody collection-api>
export LIDO_URLS=https://datahub.vlaamsekunstcollectie.be/oai/
export STATIC_JWT=<JWT token om de collection-api te bereiken>
export COLLECTION_URLS_OBB=https://sharedcanvas.be/IIIF/mmmonk/discover
export COLLECTION_URLS=https://imagehub.vlaamsekunstcollectie.be/iiif/3/collection/top
export MPM_OAI_URLS=https://dams.antwerpen.be/oai/request
python main.py