WebDAV forside-server
Serveren hvor de generiske forsider gemmes skal være en "CORS-enabled WebDAV-server med basic authentification".
Det er let at tilgå filerne, da der som regel er en WebDAV-klient indbygget i operativsystemet.
- Under Ubuntu Linux åbner man filsystemet(Nautilus), klikker "Other Locations", og indtaster eksempelvis
davs://ballerup@data.forsider.dk/ballerup
ved "Enter server address" og indtaster kodeordet når man bliver spurgt. - Under Windows 10 kan man forbinde til serveren ved at højreklikke på "Network" og vælge "Map Network Drive...", og eksempelvis indtaste folder:
https://data.forsider.dk/ballerup
, brugernavn:ballerup
samt kodeord. - Under OS X vælger åbner man Finder, og "Connect to Server" i "Go" menu'en, – serveradressen skal starte med https. (jeg har ikke testet det på OS X).
- ... og der er en masse andre metoder at tilgå dem.
Forsiderne ligger i følgende mappestruktur.
covers/
– de enkelte forsider + beskrivelse00/
,01/
,02/
, ...,99/
, ogother/
– mapper der indeholder forsiderne. Mappen for forsiden er de sidste to cifre i ting-objektets id, ellerother
hvis id'et ikke slutter på cifre.870970-basis:28125755.jpg
eller lignende – det genererede forside-billede870970-basis:28125755.json
eller lignende – data om hvordan forsidebilledet er genereret
source
– info om kørsel af forside-genereringrule_HxZnCxtjckVmGxJweoOS.json
eller lignende – info om en forside-kørselimg_4M6QYJGd5RKWd0s914LH.json
eller lignende – info om billede brugt til forsidekørsel
Det er kun .jpg
billedet der er nødvendigt for at tilføje billedet til forsideservicen.
Overførsel til forsideservice
De genererede forsidebilleder ligger i covers/*/*.jpg
hvor filen er navngivet med Pid'en på materialet.
Biblioteket kan dele adgangen til forside-serveren med forsideservice-leverandør, – som så kan tilføje billederne til deres forsideservice.
Drift af WebDAV forside-server
Forside-serveren er off-the-shelf software – jeg bruger en nginx med WebDAV-udvidelse, konfigureret i stil med dette:
server {
server_name example.com;
root /where/to/store/on/server;
listen 443 ssl http2;
listen [::]:443 ssl http2;
location / {
limit_except GET OPTIONS {
auth_basic "realm";
auth_basic_user_file /some/user/auth/.htpasswd;
}
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:rw all:r;
create_full_put_path on;
}
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE, MKCOL, COPY, MOVE';
add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
ssl_certificate ...
}
Men det burde virke lige så godt med andre WebDAV servere (eksempelvis Apache mod_dav
, Sabre (PHP), NextCloud, sågar IIS eller en af de mange andre), så længe at CORS også er korrekt konfigureret.