Pasfoto's uploaden

From A-Eskwiki
Jump to: navigation, search

Het script /scripts/pasfotos.php stelt je in staat een batch pasfoto's te uploaden, handig voor na de intro als er veel nieuwe leden bijkomen.

Voor het uploaden

Vraag de fotografen of ze de koppeling foto -> lid kunnen doen door bestandnaam en studentnummer als kolommen in een CSV-bestandje kunnen opslaan. Het script ondersteunt ook lidnummer (maar veel eerstejaars kennen die nog niet) en doet een slag ernaar om volledige naam te ondersteunen (maar dit is niet in bijectief verband met leden).

Vraag de fotografen om alle foto's ofwel in de map /scratch/pasfotos op het systeem kunnen zetten (zie ook Scratch), ofwel op de een of andere manier als archief (zipje/USB-stick/...) aan de WebCie kunnen overhandigen.

Bij het uploaden

Maak een csv-bestand met de eerste regel fotonr,lidnr,studentnr. Let op: dit moet unix-line-endings hebben (gebruik in de shell dos2unix om dit te fixen) en geen BOM hebben (gebruik in Vim :set nobomb en dan :w om dit te fixen). De volgende regels hebben het fotonummer en studentnummer per foto (lidnummer kunnen we later toevoegen om ambiguïteit te fixen).

Voorbeeld fotonummer: IMG_1337.jpg -> 1337 en 1337.jpg -> 1337).

Maak nu de foto's beschikbaar voor het script. Het makkelijkst is om ze in /scratch/pasfotos te zetten, deze is namelijk beschikbaar vanuit alle vm's. Je eigen homedir kan misschien ook werken. Ze moeten allemaal dezelfde prefix hebben voor de fotonummers, bijvoorbeeld /scratch/pasfotos/IMG_.

We gaan eerst het script op de vm-www-debug uitvoeren. De foto's worden niet toegevoegd aan de DB, maar de inhoud wordt wel gecontroleerd. Start het script met het CSV-bestand als eerste argument: ./pasfotos.php /scratch/pasfotos/koppeling.csv bijvoorbeeld. Het zal nu vragen om een paar gegevens. Vul deze in (zonder quootjes!) en druk op enter. Het script geeft een rijtje errors, fix deze. Is een studentnummer niet uniek? Vul dan het juiste lidnummer in in de desbetreffende kolom. Run het script opnieuw om de fixes te testen.

Lukt alles? Draai het script dan op de vm-www op dezelfde manier. De foto's worden dan geüpload en je hebt waarschijnlijk een heleboel achievements omdat je allemaal foto's hebt geüpload.