Mijn "cms" (whats in a name) fotogedeelte is opgesplitst in categorieen en albums, beetje standaard, maar het geheel staat wel al in een SQL tabel door middel van een aangepaste MPTT structuur. Aangepast in die zin dat ik ook het volgende opsla (bestand/folder, datums (atime, ctime en mtime), grootte (indien bestand). Dit zodat ik zo min mogelijk filesystem hits heb en het geheel dus zo snel mogelijk kan maken.
Van de laatst geuploadde foto's wil ik voor iedere bezoeker een random foto laten zien. Dit wil ik echter wel zo doen, dat het aan de volgende criteria voldoet;
- Foto mag niet 2x voorkomen
- Random foto's mogen enkel gekozen worden uit de laatste upload batch. (upload datum)
- Er moet een evengroot aandeel van foto's uit iedere categorie en ieder album worden getoond.
Ik wil graag weten hoe ik dit technisch op zou kunnen lossen. Niet "code" maar meer "denkwijze". Zelf zie ik het in ieder geval zo voor me (oplossingen t.o.v. genoemde punten);
- Zodra een foto is gekozen, zet je het "getoond" bitje op "1". Als er geen foto's meer over zijn, zet je alle bitjes weer op "0".
- Meerdere categorieen, albums en foto's verspreid over evenveel albums kunnen op 1 dag aangepast worden. Aangezien de hele structuur in een SQL tabel staat, kan er dus gesorteerd worden op datum DESC, zodat de laatste datum bovenaan staat.
- Iedere klant heeft 1 categorie voor zich. Ik wil het dus zo maken, dat iedere categorie evenveel uitgekozen zal worden. Nu is het natuurlijk zo dat iedere categorie een ander aantal albums en/of foto's heeft, waardoor een categorie met meerdere foto's vaker uitgekozen zal worden omdat daar de hitkans gewoonweg groter voor is. Dus dat wil ik van te voren af gaan vangen door het aantal foto's te gaan gelijktrekken, dat lijkt mij in ieder geval de beste methode. Veel verder dit laatste punt ben ik nog niet gekomen.
Hebben jullie hier misschien tips voor?
Van de laatst geuploadde foto's wil ik voor iedere bezoeker een random foto laten zien. Dit wil ik echter wel zo doen, dat het aan de volgende criteria voldoet;
- Foto mag niet 2x voorkomen
- Random foto's mogen enkel gekozen worden uit de laatste upload batch. (upload datum)
- Er moet een evengroot aandeel van foto's uit iedere categorie en ieder album worden getoond.
Ik wil graag weten hoe ik dit technisch op zou kunnen lossen. Niet "code" maar meer "denkwijze". Zelf zie ik het in ieder geval zo voor me (oplossingen t.o.v. genoemde punten);
- Zodra een foto is gekozen, zet je het "getoond" bitje op "1". Als er geen foto's meer over zijn, zet je alle bitjes weer op "0".
- Meerdere categorieen, albums en foto's verspreid over evenveel albums kunnen op 1 dag aangepast worden. Aangezien de hele structuur in een SQL tabel staat, kan er dus gesorteerd worden op datum DESC, zodat de laatste datum bovenaan staat.
- Iedere klant heeft 1 categorie voor zich. Ik wil het dus zo maken, dat iedere categorie evenveel uitgekozen zal worden. Nu is het natuurlijk zo dat iedere categorie een ander aantal albums en/of foto's heeft, waardoor een categorie met meerdere foto's vaker uitgekozen zal worden omdat daar de hitkans gewoonweg groter voor is. Dus dat wil ik van te voren af gaan vangen door het aantal foto's te gaan gelijktrekken, dat lijkt mij in ieder geval de beste methode. Veel verder dit laatste punt ben ik nog niet gekomen.
Hebben jullie hier misschien tips voor?