Ziet er netjes uit. Maar om verwarring te voorkomen, en te reageren op John Timmer, onze wensen voor het systeem:

In het kort komt het neer op het volgende:

Het systeem moet een foto die ik of een van mijn collega's upload kunnen opslaan in drie verschillende formaten. De afmetingen hiervan zullen lang niet altijd evenredig zijn aan de afmetingen van het origineel. Een langwerpige foto moet dus kunnen worden opgeslagen als een kleine vierkante, om maar wat te noemen. Ik zie dit ook gebeuren bij concurrerende websites, dus het moet kunnen. Dat de uitsnede er dan wat raar uit ziet is niet erg, en volgens mij ook onvermijdelijk. Ik geloof dat er overigens al een script voor bestaat, iets dat "gd2" heet, waarschijnlijk zegt dit jullie wel wat? En deze link schijnt er ook mee te maken hebben:

http://nl2.php.net/manual/en/function.imagecopyresampled.php


Na het uploaden moet de foto dus in drie verschillende (kleinere) formaten worden opgeslagen die niet evenredig zijn aan het origineel.

Met het schetsen van deze drie scenario's (vanuit medewerker van de site, en vanuit de bezoeker) zal ook e.e.a. duidelijk worden. Niet alles staat vast, maar dit is het idee. Kan het via een andere weg dan ik hier beschrijven, of kan niet alles wat hier staat, is dat natuurlijk ook OK.

Scenario werknemer X:

X logt in op een webpagina en ziet een formuliertje. De eerste knop is bladeren. Hij klikt en kiest een foto uit. De bestandsnaam van die foto verschijnt onder de ‘bladeren’ knop. Op een horizontale lijn staan allemaal keuzelijstjes, X kan hier trefwoorden kiezen. Welke persoon staat op de foto, welk evenement, welke locatie, wat voor soort foto, etc. Staat een waarde niet in dit rijtje, moet X kunnen kiezen voor “anders”. Een tekstboxje verschijnt waar hij in kan typen om welke persoon bv. het dan wél gaat. (Na ingevoerd en ge-upload moet deze waarde in het keuzelijstje verschijnen bij een volgende keer.) Helemaal rechts staat een knop voor “meer foto’s”. Klikt X hier op verschijnt hetzelfde formuliertje bijvoorbeeld 20x er onder. De keuzelijsten zijn al ingevuld, op basis van de eerste foto. X zal alleen elke keer op de bladeren knop moeten drukken, en vervolgens hier en daar wat aanpassen (bijvoorbeeld welke persoon er op de foto staat). Helemaal onderaan staat een OK knop. Een klik hierop zorgt ervoor dat de foto of de foto’s ge-upload worden.

Op de server staan in de map “foto” drie mappen die de naam van de breedte-afmeting van de drie standaarden meekrijgen. Dus bijvoorbeeld een map “600” , een map “150”, en een map “100”, ik noem maar wat. Één foto wordt dus drie keer verkleind en in die drie mappen opgeslagen. Dit gebeurt met alle foto’s die X op dat moment upload. Het uploaden is nu klaar.

Scenario 2: werkemer X wil extra trefwoorden later meegeven

X upload een tiental foto’s van de GP van Brazilië. Dit moet snel want dan kan hij ze plaatsen. Hij kiest dus alleen even snel een evenement bij de trefwoorden bij het uploadproces en hij upload ze. Later wil X nog namen van coureurs e.d. meegeven. Dus logt hij ergens in, en doet hij dit alsnog.

Scenario 3: werknemer X zoekt foto

X schrijft een artikel en zoekt daar een foto bij. Hij logt in en kan middels keuzelijstjes een zoekopdracht geven. Ook kan X zelf een of meerdere trefwoorden intypen. In thumbnailtjes ziet X de foto’s die matchen met zijn zoekopdracht. Onder elke thumbnail staat de naam van de foto. Een klik op een thumbnail geeft de grootste weergave weer (in dit voorbeeld 600px). Daarna hoeft er niets meer te gebeuren. X heeft nu de naam van de foto die hij wil, en die vult hij handmatig in in het nieuwssysteem.

Scenario 4: werkemer X wil gallerij bij artikel

X heeft een vijftiental foto’s van de GP Brazilië. Deze vijftien wil hij in gallerijvorm onder zijn artikel hebben. In een rij van bijvoorbeeld 5 naast elkaar moeten dus thumbnailtjes van bv 100px breed verschijnen. X genereert een bestand, deze kan hij zelf handmatig includen in het nieuwssysteem. Wanneer een bezoeker op zo’n thumbnailtje klikt moet hij/zij een vergroting zien, maar later meer hierover.

Scenario 5: bezoeker Y wil grotere foto zien
Y ziet in de thumbnailweergave een foto die hij vergroot wil zien. Y klikt en komt op de ‘fotoalbumpagina’. Links in het groot (bv 600px breed) ziet hij de foto. Boven de foto staat “volgende” en “vorige”. Een klik hier op geeft de volgende of vorige foto die van hetzelfde evenement is. Onder de foto staan trefwoorden waar die foto aan voldoet. Bijvoorbeeld: “Fernando Alonso, GP Brazilië, zondag, ontrack”. Elk van deze trefwoorden is clickable, een klik levert thumbnailtjes op (ipv de grote foto) die voldoen aan hetzelfde trefwoord. Een klik op die thumbnailtjes zorgt voor een herhaling van bovenstaand proces.

Rechts naast de grote foto staan keuzelijsten. Dezelfde als die werknemer X ziet bij het uploadproces. Hier kan Y een evenement, een persoon, of een type foto (etc.) kiezen. Een keuze levert thumbnailweergave links op.