Meeskond "näljased"
From ICO wiki
1. XML
XML-i tegime menüü kohta. XSLT faile on kaks: üks teeb XML-i HTML-i ning teine vahetab elementide ja atribuutide kohtad. XML faili kohta on olemas ka kirjeldav schema. Raskeimaks osaks oli elementidest atribuutide tegemine, asi küll toimis, kuid vormistus oli kole ning auklik. Schema vajas ka veidi harjumist, kuid kui asi käppa sai, siis läks imelihtsaks. Media:XML
2. Teenus
Teenuseks on menüü. Võimalused alajaotuste kaupa:
- Kasutajagrupid:Hetkel on 3 kasutajagruppi: admin (saab teha kõike), müüja (saab teha kõike peale kasutajate ja kasutajagruppide loomise) ning tavakasutajad. On olemas eraldi funktsioon ka kasutajagruppide loomiseks. Iga meetodi käivitamisel kontrollitakse kasutajaõigusi. Ühel kasutajal saab olla mitu kasutajagruppi.
- Kasutajad. Kasutajate loomiseks on 2 funktsiooni: üks tavakasutajate tegemiseks, mis ei eelda sisselogimist ning teine, mida saab teostada vaid administraator (ja lisada müüjaid või teisi administraatoreid). Kasutajate loomisel kontrollitakse seda, kas kasutajanimi on juba kasutusel. Kasutaja id ning roll sisestatakse ka tabelisse kasutajaRollis, mis näitab kasutajatel olevaid rolle. Kasutajate kustutamine käib otse andmebaasist. Kasutaja loomisel salvestatakse andmebaasi kasutaja parool hashitud kujul (algoritmiks sha1)
- Tooted. Kasutajatel (hetkel müüjal) on võimalus lisada ja kustutada tooteid toodete kategooriaid, hindu jms.
- Sessioonid. Kasutaja edukal sisselogimisel luuakse unikaalne juhuslik sessiooni võti, mille olemasolu kontrollitakse iga sisselogimist eeldava meetodi käivitamisel. Session_key salvestatakse andmebaasis vastavas väljas. Eraldi on funktsioonid sessiooni olemasolu kontrollimiseks ning uuendamiseks. Hetkel on timeoudiks 10 minutit. Sessiooni kehtivust kontrollitakse ka kasutajaõiguste kontrollimisel.
- Logimine. Võrreldakse sisestatud kasjutajanime ning sisestatud parooli hashi andmebaasis olevatega. Kui need ühtivad, siis sisselogimine on edukas ning luuakse unikaalne session key, mis salvestatakse andmebaasi. Sisselogimine ning sessiooni olemasolu on eelduseks meetodite käivitamiseks. Kui sessioon aegub, siis toimub kasutaja väljalogimine. Väljalogimisfunktsioon kirjutab üle sessiooni aegumise aja, pannes selleks hetkelise kellaaja.
Lisaks on veel hunnik abifunktsioone, näiteks parooli hashimine, väärtuste tagastamine jms.
Klient on kirjutatud WPF-is ning hetkel on võimalik kuvada tooteid, kasutajaid, gruppe ning kasutajagruppe.
3. Flickr API
Võimalused alajaotuste kaupa:
- Pildiotsing: Kasutajal on võimalus otsida otsingusõna järgi pilte Flickri pildibaasist. Pilte otsitakse kasutajate galeriidest, pildikomplektidest ja niisama üles laetud piltidest, mis on public'ud ehk avalikud. Kui kasutaja sisestab vähem kui 2 tähte, kuvatakse veateade. See on Flickri poolt samuti kinni keeratud, et ühetähe otsinguid ei teostataks. Üldjoontes ei oleks sellel ka mingisugust mõtet. Otsingusõna sisestamisel kuvatakse paremale aknasse 5 pildi thumbnaili, mis on kõige värskemad. Thumbnailidest vasakul all nurgas kuvatakse, mitu lehekülge pilte leiti ja mitmendal leheküljel parasjagu ollakse. Olles esimesel lehel ja/või teostades esimest otsingut, nuppu "eelmine" ei kuvata. Seejärel saab kasutaja hakata navigeerima lehekülgedel "eelmine" ja "järgmine" nuppudega. Valides thumbnaili välja ja klikkides selle peale, kuvatakse pilt suurena, laiusega 380 pikslit ja kõrgusega 380 pikslit. Kui suur pilt on kuvatud, avaneb ka võimalus vajutada nuppu "Ava kasutaja profiil". Sellega pääseb API kasutaja ligi suure pildi kasutaja profiilile. See on sobilik näiteks kui API kasutajale hakkas huvi pakkuma pildi üles laadinud kasutaja, ning soovib tema teisigi pilte sirvida.
- Inimese otsing: Kasutajal on võimalus otsida emaili järgi Flickri kasutajaid. Otsingulahtrisse mitte millegi sisestamisel või jättes sisestamata "@" sümbol, kuvatakse veateade. Vastasel korral kuvatakse kas kasutaja Flickri kasutajanimi, pärisnimi (kui see on tal määratud) ja tema profiili URL. Kui kasutaja on leitud, kuvatakse ka nuppu "Ava veebisait", millega pääseb kasutaja ligi ka tema profiilile, kirjutamata ise midagi veebibrauseri aknasse. Kui kasutajat ei leitud, antakse ka vastav veateade.
- Fotosettide kuvamine: Kasutaja saab vaadata oma fotokomplekte. Selleks tuleb kõigepealt vastava nupuga omandad frob, mis on Flickri API ajutine kood (kehtib ühe tunni). Kui frob on omandatud, avaneb kasutajale nupp "omanda token". Tokeniga on Flickri poolne frobi teisendus tokeniks, mida kasutatakse edaspidi kasutaja identifitseerimiseks. Kui token on omandatud, kuvatakse teade "token omandatud" või vastasel juhul "token omandamata". Seejärel ilmub nähtavale nupp "tiri fotosetid". Sellele klikkides kuvatakse thumbnailidena kasutaja fotokomplektid.
- Piltide üleslaadimine: Kõigepealt tuleb omandada frob ja token, nagu eelnevas punktis kirjeldatud. Seejärel saab kasutaja üles laadida oma pilte arvutist OpenFileDialog'i abil. Seejärel saab sisestada pildile tiitli ehk nime, kirjelduse ja tagi, mida aga ei pea tegema (Flickr samuti ei nõua nende atribuutide olemasolu). Olles salvestanud atribuudid ilmneb nupp "lae üles". Sellele vajutades laetakse pilt kasutaja üldpiltide sekka üles.