<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hparn</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hparn"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Hparn"/>
	<updated>2026-05-06T15:26:23Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22.NOT%22&amp;diff=49158</id>
		<title>Talk:Meeskond &quot;.NOT&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:Meeskond_%22.NOT%22&amp;diff=49158"/>
		<updated>2012-06-12T06:44:59Z</updated>

		<summary type="html">&lt;p&gt;Hparn: /* Retentsioon kliendi ja veebiteenus Hello Kitty */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Retsensioon XMLile ([[Meeskond &amp;quot;Hello Kitty&amp;quot;]]) ==&lt;br /&gt;
&lt;br /&gt;
Kiidusõnad meeskonnale. XML&#039;i struktuuri oskavad korralikult kokku panna ning stiilifail ja skeemifail kah korralikult üles ehitatud.&lt;br /&gt;
&lt;br /&gt;
Kui nüüd pisut nokkida ka, siis silma hakkas mõningane elementide ja atribuutide ebakooskõla. Juba eelnevalt välja toodud märkus, et miks on mootori maht lisatud mootorile atribuudina, aga muud samatähenduslikud väärtused elementidena. Isiklikult oleksin rohkem atribuutide kasutust oodanud.&lt;br /&gt;
&lt;br /&gt;
Antud xml&#039;i kohta on välist infot väga vähe. Kogu sisu on ära kirjeldatud ühe lausega. Lugejal oleks kindlasti suurem huvi xmli struktuuri läbi sirvida, kui oleks teema kohta parem tagataust teada.&lt;br /&gt;
&lt;br /&gt;
Xslt ja xsd kohta pole rohkem samuti midagi mainida, mis tähendab, et ülesehitus lihtne ja korrektne. Nii nagu peabki.&lt;br /&gt;
Struktuuri kommenteerimine oleks ka suureks plussiks olnud. Siinkohal viide meeskond Haroldile, kelle kommenteeritud koodi oli lausa lust lugeda.&lt;br /&gt;
&lt;br /&gt;
== Retsensioon ([[Meeskond &amp;quot;Harold&amp;quot;]]) ==&lt;br /&gt;
&lt;br /&gt;
Üldiselt eeskujulik sooritus, on näha, et meeskond tunneb XML ja XSL failide struktuuri ja oskab neid koostada nii praktikas kui disainis (mõelda, kuidas XML struktuurselt üles ehitada).&lt;br /&gt;
&lt;br /&gt;
=== Vormilisest küljest ===&lt;br /&gt;
&lt;br /&gt;
XML-i oli wikist ebamugav lugeda. Palun kasutage &amp;amp;lt;pre&amp;gt; tag asemel &amp;amp;lt;source lang=&amp;quot;xml&amp;quot;&amp;gt;. XML failile oleks kohe juurde võinud lisada viite transformatsioonile (&amp;amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;stiil.xsl&amp;quot;?&amp;gt;), samuti oleks võinud XML + XSL failid kuhugile hostida, et retsensent ei peaks seda ise tegema. P.S! &amp;lt; märke, mis transformatsiooni autorile probleeme tekitas, saab sisestada &amp;amp;lt;source&amp;gt; tagide vahele või kodeeritult.&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
&lt;br /&gt;
XML tutvustust oleks tekstiliselt tahtnud pikemalt lugeda: miks valiti just see teema (aktuaalne?), mida toodud XML struktuur võimaldab. Struktuuriliselt on XML üles ehitatud küllaltki hästi - võimalik on lisada 0 ... n sõidukit ning kirjeldada nende omadusi, elementidel on id kiireks otsimiseks.&lt;br /&gt;
&lt;br /&gt;
Omaduste kirjeldamist oleks muidugi üldisemalt saanud teha - ma oleksin ise tõenäoliselt kohelnud enamus asju (sh mootor, kere) auto komponentidena, millel on komponendi ID. See võimaldaks vaadelda autot kui mingit pakki erinevatest komponentidest ning näiteks e-poes (või mõnes muus infosüsteemis) kõik komponendid klikatavaks teha. Ehk siis, inimene näeb nimekirja autodest (auto kirjeldus on hunnik meta-andmeid nagu XML-s toodud mark, tootmisaasta, hind) ning klikates lahti mõne auto, näeb nimekirja komponentidest, mis on omakorda klikatavad, et nende infot vaadata. Varustuselemendid siis samamoodi - ka neid võib vaadelda komponentidena (või miks mitte, pakettidena).&lt;br /&gt;
&lt;br /&gt;
=== Transformatsioon ===&lt;br /&gt;
&lt;br /&gt;
Transformatsioonid on hästi tehtud, HTMLs kuvatakse kogu vajalik info kenasti nimekirjadena välja. Siiski, natuke CSS-i ei teeks paha loetavuse mõttes.&lt;br /&gt;
&lt;br /&gt;
== Retsensioon ([[Meeskond LLL]]) ==&lt;br /&gt;
&lt;br /&gt;
Üldiselt on meeskond teinud head tööd ja üpriski hästi hakkama saanud. Kuigi oleks võinud kodutööd kirjeldada rohkem. Miks just selline teema valiti, mida võimaldab jne?&lt;br /&gt;
&lt;br /&gt;
Xmli tutvustus oleks võinud veidi pikem ja põhjalikum olla. Xmli oli veidi ebamugav lugeda, kuigi trepitud oli õigesti. Ülesehituselt on xml hästi ülesse ehitatud. Mootori maht oli lisatud atribuudina, aga kütus ja võimsus elemendina. Samas oleks ilusam olnud, kui need oleks kõik kirjutatud atribuudi või elemendina. Hea on see, et on jagatud tehnilised andmed ja varustus eraldi, mis teeb lugemist ja käsitlemist lihtsamaks. &lt;br /&gt;
&lt;br /&gt;
Transformatsioon on muidu üsna korralikult tehtud, kuigi oleks võinud veidike rohkem tähelepanu panna css’ile. Kuigi esimeses XSLT&#039;s on paar treppimise viga, aga teistel need puuduvad.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Retsentsioon teenusele ([[Peeter_VR2]]) ==&lt;br /&gt;
Projektiga on kaasas SQL skriptid mille põhjal sai endale andmebaas loodud. Kahjuks ei tulnud kummagi skriptiga kaasa andmeid. Seega teenust testida otseselt ei saanud. Teenust käivitades läks teenus ilusasti tööle ja sai kenasti funktsioonide vahel valida.&lt;br /&gt;
Loomulikult tuli nullpointer exception, kui miskit invokesin – tabelid tühjad. See ei seganud edasist koodi poolset vaatamist.&lt;br /&gt;
Teenuse ülesehitust vaadates, siis teenus on väga hästi ja läbimõeldult tehtud. Funktsionaalsus, mis on teenusele juurde pandud on hulgaliselt. Kogu funktsionaalne pool on ära ka kirjeldatud Wiki lehel, kust sai alguses hea ülevaate teenusest.&lt;br /&gt;
&lt;br /&gt;
Backendi ja SQLi ühendamine on tehtud LINQ abiga. Sealjuures on igast tabelist tehtud eraldi klass, et objektidega oleks targem ja lihtsam ümber käia. Väga hea lahendus. Samuti osadele klassidele on ehitatud Utils klassid, kus on lisafunktsionaalsus juures.&lt;br /&gt;
Kenasti on ära kasutatud objekt-orienteeritud lähenemist. Vajalike funktsioonide, mida hiljem teenus välja kutsub, kirjeldamine on igas klassis tehtud ja teenuse all on ainult õiged objektid välja kutsutud. Tegemist siis peamiselt static meetodidega.&lt;br /&gt;
&lt;br /&gt;
Silma häirib, et koodi juures puudub igasugune dokumentatsioon. Meetode pole kommenteeritud. Võiks olla, saaks kiiremini ülevaate, mida mingi meetod teeb või miks ta just nii kirjeldatud on. Vaatamata sellele on kood loetav ja ja pärast mõningat uurimist ka arusaadav, mida miski teeb. Tuleviku mõttes võiks olla kommentaarid juures, kui projekt peaks kasvama.&lt;br /&gt;
&lt;br /&gt;
Vaeva on nähtud lisatööga - teenusele on juurde ehitatud ka turva-sertifikaadid. Nagu näha on need teenuse juures kasutusel - ServiceSecurityContext&lt;br /&gt;
Projekti on juurde ehitatud, lisatud ka konsoolirakendus, mis  oli mõeldud teenuse testimiseks. Ise kasutada seda ei saanud kuna andmebaas oli tühi.&lt;br /&gt;
&lt;br /&gt;
== Retsensioon teenusele ([[Meeskond LLL]]) ==&lt;br /&gt;
&lt;br /&gt;
Teenus  analüüsi on teostatud põhjalikult ja kõiki funktsionaalsusi, mis võiksid olemas olla on ka realiseeritud. Töö lugemine ei ole rakse ja mulle isiklikult meeldib, et töö pole liialt suureks ja kirjuks paisutatud igasuguste pikkade kommentaaride ja kirjelustega, aga töös võiks natukene rohkem lühikesi kirjeldusi olla. Töö on ise hästi tehtud.&lt;br /&gt;
&lt;br /&gt;
== Retsensioon kliendile ([[Meeskond LLL]]) ==&lt;br /&gt;
&lt;br /&gt;
Klient on väga hästi tehtud. Kõiki teenuse funktsionaalsusi saab kasutada ja eriti meeldiv asjaolu on sertifikaatide olemasolu ja nende kasutus. Sertifikaatide tööle saamiseks võis minna palju aega ja vaeva, mis on juba ise suur näitaja kirjeldamaks, kui hästi ja põhjalikult tööd tehti. Ise arvan, et töö võiks olla eeskujuks teistele, kaasaarvatud minu enda meeskonnale.&lt;br /&gt;
&lt;br /&gt;
== Retsensioon kliendile (Meeskond &amp;quot;[[PhoneBook]]&amp;quot;) ==&lt;br /&gt;
&lt;br /&gt;
Kahjuks jäi testimise pool ära, sest mingil teadmatul põhjusel kaasasolevad scriptid ei teinud andmebaasi, vaid tegid tabelid ja andsid erroreid, sest need tabelid lisati süsteemi tabelite alla. Võimalik, et viga on minu enda arvutis, sest teiste kommentaaride järgi võib eeldada, et nad on seda ka testinud. Seetõttu on kommentaarid ainult koodi ja esitluse põhjal!&lt;br /&gt;
&lt;br /&gt;
=== Veebiteenus ===&lt;br /&gt;
&lt;br /&gt;
Ilmselgelt on ära tehtud väga suur töö, mida peaksid enamus gruppe eeskujuks võtma. Väga hea on see, et igal pool on kasutatud objekte ja pole mingi puder. Paraku pole koodi kommenteeritud, kuid enamjaolt võib asjast aru saada siis, kui vaadata meetodi nime või uurida sisu. Samas jääb näiteks täiesti arusaamatuks see, et mis mõte sellel ActionMessagel on - mõnede klasside järgi võiks pakkuda, et vigade kogumine? &lt;br /&gt;
Mõnes mõttes on arusaamatu ka see, et miks on kõik auto kohta käivad väljad kohustuslikud ning vähemalt auto võimsuse puhul puudub võimalus lisada &amp;quot;+&amp;quot; märk, kui on autol midagi muudetud ja pole täpselt teada võimsus. Hetkel on eeldus auto pass, mis ei pruugi kogu olulist infot anda. Lisadena võiks olla näiteks kommentaari väli kuhu saaks mingeid lisasid märkida kas auto ajaloo kohta või muude oluliste detailide jaoks. Samuti võiks olla pildi lisamise ja vaatamise võimalus, sest nagu öeldakse: &amp;quot;pilt ütleb rohkem kui 1000 sõna.&amp;quot; &lt;br /&gt;
Üks vähestest lahendustest, kus on kasutatud ka sertifikaate. Kõik etteantud nõuded on ka täidetud - teenus toimib, kasutajate tuvastamine ja haldus on olemas ning ka statistika toimib.&lt;br /&gt;
&lt;br /&gt;
=== Klientrakendus ===&lt;br /&gt;
&lt;br /&gt;
Korralik ja toimiv töö. Väga hea on see, et kasutatud on WPF-i mitte mõnda muud lahendust ning klientrakendus on loodud enda teenusele mitte mingile suvalisele asjale. Positiivne on ka see, et kommentaare on igale poole tekkinud, kuid kohati üsna mõttetuid, mis ei anna mingit lisainfot ja ei tee asja üldse arusaadavamaks. Disain on lihtne ja arusaadav. Küsitav on muidugi see registreerimise osa lingina, kuid võib olla tõesti isegi õigem kui nupp.&lt;br /&gt;
&lt;br /&gt;
== Retentsioon kliendi ja veebiteenus Hello Kitty ==&lt;br /&gt;
&lt;br /&gt;
Kliendi Rakendus&lt;br /&gt;
&lt;br /&gt;
Kliendi tööle saamiseks läks suhteliselt kaua aega mul, aga asi töötas nii nagu vaja ja asi oli korralikult tehtud. Vähemalt selle testimise juures mis mina tegin. Ei laskunud eriti sügavale ja ei hakkanud otsima, et kuidas saaks tekitada vigasid. Kuid disain oli puhas ja arusaadav.&lt;br /&gt;
&lt;br /&gt;
Kui koodi vaatasin siis kood oli puhas ja arusaadav. Kuid sammas oleks võinud olla kood kommenteeritud, et kui projekt liiga suureks muutub siis saaksid ka teised aru kes pole sellega varem tegelenud. Aga muidu paistis asi olevat korralik.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebiteenus&lt;br /&gt;
&lt;br /&gt;
Meeldis see et oli kasutatud dll faili et teenus oleks rohkem lahku. Kuid kui võtsid lahti CarService.cs siis algus oli seda väga raske lugeda oleks võinud olla veidi rohkem struktuurne. Kuid muidu jäin asjaga rahule.&lt;br /&gt;
Lugemise tegi lihtsamaks interface klass kus said otsida kiiresti mingi funktsiooni üles kui seda vaja leida. Aga muidu oli asi hästi tehtud.&lt;/div&gt;</summary>
		<author><name>Hparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:LLL&amp;diff=49154</id>
		<title>Talk:LLL</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:LLL&amp;diff=49154"/>
		<updated>2012-06-12T06:30:56Z</updated>

		<summary type="html">&lt;p&gt;Hparn: /* Retentsioon XML */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Retsensioon==&lt;br /&gt;
&lt;br /&gt;
Mulle tundub, et xml ei lähe kokku selle veebiteenusega, mida tahetakse teha. Võimalik muidugi, et tehtigi lihtsalt hetkel suvaline xml.&lt;br /&gt;
&lt;br /&gt;
XML paistab muidu olevat mõistlik aga ma arvan, et 4-ndas dimensioonis ei oleks ma kasutanud &amp;lt;nimi&amp;gt; väljal atribuute. Jääb mulje, et seda tehti sellepärast, et tööülesanne ütleb järgmist: &amp;quot;Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis on enamat, kui lihtsalt ID&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
XML schemale otsa vaadata siis ma vaatan küll, et see on vigane. Miks käiakse üle mitu korda elemendid? Isegi Visual Studios automaatne schema tegemine ei tooda sellist asja, proovisime järgi. Või oskate öelda, miks nii tehtud on?&lt;br /&gt;
&lt;br /&gt;
XSL faile on pandud 3 tükki, aga kõik tunduvad mulle koodi poolelt sarnased. Selle asemel oleks võinud lisada puuduliku XML faili formaadi muutmise XLSLi.&lt;br /&gt;
&lt;br /&gt;
Samas kiidaks veebiteenuse kirjelduse kohapealt tiimi !&lt;br /&gt;
&lt;br /&gt;
Meeskond [[PhoneBook]]&lt;br /&gt;
&lt;br /&gt;
==== Vastus ====&lt;br /&gt;
&lt;br /&gt;
Xml ei pidanudki veebiteenusega kokku minema. Ehk jah, tegime täiesti suvalise xmli. Schemas oli jah viga sees, kuna kasutasin automaatset schemat ja väike viga oli xmlis sees. Vabandan, et ise seda enne ei olnud märganud ja ära parandanud. Nüüd peaks schmea ok olema.&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid veebiteenusele ja klientrakendusele meeskonnalt [[PhoneBook]] ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Veebiteenus ====&lt;br /&gt;
&lt;br /&gt;
Esialgu planeeritud teenuse ja rakenduse analüüs/kirjeldus on wikis päris asjalik, kuid selle asemel realiseeritud telefoniraamatu kohta puuduvad mingisugusedki kommentaarid. Õnneks kaitsmisel sai seda nähtud.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi tabelite loomiseks antud skript eeldab, et selle nimeline andmebaas on juba olemas. Väike ebamugavus, sellest sain üle. Rollid tulevad skriptiga kaasa, see meeldis. &lt;br /&gt;
&lt;br /&gt;
Loodud tabelitest on näha, et saab luua erinevates rollides kasutajaid, kellel on igalühel kontaktid ja võimalus neid valikuliselt jagada mingis ajavahemikus. Näeb üsna kena välja, kuid:&lt;br /&gt;
* ei võimalda lisada uut tüüpi kontakte ilma andmebaasi ümber tegemata&lt;br /&gt;
* auditeerimise poole pealt ei jälgita, kes midagi loob/muudab/kustutab. Ilmselt ei peetud vajalikuks.&lt;br /&gt;
* kasutaja username maksimaalne pikkus on 12 tähemärki ja passwordil 15 tähemärki. Tekkis küsimus, et miks need piirangud nii karmid on.&lt;br /&gt;
&lt;br /&gt;
Väljade andmetüübid on minu arvates üsna arukalt valitud.&lt;br /&gt;
&lt;br /&gt;
Service class ja interface on millegipärast ühte faili kokku pandud, selguse mõttes võinuks need eraldi olla. Service klassil on lisatud atribuut [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)], ehk siis teenusest on korraga ainult üks instance. Miks?&lt;br /&gt;
&lt;br /&gt;
Katsetasin teenuse funktsioone WCF Clientiga. Mõned tähelepanekud:&lt;br /&gt;
* Kõik meetodid töötavad ja annavad sobivates oludes vastuse.&lt;br /&gt;
* Ebaõnnestunud päringu korral ei saadeta mingit vastust. Võibolla õige teguviis, kuid test client ei suuda debug sessionit jätkata ning see jookseb kokku. Lihtsalt väike ebamugavus testijale või ka teenusele rakenduse arendajatele.&lt;br /&gt;
* Ükski meetod ei vaja eelnevat logini ja passworde hoitakse plaintext kujul. Sertifikaate ei kasutata. Bindinguks on WsHttpBinding, kuid security pole sisse lülitatud.&lt;br /&gt;
* Saab luua sama kasutajanime ja passwordiga kasutajaid. Login õnnestub neist vaid esimesena loodul.&lt;br /&gt;
* Kõikidel on vaba ligipääs kõikide kontaktidele. See ei ole probleemiks, kui ongi mõeldud teha ühine telefoniraamat kõikidele kasutajatele.&lt;br /&gt;
* Meeldis, et päringutes sai spetsifitseerida soovitud tulemuste arvu.&lt;br /&gt;
&lt;br /&gt;
Kontaktide jagamise realiseerimiseks pole ilmselt aega jäänud.&lt;br /&gt;
&lt;br /&gt;
Failide Auth.cs ning AuthData.cs põhjal võib arvata, et autentimise ja muu turvalisusega seonduva lisamine on plaanis olnud, kuid pooleli jäetud.&lt;br /&gt;
&lt;br /&gt;
Userite / kontaktide salvestamine on pandud vastava andmetüübi kirjelduse faili, ülejäänud operatsioonid eraldi – andmetüübile vastavasse meetodifaili. Arvan, et oleks olnud loogilisem ka salvestamine ülejäänud meetoditega kokku panna.&lt;br /&gt;
&lt;br /&gt;
Meetodeid on palju rohkem kui teenuses võimalik välja kutsuda, kaasa arvatud kontakti jagamise funktsionaalsus. Üldjuhul on kõik päringud korralikult kirjutatud, päris kõiki jupphaaval läbi töötama ei hakanud. Märkasin, et näiteks uue kasutaja salvestamisel kontrollitakse eelnevalt selle olemasolu ja vajadusel hoopis uuendatakse seda – väga tubli!&lt;br /&gt;
&lt;br /&gt;
Kokkuvõttes on teenus planeeritud põhjalik ja olemasolevad osad tehtud üsna kenasti. Miinustena näen täielikku turvalisuse puudumist, teostatud funktsioonide vähest hulka ja mõningaid pisivigu. Andmete valideerimiseks ei tehta teenuse poole pealt midagi ja statistikat või kasutajate haldust ei eksisteeri.&lt;br /&gt;
&lt;br /&gt;
==== Klientrakendus ====&lt;br /&gt;
&lt;br /&gt;
Esimesena torkas silma WPF page-ide kasutamine. See on mulle kui kasutajale väga meelepärane. Ka ülejäänud kasutajaliidese disain on lihtne ja selge. Üks väike ebamugavus – login aknas pole defaultina username kastis kursor aktiivne ja enteriga ei saa login nuppu vajutada. Arvan, et enamikele kasutajatele oleks programmi selline käitumine ootuspärane.&lt;br /&gt;
&lt;br /&gt;
Registreerimine toimib väga edukalt, lausa nii edukalt, et võib luua lõputul hulgal kasutajaid, kellel pole ei kasutajanime, passwordi ega emaili. Andmebaasis on need tühja stringina, ehk siis mitte null väljad, vältides edukalt teenuse/andmebaasi poolt kehtestatud piiranguid. Siinkohal võiks olla kontroll nii teenuse kui rakenduse küljes, kuid kahjuks pole kummaski.&lt;br /&gt;
&lt;br /&gt;
Login on edukas tüüpkasutaja korral, kuid annab nullpointer exceptioni, kui üritada sisse logida mõne eelnevalt loodud vigase kasutajaga. Ka vale kasutajanime/parooli korral jookseb rakendus unhandled exceptioniga umbe.&lt;br /&gt;
&lt;br /&gt;
WPF page-kontrollidega navigeerides (vasak ülemine nurk, nooled ja rippmenüü) sai peatselt selgeks, et nuppe vajutades luuakse kogu aeg uusi lehti, vanadele saab navigeerida rippmenüüst ning neis säilib ka eelnevalt sisestatud info. Kasutajana oleks oodanud, et liigeldakse olemasolevate lehtede vahel (login ja registreerimine). Koodi lähemalt uurides (nt. registreeri_page.xaml.xs) selgub, et ka teenusega luuakse kogu aeg uusi ühendusi. Jõudluse seisukohalt ei tundu see hea lähenemisena.&lt;br /&gt;
&lt;br /&gt;
Nii search, browse kui add contact töötavad. Loomulikult saab lisada tühjade stringidega kontakte, nagu ka kasutaja registreerimise korral. Search näitab detailides enne tulemuse valikut mingit kuupäeva miinimumväärtust, see ei peaks seal ilmselt olema.&lt;br /&gt;
&lt;br /&gt;
Mõne otsingu korral esines sama väärtuse topelt kuvamist, ka selectionina olid nad korraga aktiveeritud. Põhjust otsides seda esimese hooga ei leidnud, jätan selle arendajate hingele.&lt;br /&gt;
&lt;br /&gt;
Enne sisse logimist sulgub programm ristist sulgedes edukalt, debug lõppeb. Peale sisselogimist see enam ei õnnestu, ka logout tehes jääb midagi mällu ja debug sessioon ei lõppe. Millegipärast jääb kliendi .exe jooksma (ka task manageris on näha). Koodi uurides on justkui igalpool vajalikes kohtades this.Close() käsud olemas, võibolla on asi visual studios endas.&lt;br /&gt;
&lt;br /&gt;
Koodis kasutatakse mõistlikke muutujanimesid ning aeg-ajalt esineb ka mõni rida kommentaari funktsiooni kirjelduseks. Üldjoontes on ülesehitus selge. Rakendus ei ole mahult suur ning on hoolsa inimese käes isegi päriselt kasutuskõlbulik. Disain, nagu juba mainitud, on piisavalt hea. Eeskujulikust kasutusest kõrvale kaldudes tekivad probleemid, millega programm pole arvestanud. Mingit andmete valideerimist ei ole. Arvestades ajanappust selle rakenduse loomiseks, pean tulemust piisavalt heaks.&lt;br /&gt;
&lt;br /&gt;
== Retentsioon kliendi ja veebideenus ==&lt;br /&gt;
&lt;br /&gt;
Kliendi Rakendus&lt;br /&gt;
&lt;br /&gt;
Kui ma vaatasin koodi siis panin kohe tähele, et on kirjutatud nii eesti keelselt kui ka inglise keelselt ja see tegi koodi kirjutamise kohe palju raskemaks. Suureks plussiks on, et kasutati WPF ehk mõeldi uute tehnoloogijate peale. Kuid sellega olid ka omad probleemid algus oli raske aru saada kasutaja liidesest. Ning puudusid igasugused kontrollid, et mida kasutaja sisestab kliendi rakendusse. Sa võisid tühja teksti jätta kasutaja nimeks ja ka parooliks ning registeerida, kuid hiljem ei saanud sedasi sisse logida. Minul jooksis rakendus kokku selle peale kohe.&lt;br /&gt;
&lt;br /&gt;
Nagu ka kasutaja loomisel puudus kontroll otsingul võisid sisestada tühja teksti sinna, kuid ei oska öelda võib olla arendajad mõtlesidki, et asi peab olema sedasi.&lt;br /&gt;
&lt;br /&gt;
Programmiga oli veel probleem kuna see jooksis kokku vahete peal sain süsteemi poolt veateateid. Et see näitab, et ei ole piisavalt kontrolle mida kasutaja teha saab. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebiteenus&lt;br /&gt;
&lt;br /&gt;
Andmebaasi tabelitega samma jama, et on kirjutatud nii eesti kui inglise keeles ja mis teeb lugemise palju raskemaks. Andmebaasi poolt siis veel väike soovitus kui rakendus peaks minema kasutusele ja populaarseks saama siis oleks hea kasutada int asemele Guid primary key&#039;ks. Ja küsimus tekkis parooli turvalisusest, miks on parool tavalisel kujul andmebaasis. Ja nii väike pikkus selleks jäetud enda kogemusest kasutan mina enda parooliks vähemalt 19 tähe märgilist parooli. &lt;br /&gt;
&lt;br /&gt;
Koodi poolt siis Faili nimed võiksid algata suure tähega kuna see on hea tava. Teiseks kood võiks olla kommenteeritud kuna osadest funktsioonidest ei saa kuidagi aru. Kolmandaks funktsioonide nimed samma moodi kui on avalik siis võiks algata suure tähega tegelikult kõik funktsioonid võiks algata suure tähega. Ja täpselt nagu andmebaasis on funktsioonides kirjutatud eesti keelseid sõnu. Mis tegi jälle loetavuse raskemaks.&lt;br /&gt;
&lt;br /&gt;
Aga muidu programm töötas nende parameetritega mis oli vaja. Kuid vajaks kõvasti üle vaatamis ja parandamist ning eriti turvalisuse poole lisamist.&lt;br /&gt;
&lt;br /&gt;
== Retentsioon XML ==&lt;br /&gt;
&lt;br /&gt;
Xml koha pealt vaadates siis paistis asi olevat korras. Ei oska eriti lisada selle koha pealt mis võiks juurte teha.&lt;br /&gt;
&lt;br /&gt;
XML schema kui ma seda nüüd vaatasin siis paistis olevat asi kuidagi vigane. Et samma küsimus mis on ka eelnevatel inimestel miks käiakse üle mitu korda ühte ja sammasid elemente.&lt;br /&gt;
&lt;br /&gt;
XSL failid on suhteliselt ühesugused ja miks neid kolm tükki on kas ei oleks olnud võimalik hakkama saada ühega. &lt;br /&gt;
&lt;br /&gt;
Kuid üldiselt vaadata siis on asjad hästi tehtud ja arvatavasti inimene alles õppis selle projektiga, siis tulevikus võib olla enam ei teee neid vigasid.&lt;/div&gt;</summary>
		<author><name>Hparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:LLL&amp;diff=49153</id>
		<title>Talk:LLL</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:LLL&amp;diff=49153"/>
		<updated>2012-06-12T06:24:40Z</updated>

		<summary type="html">&lt;p&gt;Hparn: /* Retentsioon kliendi ja veebideenus */ new section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Retsensioon==&lt;br /&gt;
&lt;br /&gt;
Mulle tundub, et xml ei lähe kokku selle veebiteenusega, mida tahetakse teha. Võimalik muidugi, et tehtigi lihtsalt hetkel suvaline xml.&lt;br /&gt;
&lt;br /&gt;
XML paistab muidu olevat mõistlik aga ma arvan, et 4-ndas dimensioonis ei oleks ma kasutanud &amp;lt;nimi&amp;gt; väljal atribuute. Jääb mulje, et seda tehti sellepärast, et tööülesanne ütleb järgmist: &amp;quot;Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis on enamat, kui lihtsalt ID&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
XML schemale otsa vaadata siis ma vaatan küll, et see on vigane. Miks käiakse üle mitu korda elemendid? Isegi Visual Studios automaatne schema tegemine ei tooda sellist asja, proovisime järgi. Või oskate öelda, miks nii tehtud on?&lt;br /&gt;
&lt;br /&gt;
XSL faile on pandud 3 tükki, aga kõik tunduvad mulle koodi poolelt sarnased. Selle asemel oleks võinud lisada puuduliku XML faili formaadi muutmise XLSLi.&lt;br /&gt;
&lt;br /&gt;
Samas kiidaks veebiteenuse kirjelduse kohapealt tiimi !&lt;br /&gt;
&lt;br /&gt;
Meeskond [[PhoneBook]]&lt;br /&gt;
&lt;br /&gt;
==== Vastus ====&lt;br /&gt;
&lt;br /&gt;
Xml ei pidanudki veebiteenusega kokku minema. Ehk jah, tegime täiesti suvalise xmli. Schemas oli jah viga sees, kuna kasutasin automaatset schemat ja väike viga oli xmlis sees. Vabandan, et ise seda enne ei olnud märganud ja ära parandanud. Nüüd peaks schmea ok olema.&lt;br /&gt;
&lt;br /&gt;
== Retsensioonid veebiteenusele ja klientrakendusele meeskonnalt [[PhoneBook]] ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Veebiteenus ====&lt;br /&gt;
&lt;br /&gt;
Esialgu planeeritud teenuse ja rakenduse analüüs/kirjeldus on wikis päris asjalik, kuid selle asemel realiseeritud telefoniraamatu kohta puuduvad mingisugusedki kommentaarid. Õnneks kaitsmisel sai seda nähtud.&lt;br /&gt;
&lt;br /&gt;
Andmebaasi tabelite loomiseks antud skript eeldab, et selle nimeline andmebaas on juba olemas. Väike ebamugavus, sellest sain üle. Rollid tulevad skriptiga kaasa, see meeldis. &lt;br /&gt;
&lt;br /&gt;
Loodud tabelitest on näha, et saab luua erinevates rollides kasutajaid, kellel on igalühel kontaktid ja võimalus neid valikuliselt jagada mingis ajavahemikus. Näeb üsna kena välja, kuid:&lt;br /&gt;
* ei võimalda lisada uut tüüpi kontakte ilma andmebaasi ümber tegemata&lt;br /&gt;
* auditeerimise poole pealt ei jälgita, kes midagi loob/muudab/kustutab. Ilmselt ei peetud vajalikuks.&lt;br /&gt;
* kasutaja username maksimaalne pikkus on 12 tähemärki ja passwordil 15 tähemärki. Tekkis küsimus, et miks need piirangud nii karmid on.&lt;br /&gt;
&lt;br /&gt;
Väljade andmetüübid on minu arvates üsna arukalt valitud.&lt;br /&gt;
&lt;br /&gt;
Service class ja interface on millegipärast ühte faili kokku pandud, selguse mõttes võinuks need eraldi olla. Service klassil on lisatud atribuut [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)], ehk siis teenusest on korraga ainult üks instance. Miks?&lt;br /&gt;
&lt;br /&gt;
Katsetasin teenuse funktsioone WCF Clientiga. Mõned tähelepanekud:&lt;br /&gt;
* Kõik meetodid töötavad ja annavad sobivates oludes vastuse.&lt;br /&gt;
* Ebaõnnestunud päringu korral ei saadeta mingit vastust. Võibolla õige teguviis, kuid test client ei suuda debug sessionit jätkata ning see jookseb kokku. Lihtsalt väike ebamugavus testijale või ka teenusele rakenduse arendajatele.&lt;br /&gt;
* Ükski meetod ei vaja eelnevat logini ja passworde hoitakse plaintext kujul. Sertifikaate ei kasutata. Bindinguks on WsHttpBinding, kuid security pole sisse lülitatud.&lt;br /&gt;
* Saab luua sama kasutajanime ja passwordiga kasutajaid. Login õnnestub neist vaid esimesena loodul.&lt;br /&gt;
* Kõikidel on vaba ligipääs kõikide kontaktidele. See ei ole probleemiks, kui ongi mõeldud teha ühine telefoniraamat kõikidele kasutajatele.&lt;br /&gt;
* Meeldis, et päringutes sai spetsifitseerida soovitud tulemuste arvu.&lt;br /&gt;
&lt;br /&gt;
Kontaktide jagamise realiseerimiseks pole ilmselt aega jäänud.&lt;br /&gt;
&lt;br /&gt;
Failide Auth.cs ning AuthData.cs põhjal võib arvata, et autentimise ja muu turvalisusega seonduva lisamine on plaanis olnud, kuid pooleli jäetud.&lt;br /&gt;
&lt;br /&gt;
Userite / kontaktide salvestamine on pandud vastava andmetüübi kirjelduse faili, ülejäänud operatsioonid eraldi – andmetüübile vastavasse meetodifaili. Arvan, et oleks olnud loogilisem ka salvestamine ülejäänud meetoditega kokku panna.&lt;br /&gt;
&lt;br /&gt;
Meetodeid on palju rohkem kui teenuses võimalik välja kutsuda, kaasa arvatud kontakti jagamise funktsionaalsus. Üldjuhul on kõik päringud korralikult kirjutatud, päris kõiki jupphaaval läbi töötama ei hakanud. Märkasin, et näiteks uue kasutaja salvestamisel kontrollitakse eelnevalt selle olemasolu ja vajadusel hoopis uuendatakse seda – väga tubli!&lt;br /&gt;
&lt;br /&gt;
Kokkuvõttes on teenus planeeritud põhjalik ja olemasolevad osad tehtud üsna kenasti. Miinustena näen täielikku turvalisuse puudumist, teostatud funktsioonide vähest hulka ja mõningaid pisivigu. Andmete valideerimiseks ei tehta teenuse poole pealt midagi ja statistikat või kasutajate haldust ei eksisteeri.&lt;br /&gt;
&lt;br /&gt;
==== Klientrakendus ====&lt;br /&gt;
&lt;br /&gt;
Esimesena torkas silma WPF page-ide kasutamine. See on mulle kui kasutajale väga meelepärane. Ka ülejäänud kasutajaliidese disain on lihtne ja selge. Üks väike ebamugavus – login aknas pole defaultina username kastis kursor aktiivne ja enteriga ei saa login nuppu vajutada. Arvan, et enamikele kasutajatele oleks programmi selline käitumine ootuspärane.&lt;br /&gt;
&lt;br /&gt;
Registreerimine toimib väga edukalt, lausa nii edukalt, et võib luua lõputul hulgal kasutajaid, kellel pole ei kasutajanime, passwordi ega emaili. Andmebaasis on need tühja stringina, ehk siis mitte null väljad, vältides edukalt teenuse/andmebaasi poolt kehtestatud piiranguid. Siinkohal võiks olla kontroll nii teenuse kui rakenduse küljes, kuid kahjuks pole kummaski.&lt;br /&gt;
&lt;br /&gt;
Login on edukas tüüpkasutaja korral, kuid annab nullpointer exceptioni, kui üritada sisse logida mõne eelnevalt loodud vigase kasutajaga. Ka vale kasutajanime/parooli korral jookseb rakendus unhandled exceptioniga umbe.&lt;br /&gt;
&lt;br /&gt;
WPF page-kontrollidega navigeerides (vasak ülemine nurk, nooled ja rippmenüü) sai peatselt selgeks, et nuppe vajutades luuakse kogu aeg uusi lehti, vanadele saab navigeerida rippmenüüst ning neis säilib ka eelnevalt sisestatud info. Kasutajana oleks oodanud, et liigeldakse olemasolevate lehtede vahel (login ja registreerimine). Koodi lähemalt uurides (nt. registreeri_page.xaml.xs) selgub, et ka teenusega luuakse kogu aeg uusi ühendusi. Jõudluse seisukohalt ei tundu see hea lähenemisena.&lt;br /&gt;
&lt;br /&gt;
Nii search, browse kui add contact töötavad. Loomulikult saab lisada tühjade stringidega kontakte, nagu ka kasutaja registreerimise korral. Search näitab detailides enne tulemuse valikut mingit kuupäeva miinimumväärtust, see ei peaks seal ilmselt olema.&lt;br /&gt;
&lt;br /&gt;
Mõne otsingu korral esines sama väärtuse topelt kuvamist, ka selectionina olid nad korraga aktiveeritud. Põhjust otsides seda esimese hooga ei leidnud, jätan selle arendajate hingele.&lt;br /&gt;
&lt;br /&gt;
Enne sisse logimist sulgub programm ristist sulgedes edukalt, debug lõppeb. Peale sisselogimist see enam ei õnnestu, ka logout tehes jääb midagi mällu ja debug sessioon ei lõppe. Millegipärast jääb kliendi .exe jooksma (ka task manageris on näha). Koodi uurides on justkui igalpool vajalikes kohtades this.Close() käsud olemas, võibolla on asi visual studios endas.&lt;br /&gt;
&lt;br /&gt;
Koodis kasutatakse mõistlikke muutujanimesid ning aeg-ajalt esineb ka mõni rida kommentaari funktsiooni kirjelduseks. Üldjoontes on ülesehitus selge. Rakendus ei ole mahult suur ning on hoolsa inimese käes isegi päriselt kasutuskõlbulik. Disain, nagu juba mainitud, on piisavalt hea. Eeskujulikust kasutusest kõrvale kaldudes tekivad probleemid, millega programm pole arvestanud. Mingit andmete valideerimist ei ole. Arvestades ajanappust selle rakenduse loomiseks, pean tulemust piisavalt heaks.&lt;br /&gt;
&lt;br /&gt;
== Retentsioon kliendi ja veebideenus ==&lt;br /&gt;
&lt;br /&gt;
Kliendi Rakendus&lt;br /&gt;
&lt;br /&gt;
Kui ma vaatasin koodi siis panin kohe tähele, et on kirjutatud nii eesti keelselt kui ka inglise keelselt ja see tegi koodi kirjutamise kohe palju raskemaks. Suureks plussiks on, et kasutati WPF ehk mõeldi uute tehnoloogijate peale. Kuid sellega olid ka omad probleemid algus oli raske aru saada kasutaja liidesest. Ning puudusid igasugused kontrollid, et mida kasutaja sisestab kliendi rakendusse. Sa võisid tühja teksti jätta kasutaja nimeks ja ka parooliks ning registeerida, kuid hiljem ei saanud sedasi sisse logida. Minul jooksis rakendus kokku selle peale kohe.&lt;br /&gt;
&lt;br /&gt;
Nagu ka kasutaja loomisel puudus kontroll otsingul võisid sisestada tühja teksti sinna, kuid ei oska öelda võib olla arendajad mõtlesidki, et asi peab olema sedasi.&lt;br /&gt;
&lt;br /&gt;
Programmiga oli veel probleem kuna see jooksis kokku vahete peal sain süsteemi poolt veateateid. Et see näitab, et ei ole piisavalt kontrolle mida kasutaja teha saab. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebiteenus&lt;br /&gt;
&lt;br /&gt;
Andmebaasi tabelitega samma jama, et on kirjutatud nii eesti kui inglise keeles ja mis teeb lugemise palju raskemaks. Andmebaasi poolt siis veel väike soovitus kui rakendus peaks minema kasutusele ja populaarseks saama siis oleks hea kasutada int asemele Guid primary key&#039;ks. Ja küsimus tekkis parooli turvalisusest, miks on parool tavalisel kujul andmebaasis. Ja nii väike pikkus selleks jäetud enda kogemusest kasutan mina enda parooliks vähemalt 19 tähe märgilist parooli. &lt;br /&gt;
&lt;br /&gt;
Koodi poolt siis Faili nimed võiksid algata suure tähega kuna see on hea tava. Teiseks kood võiks olla kommenteeritud kuna osadest funktsioonidest ei saa kuidagi aru. Kolmandaks funktsioonide nimed samma moodi kui on avalik siis võiks algata suure tähega tegelikult kõik funktsioonid võiks algata suure tähega. Ja täpselt nagu andmebaasis on funktsioonides kirjutatud eesti keelseid sõnu. Mis tegi jälle loetavuse raskemaks.&lt;br /&gt;
&lt;br /&gt;
Aga muidu programm töötas nende parameetritega mis oli vaja. Kuid vajaks kõvasti üle vaatamis ja parandamist ning eriti turvalisuse poole lisamist.&lt;/div&gt;</summary>
		<author><name>Hparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22Veebirakenduste_loomine_ASP.NET_abil%22_2012&amp;diff=46429</id>
		<title>Kodutöö aines &quot;Veebirakenduste loomine ASP.NET abil&quot; 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22Veebirakenduste_loomine_ASP.NET_abil%22_2012&amp;diff=46429"/>
		<updated>2012-03-06T20:04:40Z</updated>

		<summary type="html">&lt;p&gt;Hparn: /* Meeskond &amp;quot;Hello Kitty&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Veebirakenduste loomine ASP.NET abil]]&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Veebirakenduste loomine ASP.NET abil&amp;quot;=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus veebiarendusest Asp.Net tehnoloogia abil ning süvendada meeskonnatööoskust. Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..5 tudengit (erandjuhul ka 2) ning ühel teemal teostab projekti üks meeskond.&lt;br /&gt;
Töö käiku kajastatakse ajaveebis (blogis) või http://wiki.itcollege.ee keskkonnas. Ajaveebi pidamise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest. Ajaveebi loob ja ajaveebi haldab projektimeeskond vabalt valitud (avalikus) keskkonnas.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
Kodutöö on üks suur meeskonnatööna valmiv ülesanne, mis on jaotatud väiksemateks osadeks. Osade kirjeldused ja tähtajad on kirjeldatud allpool.&lt;br /&gt;
&lt;br /&gt;
Tähtaegadest mitte kinnipidamisel kaotatakse punkte.Kui töö esitatakse tähtajast hiljem ,kaotatakse iga hilinenud päeva kohta 10% punktidest. Maksimaalselt kaotatakse 50%.&lt;br /&gt;
&lt;br /&gt;
Näide: &lt;br /&gt;
Töö esitamise tähtaeg on 4.09.2011 kell 23:59 ja selle osa eest on võimalik teenida 8p. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. &amp;lt;br/&amp;gt;&lt;br /&gt;
Tulemus:8p&lt;br /&gt;
&lt;br /&gt;
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2011 02:00 (ehk tähtajast paar tundi hiljem). &amp;lt;br/&amp;gt;&lt;br /&gt;
Tulemus: 7,1 punkti. &lt;br /&gt;
&lt;br /&gt;
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2011 12:00 (ehk tähtajast paar päeva hiljem). &amp;lt;br/&amp;gt;&lt;br /&gt;
Tulemus: 6,4 punkti. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Teema ning meeskonna koosseis. Analüüs===&lt;br /&gt;
&amp;lt;i&amp;gt;Tähtaeg: 06.03.2012 23:59&amp;lt;/i&amp;gt;&lt;br /&gt;
(10 punkti)&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tuleb:&lt;br /&gt;
*kooskõlastada õppejõuga idee&lt;br /&gt;
*panna kokku meeskond&lt;br /&gt;
*luua meeskonnale wiki leht, kus&lt;br /&gt;
** tuuakse välja meeskonna kõik liikmed ja määratakse projektijuht&lt;br /&gt;
** sõnastatakse idee olemus&lt;br /&gt;
** teostatakse esmane analüüs&lt;br /&gt;
***Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja.&lt;br /&gt;
***Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(&#039;&#039;Must have&#039;&#039;)&lt;br /&gt;
***Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(&#039;&#039;Nice to have&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Analüüsi ja idee sõnade maht on arvuliselt minimaalselt 700.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;i&amp;gt;Tähtaeg: 15.03.2012 &amp;lt;/i&amp;gt;&lt;br /&gt;
(5 punkti)&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
&amp;lt;i&amp;gt; Tähtaeg:12.05.2012 (25p)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039;&lt;br /&gt;
24.05.2012 (5p)&lt;br /&gt;
&lt;br /&gt;
===Kaitsmine===&lt;br /&gt;
&amp;lt;i&amp;gt;Siia ilmub mais registreerumisleht&amp;lt;/i&amp;gt;&lt;br /&gt;
(5 punkti)&lt;br /&gt;
&lt;br /&gt;
Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks. Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida. Kestvus ~20min.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
Tehnilisi ja vormistuslike puudujääke on võimalik korvata lisavõimaluste realiseerimisega.Üldjuhul tuleb loodud lahendust ka praktikumides teistele tudengitele tutvustada (ca 20 min).&lt;br /&gt;
&lt;br /&gt;
Kogu aine mahust annab projekt 50% ehk edaspidi 50p. Täpsem kirjeldus projekti erinevate osade ja tähtaegade kohta on kirjeldatud sektsioonis: Tähtajad &lt;br /&gt;
&lt;br /&gt;
Tähtaegadest kinni pidamine on oluline. &lt;br /&gt;
Iga hilinenud päev vähendab tulemust 10% võrra. Maksimaalselt võib kaotada -50% võimalikest punktidest.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel +372 53 469 734 või mait.poska [ät] itcollege.ee&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2012 kevad=&lt;br /&gt;
Kodutööna tuleb luua: &lt;br /&gt;
* CMS ehk sisuhalduskeskkond&lt;br /&gt;
* Vabalt valitud teemal (vt näidisteemad) mingisugune ärirakendus: näiteks kodune raamatukogu, e-pood, pere eelarve keskkond jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Nõuded==&lt;br /&gt;
&#039;&#039;&#039;Loodav lahendus peab sisaldama:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;CMS&#039;i funktsionaalsust&#039;&#039;&#039;&lt;br /&gt;
** Võimalus lehtede sisu muuta veebiliidese abil&lt;br /&gt;
** Võimalus lehti leheküljestikku lisada&lt;br /&gt;
** Võimalus lehti leheküljestikust kustutada&lt;br /&gt;
** Võimalus lehti avaldada või varjata&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Piiratud kasutajatele mõeldud ala&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Mingisugust ärirakendust (vt näidisteemad)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loodavas süsteemis tuleb kasutada:&#039;&#039;&#039;&lt;br /&gt;
* Oma teadmisi :)&lt;br /&gt;
* Master-lehekülgi&lt;br /&gt;
* Kasutajahaldust&lt;br /&gt;
* Andmeallikat (XML, andmebaas jne)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lisapunkte annab:&#039;&#039;&#039;&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav rakendus oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* AJAX / Silverlight&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
===Terviseleht===&lt;br /&gt;
&#039;&#039;&#039;Selle teema võib valida mitu meeskonda&#039;&#039;&#039;&lt;br /&gt;
Vaata: http://www.terviseleht.ee&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Ülesandeks on see, et leida terviselehele tehniline lahendus, mis oleks kaasaegne ning pilkupüüdev. Realiseeritud peaks olema:&lt;br /&gt;
* Uute arktiklite postitamine&lt;br /&gt;
** Võimalus artikleid lehtedeks jagada&lt;br /&gt;
** Võimalus artikleid kategooriateks jagada&lt;br /&gt;
** Võimalus artikleid &amp;quot;sildistada&amp;quot;&lt;br /&gt;
* Arhiiv&lt;br /&gt;
* Otsing&lt;br /&gt;
* Küsitlus&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* võimalda Terviselehte mugavalt lugeda ka mobiilsete seadmetega, sh uue iPadi ja &amp;quot;vana&amp;quot; iPhonega,&lt;br /&gt;
* sündmuste kalender&lt;br /&gt;
** piiratud võimalused partneritele sündmuste kalendrisse sündmuste lisamiseks&lt;br /&gt;
* lisada võimalused kasutamaks videolõike, telereklaame jne&lt;br /&gt;
* luua (ID kaardiga) kommenteerimisvõimalus&lt;br /&gt;
* tekitada väike veebipood&lt;br /&gt;
* üle vaadata kogu reklaamide paigutuse, suuruste, võimaluste osa&lt;br /&gt;
* luua piiratud ligipääsuga tasuline ala&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Õppekavade infosüsteem===&lt;br /&gt;
Eksamikeskuse koduleheküljel on kutseõppe riiklikud õppekavad ja nende seotud õppematerjalide kaardistused http://www.ekk.edu.ee/valdkonnad/kutseharidus/kutseoppe-riiklikud-oppekavad&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua rakendus, mis&lt;br /&gt;
* Võimaldaks sisestada, vaadata, muuta jne õppekavasid ja nendega seotud õppematerjale&lt;br /&gt;
** Iga õppekava koosneb moodulitest&lt;br /&gt;
** Iga mooduliga on seotud õppematerjalid (samas võib olla, et õppematerjale ei ole)&lt;br /&gt;
* Õppekavu peab olema võimalik välja importida (kuvada) ka antud etteantud kujul (pärast muutmist, täiendamist)&lt;br /&gt;
* Õppematerjalide kaardistust peab olema võimalik välja importida (kuvada) ka antud etteantud kujul (pärast muutmist, täiendamist)&lt;br /&gt;
* Peab olema võimalik teha erialade analüüsi: näha palju on ühiseid mooduleid kahel õppekaval&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* Võimalda siduda mooduliga märksõnad ning kuvada moodulid ka märksõnade kaupa&lt;br /&gt;
* Iga moodulis käsitletud teema võiks olla omaette märksõna&lt;br /&gt;
* Erialade analüüsi: näha palju on ühiseid märksõnu kahel õppekaval&lt;br /&gt;
&lt;br /&gt;
===Kodune raamatukogu===&lt;br /&gt;
Kodudes on tihti erinevaid raamatuid ja sõbrad tahavad neid vahel laenutada.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Loo rakendus, mis&lt;br /&gt;
* Võimaldaks sisestada kodused raamatud&lt;br /&gt;
* Võimaldaks luua laenutajate profiile&lt;br /&gt;
* Raamatuid välja laenutada (tähtajaliselt)&lt;br /&gt;
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused  jne)&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* Kui laenutaja profiilis on e-mail, siis saada automaatselt e-kiri „kallis sõber see ja see, Sinu käes on minu raamat, kas tood tagasi ka?”&lt;br /&gt;
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.&lt;br /&gt;
* Lase lisada raamatutele pilt&lt;br /&gt;
* Loo lihtne avalik veebivaade&lt;br /&gt;
&lt;br /&gt;
===Küsimustike genereerimise ja täitmise rakendus===&lt;br /&gt;
eFormular on nüüd tasuline, teeme ise uue ja parema.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Loo rakendus, mis:&lt;br /&gt;
* Võimaldab küsimustike luua ja salvestada&lt;br /&gt;
* Võimaldab loodud küsimustike täita&lt;br /&gt;
* Võimaldab täidetud küsimustike baasil lihtsamat statistikat teha&lt;br /&gt;
* Võimaldab kasutada erinevat tüüpi küsimusi&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Loo võimalus saata link küsimustikele otse rakendusest küsimustike täitjatele&lt;br /&gt;
* Loo võimalus, et iga vastaja saab küsimustikku täita vaid ühe korra.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CRM===&lt;br /&gt;
Klientidest peab olema ülevaade.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Loo rakendus, mis võimaldab:&lt;br /&gt;
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada&lt;br /&gt;
* Võimalda sisestada kliendikontakte&lt;br /&gt;
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.&lt;br /&gt;
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega&lt;br /&gt;
* Õnnitlusmeilide template’sid võiks olla mitu&lt;br /&gt;
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis&lt;br /&gt;
* Loo võimalus klientide omavaheliseks sidumiseks (ehk võimalus klientide võimalike omavaheliste suhete kirjeldamiseks)&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2012=&lt;br /&gt;
==[[Meeskond &amp;quot;Hello Kitty&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
Projekti juht: Jaanus Varus&lt;br /&gt;
Liikmed: Herki Pärn, Jaanus Varus&lt;br /&gt;
&lt;br /&gt;
Idee:&lt;br /&gt;
Loome veebirakenduse kindlustus kahjude haldamiseks. Mis on suunatud firmadle kes viivad läbi kindlustus (Garantii) remonti. Näiteks autofirmad. Selle rakendusega soovima aidata anda ülevaate kulude ja tulude kohta. Ja et oleks ka võimalus statistikat teha.&lt;br /&gt;
&lt;br /&gt;
Analüüs:&lt;br /&gt;
Rakendus jaotub kaheks. Esimene osa on kus töötajad saavad sisestada kahju ja selle maksumist andmebaasi ja neid ka hiljem vaadata. Teine osa peaks olema kus ülemus saab vaadata kokku võtet ikka kindlustus firmaga seotud tegevustest. Rakendus siis sisaldaks endas sisuhaldust kus saab lisada uusi kindlustus asutusi ja neid ka kirjeldada. Teiseks peaks olema võimalus laiendada ka erinevaid osakondasid. Näiteks on üks suur firma ja millel on kolm osakonda eri linnades. Ja kuna iga osakond on eraldatud teistest siis peab olema ka võimalus sisestada osakonna paasil. Ja kui firma peaks laienema või mõne osakonna kinni panama siis peab olema võimalus ka osakondasid hallata. Kolmandaks peaks olema ka kasutajate haldus. Kuna süsteem ei ole suunatud tavakasutajatele siis on kinnine registeerimine ja mis toimub sisuhalduse kaudu. Ehk siis administraator saab ainult lisada uusi inimesi süsteemi ja määrata neile rollid. Neljandaks peaks olema võimalus ka muuta muid sisu lehti. Näiteks KKK lehte kuhu saab panna korduma kippuvaid küsimus. See lihtsustaks administraatori tööd märgataval määral&lt;br /&gt;
Eesmärk on anda ülevaade kindlustus kulude kohta ja ka sissetulekud. Saab teha erinevaid uuringuid näiteks mis kindlustust inimesed rohkem kasutavad. Põhi eesmärk jab siiski algus firma siseseks ehk ülevaate andmiseks ülemusele ja ka tehtud või tegemisel tööde hoidmiseks ühes kohas ja et seda oleks kerge hallata. Ja vähendada filide hulka arvutis või siis paberkandjal. Et ei peaks olema kõik asjad eraldi vaid oleks ühes koos. Lihtsamini öelda siis viia süsteem ühele standartsele kujule.   &lt;br /&gt;
See rakendus on suunatud siis firmadele ja mitte tavakasutajatele. Kuna see oleks siis firma sisene süsteem aga võimalik ka mõelda selle edasi arendamisele. Luua samma süsteemi basil ka muid firmale vajalike haldus vahendeid. Kas või raamatu pidamisega seotud vahendeid. Näiteks tavainimene saaks vaadata endaga seotud kindlustus insitente.&lt;br /&gt;
Probleemikamateks osadeks kujuneb sisuhaldus kuna kõik andmed tulevad dünaamiliselt. Ja ka andmebaasi osa pool kus tuleb läbi mõelda kuida süsteem peaks olema üles ehitatud. Ja kõige suurimaks probleemiks võib osutada asja lihtsaks tegemine tavakasutajale. Kuna see on meie esimen project mis on nii suures mahus siis me ei oska hinnata veel selleks kuluvat töö aeg ja ka muid seonduvaid probleeme selle projektiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Funktsionaalsus:&lt;br /&gt;
+Kindlustus andmete sisestamine.&lt;br /&gt;
+Uute kindlustus firmade lisamine.&lt;br /&gt;
+Arhiveerimine.&lt;br /&gt;
&lt;br /&gt;
Nice to have:&lt;br /&gt;
+Kujundus.&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Miski nimi&amp;quot;]]==&lt;br /&gt;
===Teema===&lt;br /&gt;
Mis on selle projekti sisuks&lt;br /&gt;
 &lt;br /&gt;
==[[Meeskond &amp;quot;BugTracker&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Veahaldussüsteem&lt;br /&gt;
&lt;br /&gt;
[[Category: Veebirakenduste loomine ASP.NET abil]]&lt;br /&gt;
&lt;br /&gt;
==Meeskond [[&amp;quot;ASP .NOT&amp;quot;]]==&lt;br /&gt;
===Teema===&lt;br /&gt;
Online küsimustike loomine ja vastamine&lt;/div&gt;</summary>
		<author><name>Hparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22Veebirakenduste_loomine_ASP.NET_abil%22_2012&amp;diff=46428</id>
		<title>Kodutöö aines &quot;Veebirakenduste loomine ASP.NET abil&quot; 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22Veebirakenduste_loomine_ASP.NET_abil%22_2012&amp;diff=46428"/>
		<updated>2012-03-06T20:04:13Z</updated>

		<summary type="html">&lt;p&gt;Hparn: /* Meeskond &amp;quot;Hello Kitty&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Veebirakenduste loomine ASP.NET abil]]&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Veebirakenduste loomine ASP.NET abil&amp;quot;=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus veebiarendusest Asp.Net tehnoloogia abil ning süvendada meeskonnatööoskust. Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..5 tudengit (erandjuhul ka 2) ning ühel teemal teostab projekti üks meeskond.&lt;br /&gt;
Töö käiku kajastatakse ajaveebis (blogis) või http://wiki.itcollege.ee keskkonnas. Ajaveebi pidamise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest. Ajaveebi loob ja ajaveebi haldab projektimeeskond vabalt valitud (avalikus) keskkonnas.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
Kodutöö on üks suur meeskonnatööna valmiv ülesanne, mis on jaotatud väiksemateks osadeks. Osade kirjeldused ja tähtajad on kirjeldatud allpool.&lt;br /&gt;
&lt;br /&gt;
Tähtaegadest mitte kinnipidamisel kaotatakse punkte.Kui töö esitatakse tähtajast hiljem ,kaotatakse iga hilinenud päeva kohta 10% punktidest. Maksimaalselt kaotatakse 50%.&lt;br /&gt;
&lt;br /&gt;
Näide: &lt;br /&gt;
Töö esitamise tähtaeg on 4.09.2011 kell 23:59 ja selle osa eest on võimalik teenida 8p. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. &amp;lt;br/&amp;gt;&lt;br /&gt;
Tulemus:8p&lt;br /&gt;
&lt;br /&gt;
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2011 02:00 (ehk tähtajast paar tundi hiljem). &amp;lt;br/&amp;gt;&lt;br /&gt;
Tulemus: 7,1 punkti. &lt;br /&gt;
&lt;br /&gt;
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2011 12:00 (ehk tähtajast paar päeva hiljem). &amp;lt;br/&amp;gt;&lt;br /&gt;
Tulemus: 6,4 punkti. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Teema ning meeskonna koosseis. Analüüs===&lt;br /&gt;
&amp;lt;i&amp;gt;Tähtaeg: 06.03.2012 23:59&amp;lt;/i&amp;gt;&lt;br /&gt;
(10 punkti)&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tuleb:&lt;br /&gt;
*kooskõlastada õppejõuga idee&lt;br /&gt;
*panna kokku meeskond&lt;br /&gt;
*luua meeskonnale wiki leht, kus&lt;br /&gt;
** tuuakse välja meeskonna kõik liikmed ja määratakse projektijuht&lt;br /&gt;
** sõnastatakse idee olemus&lt;br /&gt;
** teostatakse esmane analüüs&lt;br /&gt;
***Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja.&lt;br /&gt;
***Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(&#039;&#039;Must have&#039;&#039;)&lt;br /&gt;
***Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(&#039;&#039;Nice to have&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Analüüsi ja idee sõnade maht on arvuliselt minimaalselt 700.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;i&amp;gt;Tähtaeg: 15.03.2012 &amp;lt;/i&amp;gt;&lt;br /&gt;
(5 punkti)&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
&amp;lt;i&amp;gt; Tähtaeg:12.05.2012 (25p)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039;&lt;br /&gt;
24.05.2012 (5p)&lt;br /&gt;
&lt;br /&gt;
===Kaitsmine===&lt;br /&gt;
&amp;lt;i&amp;gt;Siia ilmub mais registreerumisleht&amp;lt;/i&amp;gt;&lt;br /&gt;
(5 punkti)&lt;br /&gt;
&lt;br /&gt;
Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks. Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida. Kestvus ~20min.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
Tehnilisi ja vormistuslike puudujääke on võimalik korvata lisavõimaluste realiseerimisega.Üldjuhul tuleb loodud lahendust ka praktikumides teistele tudengitele tutvustada (ca 20 min).&lt;br /&gt;
&lt;br /&gt;
Kogu aine mahust annab projekt 50% ehk edaspidi 50p. Täpsem kirjeldus projekti erinevate osade ja tähtaegade kohta on kirjeldatud sektsioonis: Tähtajad &lt;br /&gt;
&lt;br /&gt;
Tähtaegadest kinni pidamine on oluline. &lt;br /&gt;
Iga hilinenud päev vähendab tulemust 10% võrra. Maksimaalselt võib kaotada -50% võimalikest punktidest.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel +372 53 469 734 või mait.poska [ät] itcollege.ee&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2012 kevad=&lt;br /&gt;
Kodutööna tuleb luua: &lt;br /&gt;
* CMS ehk sisuhalduskeskkond&lt;br /&gt;
* Vabalt valitud teemal (vt näidisteemad) mingisugune ärirakendus: näiteks kodune raamatukogu, e-pood, pere eelarve keskkond jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Nõuded==&lt;br /&gt;
&#039;&#039;&#039;Loodav lahendus peab sisaldama:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;CMS&#039;i funktsionaalsust&#039;&#039;&#039;&lt;br /&gt;
** Võimalus lehtede sisu muuta veebiliidese abil&lt;br /&gt;
** Võimalus lehti leheküljestikku lisada&lt;br /&gt;
** Võimalus lehti leheküljestikust kustutada&lt;br /&gt;
** Võimalus lehti avaldada või varjata&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Piiratud kasutajatele mõeldud ala&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Mingisugust ärirakendust (vt näidisteemad)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loodavas süsteemis tuleb kasutada:&#039;&#039;&#039;&lt;br /&gt;
* Oma teadmisi :)&lt;br /&gt;
* Master-lehekülgi&lt;br /&gt;
* Kasutajahaldust&lt;br /&gt;
* Andmeallikat (XML, andmebaas jne)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lisapunkte annab:&#039;&#039;&#039;&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav rakendus oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* AJAX / Silverlight&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
===Terviseleht===&lt;br /&gt;
&#039;&#039;&#039;Selle teema võib valida mitu meeskonda&#039;&#039;&#039;&lt;br /&gt;
Vaata: http://www.terviseleht.ee&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Ülesandeks on see, et leida terviselehele tehniline lahendus, mis oleks kaasaegne ning pilkupüüdev. Realiseeritud peaks olema:&lt;br /&gt;
* Uute arktiklite postitamine&lt;br /&gt;
** Võimalus artikleid lehtedeks jagada&lt;br /&gt;
** Võimalus artikleid kategooriateks jagada&lt;br /&gt;
** Võimalus artikleid &amp;quot;sildistada&amp;quot;&lt;br /&gt;
* Arhiiv&lt;br /&gt;
* Otsing&lt;br /&gt;
* Küsitlus&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* võimalda Terviselehte mugavalt lugeda ka mobiilsete seadmetega, sh uue iPadi ja &amp;quot;vana&amp;quot; iPhonega,&lt;br /&gt;
* sündmuste kalender&lt;br /&gt;
** piiratud võimalused partneritele sündmuste kalendrisse sündmuste lisamiseks&lt;br /&gt;
* lisada võimalused kasutamaks videolõike, telereklaame jne&lt;br /&gt;
* luua (ID kaardiga) kommenteerimisvõimalus&lt;br /&gt;
* tekitada väike veebipood&lt;br /&gt;
* üle vaadata kogu reklaamide paigutuse, suuruste, võimaluste osa&lt;br /&gt;
* luua piiratud ligipääsuga tasuline ala&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Õppekavade infosüsteem===&lt;br /&gt;
Eksamikeskuse koduleheküljel on kutseõppe riiklikud õppekavad ja nende seotud õppematerjalide kaardistused http://www.ekk.edu.ee/valdkonnad/kutseharidus/kutseoppe-riiklikud-oppekavad&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua rakendus, mis&lt;br /&gt;
* Võimaldaks sisestada, vaadata, muuta jne õppekavasid ja nendega seotud õppematerjale&lt;br /&gt;
** Iga õppekava koosneb moodulitest&lt;br /&gt;
** Iga mooduliga on seotud õppematerjalid (samas võib olla, et õppematerjale ei ole)&lt;br /&gt;
* Õppekavu peab olema võimalik välja importida (kuvada) ka antud etteantud kujul (pärast muutmist, täiendamist)&lt;br /&gt;
* Õppematerjalide kaardistust peab olema võimalik välja importida (kuvada) ka antud etteantud kujul (pärast muutmist, täiendamist)&lt;br /&gt;
* Peab olema võimalik teha erialade analüüsi: näha palju on ühiseid mooduleid kahel õppekaval&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* Võimalda siduda mooduliga märksõnad ning kuvada moodulid ka märksõnade kaupa&lt;br /&gt;
* Iga moodulis käsitletud teema võiks olla omaette märksõna&lt;br /&gt;
* Erialade analüüsi: näha palju on ühiseid märksõnu kahel õppekaval&lt;br /&gt;
&lt;br /&gt;
===Kodune raamatukogu===&lt;br /&gt;
Kodudes on tihti erinevaid raamatuid ja sõbrad tahavad neid vahel laenutada.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Loo rakendus, mis&lt;br /&gt;
* Võimaldaks sisestada kodused raamatud&lt;br /&gt;
* Võimaldaks luua laenutajate profiile&lt;br /&gt;
* Raamatuid välja laenutada (tähtajaliselt)&lt;br /&gt;
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused  jne)&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* Kui laenutaja profiilis on e-mail, siis saada automaatselt e-kiri „kallis sõber see ja see, Sinu käes on minu raamat, kas tood tagasi ka?”&lt;br /&gt;
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.&lt;br /&gt;
* Lase lisada raamatutele pilt&lt;br /&gt;
* Loo lihtne avalik veebivaade&lt;br /&gt;
&lt;br /&gt;
===Küsimustike genereerimise ja täitmise rakendus===&lt;br /&gt;
eFormular on nüüd tasuline, teeme ise uue ja parema.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Loo rakendus, mis:&lt;br /&gt;
* Võimaldab küsimustike luua ja salvestada&lt;br /&gt;
* Võimaldab loodud küsimustike täita&lt;br /&gt;
* Võimaldab täidetud küsimustike baasil lihtsamat statistikat teha&lt;br /&gt;
* Võimaldab kasutada erinevat tüüpi küsimusi&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Loo võimalus saata link küsimustikele otse rakendusest küsimustike täitjatele&lt;br /&gt;
* Loo võimalus, et iga vastaja saab küsimustikku täita vaid ühe korra.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CRM===&lt;br /&gt;
Klientidest peab olema ülevaade.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Loo rakendus, mis võimaldab:&lt;br /&gt;
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada&lt;br /&gt;
* Võimalda sisestada kliendikontakte&lt;br /&gt;
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.&lt;br /&gt;
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega&lt;br /&gt;
* Õnnitlusmeilide template’sid võiks olla mitu&lt;br /&gt;
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis&lt;br /&gt;
* Loo võimalus klientide omavaheliseks sidumiseks (ehk võimalus klientide võimalike omavaheliste suhete kirjeldamiseks)&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2012=&lt;br /&gt;
==[[Meeskond &amp;quot;Hello Kitty&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
Projekti juht: Jaanus Varus&lt;br /&gt;
Liikmed: Herki Pärn, Jaanus Varus&lt;br /&gt;
&lt;br /&gt;
Idee:&lt;br /&gt;
Loome veebirakenduse kindlustus kahjude haldamiseks. Mis on suunatud firmadle kes viivad läbi kindlustus (Garantii) remonti. Näiteks autofirmad. Selle rakendusega soovima aidata anda ülevaate kulude ja tulude kohta. Ja et oleks ka võimalus statistikat teha.&lt;br /&gt;
&lt;br /&gt;
Analüüs:&lt;br /&gt;
Rakendus jaotub kaheks. Esimene osa on kus töötajad saavad sisestada kahju ja selle maksumist andmebaasi ja neid ka hiljem vaadata. Teine osa peaks olema kus ülemus saab vaadata kokku võtet ikka kindlustus firmaga seotud tegevustest. Rakendus siis sisaldaks endas sisuhaldust kus saab lisada uusi kindlustus asutusi ja neid ka kirjeldada. Teiseks peaks olema võimalus laiendada ka erinevaid osakondasid. Näiteks on üks suur firma ja millel on kolm osakonda eri linnades. Ja kuna iga osakond on eraldatud teistest siis peab olema ka võimalus sisestada osakonna paasil. Ja kui firma peaks laienema või mõne osakonna kinni panama siis peab olema võimalus ka osakondasid hallata. Kolmandaks peaks olema ka kasutajate haldus. Kuna süsteem ei ole suunatud tavakasutajatele siis on kinnine registeerimine ja mis toimub sisuhalduse kaudu. Ehk siis administraator saab ainult lisada uusi inimesi süsteemi ja määrata neile rollid. Neljandaks peaks olema võimalus ka muuta muid sisu lehti. Näiteks KKK lehte kuhu saab panna korduma kippuvaid küsimus. See lihtsustaks administraatori tööd märgataval määral&lt;br /&gt;
Eesmärk on anda ülevaade kindlustus kulude kohta ja ka sissetulekud. Saab teha erinevaid uuringuid näiteks mis kindlustust inimesed rohkem kasutavad. Põhi eesmärk jab siiski algus firma siseseks ehk ülevaate andmiseks ülemusele ja ka tehtud või tegemisel tööde hoidmiseks ühes kohas ja et seda oleks kerge hallata. Ja vähendada filide hulka arvutis või siis paberkandjal. Et ei peaks olema kõik asjad eraldi vaid oleks ühes koos. Lihtsamini öelda siis viia süsteem ühele standartsele kujule.   &lt;br /&gt;
See rakendus on suunatud siis firmadele ja mitte tavakasutajatele. Kuna see oleks siis firma sisene süsteem aga võimalik ka mõelda selle edasi arendamisele. Luua samma süsteemi basil ka muid firmale vajalike haldus vahendeid. Kas või raamatu pidamisega seotud vahendeid. Näiteks tavainimene saaks vaadata endaga seotud kindlustus insitente.&lt;br /&gt;
 Probleemikamteks osaedks kujuneb sisuhaldus kuna kõik andmed tulevad dünaamiliselt. Ja ka andmebaasi osa pool kus tuleb läbi mõelda kuida süsteem peaks olema üles ehitatud. Ja kõige suurimaks probleemiks võib osutada asja lihtsaks tegemine tavakasutajale. Kuna see on meie esimen project mis on nii suures mahus siis me ei oska hinnata veel selleks kuluvat töö aeg ja ka muid seonduvaid probleeme selle projektiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Funktsionaalsus:&lt;br /&gt;
+Kindlustus andmete sisestamine.&lt;br /&gt;
+Uute kindlustus firmade lisamine.&lt;br /&gt;
+Arhiveerimine.&lt;br /&gt;
&lt;br /&gt;
Nice to have:&lt;br /&gt;
+Kujundus.&lt;br /&gt;
&lt;br /&gt;
==[[Meeskond &amp;quot;Miski nimi&amp;quot;]]==&lt;br /&gt;
===Teema===&lt;br /&gt;
Mis on selle projekti sisuks&lt;br /&gt;
 &lt;br /&gt;
==[[Meeskond &amp;quot;BugTracker&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Veahaldussüsteem&lt;br /&gt;
&lt;br /&gt;
[[Category: Veebirakenduste loomine ASP.NET abil]]&lt;br /&gt;
&lt;br /&gt;
==Meeskond [[&amp;quot;ASP .NOT&amp;quot;]]==&lt;br /&gt;
===Teema===&lt;br /&gt;
Online küsimustike loomine ja vastamine&lt;/div&gt;</summary>
		<author><name>Hparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22Veebirakenduste_loomine_ASP.NET_abil%22_2012&amp;diff=46427</id>
		<title>Kodutöö aines &quot;Veebirakenduste loomine ASP.NET abil&quot; 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22Veebirakenduste_loomine_ASP.NET_abil%22_2012&amp;diff=46427"/>
		<updated>2012-03-06T20:03:35Z</updated>

		<summary type="html">&lt;p&gt;Hparn: /* Meeskonnad 2012 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Veebirakenduste loomine ASP.NET abil]]&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Veebirakenduste loomine ASP.NET abil&amp;quot;=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus veebiarendusest Asp.Net tehnoloogia abil ning süvendada meeskonnatööoskust. Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..5 tudengit (erandjuhul ka 2) ning ühel teemal teostab projekti üks meeskond.&lt;br /&gt;
Töö käiku kajastatakse ajaveebis (blogis) või http://wiki.itcollege.ee keskkonnas. Ajaveebi pidamise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest. Ajaveebi loob ja ajaveebi haldab projektimeeskond vabalt valitud (avalikus) keskkonnas.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
Kodutöö on üks suur meeskonnatööna valmiv ülesanne, mis on jaotatud väiksemateks osadeks. Osade kirjeldused ja tähtajad on kirjeldatud allpool.&lt;br /&gt;
&lt;br /&gt;
Tähtaegadest mitte kinnipidamisel kaotatakse punkte.Kui töö esitatakse tähtajast hiljem ,kaotatakse iga hilinenud päeva kohta 10% punktidest. Maksimaalselt kaotatakse 50%.&lt;br /&gt;
&lt;br /&gt;
Näide: &lt;br /&gt;
Töö esitamise tähtaeg on 4.09.2011 kell 23:59 ja selle osa eest on võimalik teenida 8p. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meeskond1 esitab töö, mis vastab nõuetele, tähtajaks. &amp;lt;br/&amp;gt;&lt;br /&gt;
Tulemus:8p&lt;br /&gt;
&lt;br /&gt;
Meeskond2 esitab töö, mis vastab nõuetele 05.09.2011 02:00 (ehk tähtajast paar tundi hiljem). &amp;lt;br/&amp;gt;&lt;br /&gt;
Tulemus: 7,1 punkti. &lt;br /&gt;
&lt;br /&gt;
Meeskond3 esitab töö, mis vastab nõuetele 06.09.2011 12:00 (ehk tähtajast paar päeva hiljem). &amp;lt;br/&amp;gt;&lt;br /&gt;
Tulemus: 6,4 punkti. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Teema ning meeskonna koosseis. Analüüs===&lt;br /&gt;
&amp;lt;i&amp;gt;Tähtaeg: 06.03.2012 23:59&amp;lt;/i&amp;gt;&lt;br /&gt;
(10 punkti)&lt;br /&gt;
&lt;br /&gt;
Tähtajaks tuleb:&lt;br /&gt;
*kooskõlastada õppejõuga idee&lt;br /&gt;
*panna kokku meeskond&lt;br /&gt;
*luua meeskonnale wiki leht, kus&lt;br /&gt;
** tuuakse välja meeskonna kõik liikmed ja määratakse projektijuht&lt;br /&gt;
** sõnastatakse idee olemus&lt;br /&gt;
** teostatakse esmane analüüs&lt;br /&gt;
***Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja.&lt;br /&gt;
***Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(&#039;&#039;Must have&#039;&#039;)&lt;br /&gt;
***Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(&#039;&#039;Nice to have&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
Analüüsi ja idee sõnade maht on arvuliselt minimaalselt 700.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;i&amp;gt;Tähtaeg: 15.03.2012 &amp;lt;/i&amp;gt;&lt;br /&gt;
(5 punkti)&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
&amp;lt;i&amp;gt; Tähtaeg:12.05.2012 (25p)&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioon&#039;&#039;&#039;&lt;br /&gt;
24.05.2012 (5p)&lt;br /&gt;
&lt;br /&gt;
===Kaitsmine===&lt;br /&gt;
&amp;lt;i&amp;gt;Siia ilmub mais registreerumisleht&amp;lt;/i&amp;gt;&lt;br /&gt;
(5 punkti)&lt;br /&gt;
&lt;br /&gt;
Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks. Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida. Kestvus ~20min.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. &lt;br /&gt;
Tehnilisi ja vormistuslike puudujääke on võimalik korvata lisavõimaluste realiseerimisega.Üldjuhul tuleb loodud lahendust ka praktikumides teistele tudengitele tutvustada (ca 20 min).&lt;br /&gt;
&lt;br /&gt;
Kogu aine mahust annab projekt 50% ehk edaspidi 50p. Täpsem kirjeldus projekti erinevate osade ja tähtaegade kohta on kirjeldatud sektsioonis: Tähtajad &lt;br /&gt;
&lt;br /&gt;
Tähtaegadest kinni pidamine on oluline. &lt;br /&gt;
Iga hilinenud päev vähendab tulemust 10% võrra. Maksimaalselt võib kaotada -50% võimalikest punktidest.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel +372 53 469 734 või mait.poska [ät] itcollege.ee&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
=Teemad 2012 kevad=&lt;br /&gt;
Kodutööna tuleb luua: &lt;br /&gt;
* CMS ehk sisuhalduskeskkond&lt;br /&gt;
* Vabalt valitud teemal (vt näidisteemad) mingisugune ärirakendus: näiteks kodune raamatukogu, e-pood, pere eelarve keskkond jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Nõuded==&lt;br /&gt;
&#039;&#039;&#039;Loodav lahendus peab sisaldama:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;CMS&#039;i funktsionaalsust&#039;&#039;&#039;&lt;br /&gt;
** Võimalus lehtede sisu muuta veebiliidese abil&lt;br /&gt;
** Võimalus lehti leheküljestikku lisada&lt;br /&gt;
** Võimalus lehti leheküljestikust kustutada&lt;br /&gt;
** Võimalus lehti avaldada või varjata&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Piiratud kasutajatele mõeldud ala&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Mingisugust ärirakendust (vt näidisteemad)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Loodavas süsteemis tuleb kasutada:&#039;&#039;&#039;&lt;br /&gt;
* Oma teadmisi :)&lt;br /&gt;
* Master-lehekülgi&lt;br /&gt;
* Kasutajahaldust&lt;br /&gt;
* Andmeallikat (XML, andmebaas jne)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lisapunkte annab:&#039;&#039;&#039;&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav rakendus oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* AJAX / Silverlight&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
===Terviseleht===&lt;br /&gt;
&#039;&#039;&#039;Selle teema võib valida mitu meeskonda&#039;&#039;&#039;&lt;br /&gt;
Vaata: http://www.terviseleht.ee&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Ülesandeks on see, et leida terviselehele tehniline lahendus, mis oleks kaasaegne ning pilkupüüdev. Realiseeritud peaks olema:&lt;br /&gt;
* Uute arktiklite postitamine&lt;br /&gt;
** Võimalus artikleid lehtedeks jagada&lt;br /&gt;
** Võimalus artikleid kategooriateks jagada&lt;br /&gt;
** Võimalus artikleid &amp;quot;sildistada&amp;quot;&lt;br /&gt;
* Arhiiv&lt;br /&gt;
* Otsing&lt;br /&gt;
* Küsitlus&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* võimalda Terviselehte mugavalt lugeda ka mobiilsete seadmetega, sh uue iPadi ja &amp;quot;vana&amp;quot; iPhonega,&lt;br /&gt;
* sündmuste kalender&lt;br /&gt;
** piiratud võimalused partneritele sündmuste kalendrisse sündmuste lisamiseks&lt;br /&gt;
* lisada võimalused kasutamaks videolõike, telereklaame jne&lt;br /&gt;
* luua (ID kaardiga) kommenteerimisvõimalus&lt;br /&gt;
* tekitada väike veebipood&lt;br /&gt;
* üle vaadata kogu reklaamide paigutuse, suuruste, võimaluste osa&lt;br /&gt;
* luua piiratud ligipääsuga tasuline ala&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Õppekavade infosüsteem===&lt;br /&gt;
Eksamikeskuse koduleheküljel on kutseõppe riiklikud õppekavad ja nende seotud õppematerjalide kaardistused http://www.ekk.edu.ee/valdkonnad/kutseharidus/kutseoppe-riiklikud-oppekavad&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua rakendus, mis&lt;br /&gt;
* Võimaldaks sisestada, vaadata, muuta jne õppekavasid ja nendega seotud õppematerjale&lt;br /&gt;
** Iga õppekava koosneb moodulitest&lt;br /&gt;
** Iga mooduliga on seotud õppematerjalid (samas võib olla, et õppematerjale ei ole)&lt;br /&gt;
* Õppekavu peab olema võimalik välja importida (kuvada) ka antud etteantud kujul (pärast muutmist, täiendamist)&lt;br /&gt;
* Õppematerjalide kaardistust peab olema võimalik välja importida (kuvada) ka antud etteantud kujul (pärast muutmist, täiendamist)&lt;br /&gt;
* Peab olema võimalik teha erialade analüüsi: näha palju on ühiseid mooduleid kahel õppekaval&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* Võimalda siduda mooduliga märksõnad ning kuvada moodulid ka märksõnade kaupa&lt;br /&gt;
* Iga moodulis käsitletud teema võiks olla omaette märksõna&lt;br /&gt;
* Erialade analüüsi: näha palju on ühiseid märksõnu kahel õppekaval&lt;br /&gt;
&lt;br /&gt;
===Kodune raamatukogu===&lt;br /&gt;
Kodudes on tihti erinevaid raamatuid ja sõbrad tahavad neid vahel laenutada.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Loo rakendus, mis&lt;br /&gt;
* Võimaldaks sisestada kodused raamatud&lt;br /&gt;
* Võimaldaks luua laenutajate profiile&lt;br /&gt;
* Raamatuid välja laenutada (tähtajaliselt)&lt;br /&gt;
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused  jne)&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* Kui laenutaja profiilis on e-mail, siis saada automaatselt e-kiri „kallis sõber see ja see, Sinu käes on minu raamat, kas tood tagasi ka?”&lt;br /&gt;
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.&lt;br /&gt;
* Lase lisada raamatutele pilt&lt;br /&gt;
* Loo lihtne avalik veebivaade&lt;br /&gt;
&lt;br /&gt;
===Küsimustike genereerimise ja täitmise rakendus===&lt;br /&gt;
eFormular on nüüd tasuline, teeme ise uue ja parema.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Loo rakendus, mis:&lt;br /&gt;
* Võimaldab küsimustike luua ja salvestada&lt;br /&gt;
* Võimaldab loodud küsimustike täita&lt;br /&gt;
* Võimaldab täidetud küsimustike baasil lihtsamat statistikat teha&lt;br /&gt;
* Võimaldab kasutada erinevat tüüpi küsimusi&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused&lt;br /&gt;
* Loo võimalus saata link küsimustikele otse rakendusest küsimustike täitjatele&lt;br /&gt;
* Loo võimalus, et iga vastaja saab küsimustikku täita vaid ühe korra.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===CRM===&lt;br /&gt;
Klientidest peab olema ülevaade.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Loo rakendus, mis võimaldab:&lt;br /&gt;
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada&lt;br /&gt;
* Võimalda sisestada kliendikontakte&lt;br /&gt;
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.&lt;br /&gt;
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega&lt;br /&gt;
* Õnnitlusmeilide template’sid võiks olla mitu&lt;br /&gt;
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis&lt;br /&gt;
* Loo võimalus klientide omavaheliseks sidumiseks (ehk võimalus klientide võimalike omavaheliste suhete kirjeldamiseks)&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2012=&lt;br /&gt;
==[[Meeskond &amp;quot;Hello Kitty&amp;quot;]]==&lt;br /&gt;
==[[Meeskond &amp;quot;Miski nimi&amp;quot;]]==&lt;br /&gt;
===Teema===&lt;br /&gt;
Mis on selle projekti sisuks&lt;br /&gt;
 &lt;br /&gt;
==[[Meeskond &amp;quot;BugTracker&amp;quot;]]==&lt;br /&gt;
&lt;br /&gt;
===Teema===&lt;br /&gt;
Veahaldussüsteem&lt;br /&gt;
&lt;br /&gt;
[[Category: Veebirakenduste loomine ASP.NET abil]]&lt;br /&gt;
&lt;br /&gt;
==Meeskond [[&amp;quot;ASP .NOT&amp;quot;]]==&lt;br /&gt;
===Teema===&lt;br /&gt;
Online küsimustike loomine ja vastamine&lt;/div&gt;</summary>
		<author><name>Hparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hello_Kitty&amp;diff=46377</id>
		<title>Hello Kitty</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hello_Kitty&amp;diff=46377"/>
		<updated>2012-03-03T22:00:00Z</updated>

		<summary type="html">&lt;p&gt;Hparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== LIIKMED ===&lt;br /&gt;
* Herki Pärn&lt;br /&gt;
* Jaanus Varus&lt;br /&gt;
&lt;br /&gt;
=== XML ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot; ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;matches xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:noNamespaceSchemaLocation=&amp;quot;game_matches.xsd&amp;quot;&amp;gt;  &lt;br /&gt;
  &amp;lt;match id=&amp;quot;1&amp;quot; type=&amp;quot;tdm&amp;quot; duration=&amp;quot;00:40:33&amp;quot; created=&amp;quot;2002-09-24-17:31&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;teams&amp;gt;&lt;br /&gt;
			&amp;lt;team name=&amp;quot;red&amp;quot; victorious=&amp;quot;false&amp;quot; score=&amp;quot;885&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;players&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;1&amp;quot; name=&amp;quot;Anissa&amp;quot; score=&amp;quot;614&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;2&amp;quot; name=&amp;quot;Jesus&amp;quot; score=&amp;quot;157&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;3&amp;quot; name=&amp;quot;Erick&amp;quot; score=&amp;quot;17&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;4&amp;quot; name=&amp;quot;Verena&amp;quot; score=&amp;quot;97&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/players&amp;gt;&lt;br /&gt;
			&amp;lt;/team&amp;gt;&lt;br /&gt;
			&amp;lt;team name=&amp;quot;blue&amp;quot; victorious=&amp;quot;true&amp;quot; score=&amp;quot;2682&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;players&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;5&amp;quot; name=&amp;quot;Fredric&amp;quot; score=&amp;quot;729&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;6&amp;quot; name=&amp;quot;Lynda&amp;quot; score=&amp;quot;573&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;7&amp;quot; name=&amp;quot;Ingrid&amp;quot; score=&amp;quot;958&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;8&amp;quot; name=&amp;quot;Charmaine&amp;quot; score=&amp;quot;422&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/players&amp;gt;&lt;br /&gt;
			&amp;lt;/team&amp;gt;&lt;br /&gt;
		&amp;lt;/teams&amp;gt;&lt;br /&gt;
	&amp;lt;/match&amp;gt;&lt;br /&gt;
	&amp;lt;match id=&amp;quot;2&amp;quot; type=&amp;quot;dm&amp;quot; duration=&amp;quot;00:31:10&amp;quot; created=&amp;quot;2002-09-23-14:10&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;players&amp;gt;&lt;br /&gt;
			&amp;lt;player id=&amp;quot;9&amp;quot; name=&amp;quot;Rosa&amp;quot; score=&amp;quot;24&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;player id=&amp;quot;10&amp;quot; name=&amp;quot;Jolyn&amp;quot; score=&amp;quot;85&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;player id=&amp;quot;11&amp;quot; name=&amp;quot;Kristyn&amp;quot; score=&amp;quot;61&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/players&amp;gt;&lt;br /&gt;
	&amp;lt;/match&amp;gt;&lt;br /&gt;
	&amp;lt;match id=&amp;quot;3&amp;quot; type=&amp;quot;dm&amp;quot; duration=&amp;quot;00:25:50&amp;quot; created=&amp;quot;2002-09-24-16:05&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;players&amp;gt;&lt;br /&gt;
			&amp;lt;player id=&amp;quot;2&amp;quot; name=&amp;quot;Jesus&amp;quot; score=&amp;quot;67&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;player id=&amp;quot;1&amp;quot; name=&amp;quot;Anissa&amp;quot; score=&amp;quot;106&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;player id=&amp;quot;6&amp;quot; name=&amp;quot;Lynda&amp;quot; score=&amp;quot;99&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/players&amp;gt;&lt;br /&gt;
	&amp;lt;/match&amp;gt;&lt;br /&gt;
	&amp;lt;match id=&amp;quot;4&amp;quot; type=&amp;quot;tdm&amp;quot; duration=&amp;quot;00:51:19&amp;quot; created=&amp;quot;2002-09-25-23:31&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;teams&amp;gt;&lt;br /&gt;
			&amp;lt;team name=&amp;quot;red&amp;quot; victorious=&amp;quot;true&amp;quot; score=&amp;quot;1882&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;players&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;1&amp;quot; name=&amp;quot;Anissa&amp;quot; score=&amp;quot;1005&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;2&amp;quot; name=&amp;quot;Jesus&amp;quot; score=&amp;quot;794&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;3&amp;quot; name=&amp;quot;Erick&amp;quot; score=&amp;quot;81&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;4&amp;quot; name=&amp;quot;Verena&amp;quot; score=&amp;quot;2&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/players&amp;gt;&lt;br /&gt;
			&amp;lt;/team&amp;gt;&lt;br /&gt;
			&amp;lt;team name=&amp;quot;blue&amp;quot; victorious=&amp;quot;false&amp;quot; score=&amp;quot;1560&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;players&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;5&amp;quot; name=&amp;quot;Fredric&amp;quot; score=&amp;quot;710&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;6&amp;quot; name=&amp;quot;Lynda&amp;quot; score=&amp;quot;496&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;7&amp;quot; name=&amp;quot;Ingrid&amp;quot; score=&amp;quot;194&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;8&amp;quot; name=&amp;quot;Charmaine&amp;quot; score=&amp;quot;160&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/players&amp;gt;&lt;br /&gt;
			&amp;lt;/team&amp;gt;&lt;br /&gt;
		&amp;lt;/teams&amp;gt;&lt;br /&gt;
	&amp;lt;/match&amp;gt;&lt;br /&gt;
&amp;lt;/matches&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== XSD ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;matches&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;match&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;players&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;player&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;score&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;victorious&amp;quot; type=&amp;quot;xs:boolean&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;teams&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;2&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;team&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;players&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;player&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:attribute name=&amp;quot;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:attribute name=&amp;quot;score&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:attribute name=&amp;quot;victorious&amp;quot; type=&amp;quot;xs:boolean&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;victorious&amp;quot; type=&amp;quot;xs:boolean&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;score&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;type&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;duration&amp;quot; type=&amp;quot;xs:time&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;created&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== XSLT ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; encoding=&amp;quot;utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;amp;lt;!DOCTYPE html&amp;amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;Game matches:&amp;lt;/h2&amp;gt;        &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;matches/match&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table border=&amp;quot;1&amp;quot; style=&amp;quot;margin: 10px; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:when test=&amp;quot;@type = &#039;tdm&#039;&amp;quot;&amp;gt;                                &lt;br /&gt;
                  &amp;lt;tr style=&amp;quot;background-color: #917A56;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;th&amp;gt;Player&amp;lt;/th&amp;gt;&lt;br /&gt;
                    &amp;lt;th&amp;gt;Team&amp;lt;/th&amp;gt;&lt;br /&gt;
                    &amp;lt;th&amp;gt;Score&amp;lt;/th&amp;gt;&lt;br /&gt;
                    &amp;lt;th&amp;gt;Victorious&amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;teams/team&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:for-each select=&amp;quot;players/player&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:when test=&amp;quot;position() mod 2 = 0&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;amp;lt;tr style=&amp;quot;background-color: #FEFFC2;&amp;quot;&amp;amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;amp;lt;tr style=&amp;quot;background-color: #B4BA6C;&amp;quot;&amp;amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;../../@name&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@score&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@victorious&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;amp;lt;/tr&amp;amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:for-each&amp;gt;                  &lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                &amp;lt;tr style=&amp;quot;background-color: #917A56;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;Player&amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;Score&amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;Victorious&amp;lt;/th&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;players/player&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;position() mod 2 = 0&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;amp;lt;tr style=&amp;quot;background-color: #FEFFC2;&amp;quot;&amp;amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;amp;lt;tr style=&amp;quot;background-color: #B4BA6C;&amp;quot;&amp;amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:otherwise&amp;gt;                    &lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@score&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@victorious&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;amp;lt;/tr&amp;amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;       &lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;matches&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;matches/match&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:when test=&amp;quot;@type = &#039;tdm&#039;&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:attribute name=&amp;quot;duration&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@duration&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:attribute name=&amp;quot;created&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@created&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
              &amp;lt;teams&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;teams/team&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;team&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;victorious&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@victorious&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;score&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@score&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;players&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;players/player&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;player&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:attribute name=&amp;quot;victorious&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@victorious&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:attribute name=&amp;quot;score&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@score&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                        &amp;lt;/player&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&amp;lt;!-- FOREACH PLAYER ENDS HERE --&amp;gt;&lt;br /&gt;
                    &amp;lt;/players&amp;gt;&lt;br /&gt;
                  &amp;lt;/team&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&amp;lt;!-- FOREACH TEAM ENDS HERE --&amp;gt;&lt;br /&gt;
              &amp;lt;/teams&amp;gt;                                  &lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&amp;lt;!-- FOREACH MATCH ENDS HERE --&amp;gt;   &lt;br /&gt;
    &amp;lt;/matches&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Hello_Kitty&amp;diff=46376</id>
		<title>Hello Kitty</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Hello_Kitty&amp;diff=46376"/>
		<updated>2012-03-03T21:59:00Z</updated>

		<summary type="html">&lt;p&gt;Hparn: Created page with &amp;#039;=== XML === &amp;lt;pre&amp;gt; &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot; ?&amp;gt;  &amp;lt;matches xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:noNamespaceSchemaLocation=&amp;quot;game_matc…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== XML ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot; ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;matches xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xsi:noNamespaceSchemaLocation=&amp;quot;game_matches.xsd&amp;quot;&amp;gt;  &lt;br /&gt;
  &amp;lt;match id=&amp;quot;1&amp;quot; type=&amp;quot;tdm&amp;quot; duration=&amp;quot;00:40:33&amp;quot; created=&amp;quot;2002-09-24-17:31&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;teams&amp;gt;&lt;br /&gt;
			&amp;lt;team name=&amp;quot;red&amp;quot; victorious=&amp;quot;false&amp;quot; score=&amp;quot;885&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;players&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;1&amp;quot; name=&amp;quot;Anissa&amp;quot; score=&amp;quot;614&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;2&amp;quot; name=&amp;quot;Jesus&amp;quot; score=&amp;quot;157&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;3&amp;quot; name=&amp;quot;Erick&amp;quot; score=&amp;quot;17&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;4&amp;quot; name=&amp;quot;Verena&amp;quot; score=&amp;quot;97&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/players&amp;gt;&lt;br /&gt;
			&amp;lt;/team&amp;gt;&lt;br /&gt;
			&amp;lt;team name=&amp;quot;blue&amp;quot; victorious=&amp;quot;true&amp;quot; score=&amp;quot;2682&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;players&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;5&amp;quot; name=&amp;quot;Fredric&amp;quot; score=&amp;quot;729&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;6&amp;quot; name=&amp;quot;Lynda&amp;quot; score=&amp;quot;573&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;7&amp;quot; name=&amp;quot;Ingrid&amp;quot; score=&amp;quot;958&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;8&amp;quot; name=&amp;quot;Charmaine&amp;quot; score=&amp;quot;422&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/players&amp;gt;&lt;br /&gt;
			&amp;lt;/team&amp;gt;&lt;br /&gt;
		&amp;lt;/teams&amp;gt;&lt;br /&gt;
	&amp;lt;/match&amp;gt;&lt;br /&gt;
	&amp;lt;match id=&amp;quot;2&amp;quot; type=&amp;quot;dm&amp;quot; duration=&amp;quot;00:31:10&amp;quot; created=&amp;quot;2002-09-23-14:10&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;players&amp;gt;&lt;br /&gt;
			&amp;lt;player id=&amp;quot;9&amp;quot; name=&amp;quot;Rosa&amp;quot; score=&amp;quot;24&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;player id=&amp;quot;10&amp;quot; name=&amp;quot;Jolyn&amp;quot; score=&amp;quot;85&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;player id=&amp;quot;11&amp;quot; name=&amp;quot;Kristyn&amp;quot; score=&amp;quot;61&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/players&amp;gt;&lt;br /&gt;
	&amp;lt;/match&amp;gt;&lt;br /&gt;
	&amp;lt;match id=&amp;quot;3&amp;quot; type=&amp;quot;dm&amp;quot; duration=&amp;quot;00:25:50&amp;quot; created=&amp;quot;2002-09-24-16:05&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;players&amp;gt;&lt;br /&gt;
			&amp;lt;player id=&amp;quot;2&amp;quot; name=&amp;quot;Jesus&amp;quot; score=&amp;quot;67&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;player id=&amp;quot;1&amp;quot; name=&amp;quot;Anissa&amp;quot; score=&amp;quot;106&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
			&amp;lt;player id=&amp;quot;6&amp;quot; name=&amp;quot;Lynda&amp;quot; score=&amp;quot;99&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
		&amp;lt;/players&amp;gt;&lt;br /&gt;
	&amp;lt;/match&amp;gt;&lt;br /&gt;
	&amp;lt;match id=&amp;quot;4&amp;quot; type=&amp;quot;tdm&amp;quot; duration=&amp;quot;00:51:19&amp;quot; created=&amp;quot;2002-09-25-23:31&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;teams&amp;gt;&lt;br /&gt;
			&amp;lt;team name=&amp;quot;red&amp;quot; victorious=&amp;quot;true&amp;quot; score=&amp;quot;1882&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;players&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;1&amp;quot; name=&amp;quot;Anissa&amp;quot; score=&amp;quot;1005&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;2&amp;quot; name=&amp;quot;Jesus&amp;quot; score=&amp;quot;794&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;3&amp;quot; name=&amp;quot;Erick&amp;quot; score=&amp;quot;81&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;4&amp;quot; name=&amp;quot;Verena&amp;quot; score=&amp;quot;2&amp;quot; victorious=&amp;quot;true&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/players&amp;gt;&lt;br /&gt;
			&amp;lt;/team&amp;gt;&lt;br /&gt;
			&amp;lt;team name=&amp;quot;blue&amp;quot; victorious=&amp;quot;false&amp;quot; score=&amp;quot;1560&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;lt;players&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;5&amp;quot; name=&amp;quot;Fredric&amp;quot; score=&amp;quot;710&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;6&amp;quot; name=&amp;quot;Lynda&amp;quot; score=&amp;quot;496&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;7&amp;quot; name=&amp;quot;Ingrid&amp;quot; score=&amp;quot;194&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
					&amp;lt;player id=&amp;quot;8&amp;quot; name=&amp;quot;Charmaine&amp;quot; score=&amp;quot;160&amp;quot; victorious=&amp;quot;false&amp;quot; /&amp;gt;&lt;br /&gt;
				&amp;lt;/players&amp;gt;&lt;br /&gt;
			&amp;lt;/team&amp;gt;&lt;br /&gt;
		&amp;lt;/teams&amp;gt;&lt;br /&gt;
	&amp;lt;/match&amp;gt;&lt;br /&gt;
&amp;lt;/matches&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== XSD ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xs:schema attributeFormDefault=&amp;quot;unqualified&amp;quot; elementFormDefault=&amp;quot;qualified&amp;quot; xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xs:element name=&amp;quot;matches&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
      &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
        &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;match&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
            &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;players&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;player&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;score&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;victorious&amp;quot; type=&amp;quot;xs:boolean&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element minOccurs=&amp;quot;0&amp;quot; name=&amp;quot;teams&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                  &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                    &amp;lt;xs:element minOccurs=&amp;quot;2&amp;quot; maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;team&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;players&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                              &amp;lt;xs:sequence&amp;gt;&lt;br /&gt;
                                &amp;lt;xs:element maxOccurs=&amp;quot;unbounded&amp;quot; name=&amp;quot;player&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:attribute name=&amp;quot;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:attribute name=&amp;quot;score&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:attribute name=&amp;quot;victorious&amp;quot; type=&amp;quot;xs:boolean&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                  &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                                &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                              &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                            &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                          &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                        &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;name&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;victorious&amp;quot; type=&amp;quot;xs:boolean&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;score&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                      &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
                    &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
                  &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
                &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
              &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
            &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;type&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;duration&amp;quot; type=&amp;quot;xs:time&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;created&amp;quot; type=&amp;quot;xs:date&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
          &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
        &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
      &amp;lt;/xs:sequence&amp;gt;&lt;br /&gt;
    &amp;lt;/xs:complexType&amp;gt;&lt;br /&gt;
  &amp;lt;/xs:element&amp;gt;&lt;br /&gt;
&amp;lt;/xs:schema&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=== XSLT ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;html&amp;quot; encoding=&amp;quot;utf-8&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;amp;lt;!DOCTYPE html&amp;amp;gt;&lt;br /&gt;
    &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
        &amp;lt;h2&amp;gt;Game matches:&amp;lt;/h2&amp;gt;        &lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;matches/match&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;table border=&amp;quot;1&amp;quot; style=&amp;quot;margin: 10px; float: left;&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:when test=&amp;quot;@type = &#039;tdm&#039;&amp;quot;&amp;gt;                                &lt;br /&gt;
                  &amp;lt;tr style=&amp;quot;background-color: #917A56;&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;th&amp;gt;Player&amp;lt;/th&amp;gt;&lt;br /&gt;
                    &amp;lt;th&amp;gt;Team&amp;lt;/th&amp;gt;&lt;br /&gt;
                    &amp;lt;th&amp;gt;Score&amp;lt;/th&amp;gt;&lt;br /&gt;
                    &amp;lt;th&amp;gt;Victorious&amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;teams/team&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:for-each select=&amp;quot;players/player&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:when test=&amp;quot;position() mod 2 = 0&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;amp;lt;tr style=&amp;quot;background-color: #FEFFC2;&amp;quot;&amp;amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;amp;lt;tr style=&amp;quot;background-color: #B4BA6C;&amp;quot;&amp;amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;../../@name&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@score&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@victorious&amp;quot;/&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;amp;lt;/tr&amp;amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:for-each&amp;gt;                  &lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                &amp;lt;tr style=&amp;quot;background-color: #917A56;&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;Player&amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;Score&amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;Victorious&amp;lt;/th&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;players/player&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:when test=&amp;quot;position() mod 2 = 0&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;amp;lt;tr style=&amp;quot;background-color: #FEFFC2;&amp;quot;&amp;amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:otherwise&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;amp;lt;tr style=&amp;quot;background-color: #B4BA6C;&amp;quot;&amp;amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:otherwise&amp;gt;                    &lt;br /&gt;
                  &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@score&amp;quot; /&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;@victorious&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:text disable-output-escaping=&amp;quot;yes&amp;quot;&amp;gt;&lt;br /&gt;
                    &amp;amp;lt;/tr&amp;amp;gt;&lt;br /&gt;
                  &amp;lt;/xsl:text&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:otherwise&amp;gt;&lt;br /&gt;
            &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;       &lt;br /&gt;
      &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;xsl:stylesheet version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; encoding=&amp;quot;utf-8&amp;quot; indent=&amp;quot;yes&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;matches&amp;gt;&lt;br /&gt;
      &amp;lt;xsl:for-each select=&amp;quot;matches/match&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;xsl:choose&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:when test=&amp;quot;@type = &#039;tdm&#039;&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;match&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:attribute name=&amp;quot;type&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@type&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:attribute name=&amp;quot;duration&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@duration&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:attribute name=&amp;quot;created&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:value-of select=&amp;quot;@created&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
              &amp;lt;teams&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;teams/team&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;team&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;victorious&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@victorious&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:attribute name=&amp;quot;score&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@score&amp;quot; /&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;players&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:for-each select=&amp;quot;players/player&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;player&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:attribute name=&amp;quot;id&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@id&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:attribute name=&amp;quot;name&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@name&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:attribute name=&amp;quot;victorious&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@victorious&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                          &amp;lt;xsl:attribute name=&amp;quot;score&amp;quot;&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:value-of select=&amp;quot;@score&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                        &amp;lt;/player&amp;gt;&lt;br /&gt;
                      &amp;lt;/xsl:for-each&amp;gt;&amp;lt;!-- FOREACH PLAYER ENDS HERE --&amp;gt;&lt;br /&gt;
                    &amp;lt;/players&amp;gt;&lt;br /&gt;
                  &amp;lt;/team&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&amp;lt;!-- FOREACH TEAM ENDS HERE --&amp;gt;&lt;br /&gt;
              &amp;lt;/teams&amp;gt;                                  &lt;br /&gt;
            &amp;lt;/match&amp;gt;&lt;br /&gt;
          &amp;lt;/xsl:when&amp;gt;&lt;br /&gt;
        &amp;lt;/xsl:choose&amp;gt;&lt;br /&gt;
      &amp;lt;/xsl:for-each&amp;gt;&amp;lt;!-- FOREACH MATCH ENDS HERE --&amp;gt;   &lt;br /&gt;
    &amp;lt;/matches&amp;gt;&lt;br /&gt;
  &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
&amp;lt;/xsl:stylesheet&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Category:V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine&amp;diff=46375</id>
		<title>Category:Võrgurakendused II: hajussüsteemide ehitamine</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Category:V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine&amp;diff=46375"/>
		<updated>2012-03-03T21:55:59Z</updated>

		<summary type="html">&lt;p&gt;Hparn: /* Meeskonnad */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Võrgurakendused II: hajussüsteemide ehitamine=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Õppeaine eesmärgiks on tutvustada õppijale XML märgendikeelel baseeruvaid hajuslahendusi ja nende loomise võimalusi ning arendada õppijates .Net raamistiku vahenditega tarkvara arendamisoskuseid&lt;br /&gt;
&lt;br /&gt;
==Lühitutvustus==&lt;br /&gt;
Õppeaines käsitletakse XML märgendikeelt ning veebiteenuseid.  Kursuse käigus disainitakse, koostatakse ja testitakse veebiteenustel ning XML märgendikeelel põhinevaid lahendusi.&lt;br /&gt;
&lt;br /&gt;
==Õpiväljundid==&lt;br /&gt;
* Õppija oskab kasutada XML märgendikeelt keerulisema strukuuriga andmete hoidmiseks ja esitamiseks struktureeritud kujul.&lt;br /&gt;
* Õppija oskab avalikult kättesaadavate juhendite abil koostada lihtsamaid klientrakendusi levinud veebiteenustele.&lt;br /&gt;
* Õppija oskab luua lihtsamaid veebiteenuseid kasutades selleks .Net raamistiku tehnoloogiaid ning vahendeid.&lt;br /&gt;
* Õppija teab veebiteenuste turvamiseks kasutatavaid tehnoloogiaid ja vahendeid ning oskab leid tavaolukorras rakendada.&lt;br /&gt;
* Õppija teab ning oskab kirjeldada hajusrakenduste kasutusvaldkondi ning nende arhitektuure.&lt;br /&gt;
* Õppija oskab töötada 3-5 liikmelises meeskonnas.&lt;br /&gt;
&lt;br /&gt;
==Õppejõud==&lt;br /&gt;
Aine läbiviijateks on õppejõud Mait Poska ja Kaarel Raspel.&lt;br /&gt;
&lt;br /&gt;
Mait Poska kanda on enamasti loengud ja Kaarel Raspeli kanda praktikumid.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;ins&amp;gt;Kontaktid:&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Kaarel Raspel&lt;br /&gt;
* kaarel.raspel&amp;lt;ät&amp;gt; gmail.com&lt;br /&gt;
* Skype: vellotis&lt;br /&gt;
* +372 522 2468&lt;br /&gt;
&lt;br /&gt;
Mait Poska&lt;br /&gt;
* mait.poska&amp;lt;ät&amp;gt; itcollege.ee&lt;br /&gt;
* Skype: minamait&lt;br /&gt;
* +372 53 469 734&lt;br /&gt;
&lt;br /&gt;
==Hinne==&lt;br /&gt;
Aine hinde kujunemine:&lt;br /&gt;
* &amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Eeldused&amp;lt;/span&amp;gt; (mille eest ei saa punkte)&lt;br /&gt;
** Kohal tuleb käia vähemalt &#039;&#039;&#039;50% praktikumidest&#039;&#039;&#039;&lt;br /&gt;
*** Kes seda nõuet ei täida peavad viimases praktikumis sooritama komplekstesti, mis sisaldab endas praktilisi ülesandeid.&lt;br /&gt;
**&amp;lt;ins&amp;gt;Grupitöö kõik osad on realiseeritud minimaalse tulemusega 51%&amp;lt;/ins&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Hinde kujunemisel arvestatakse kahte tööd:&lt;br /&gt;
alamosast:&lt;br /&gt;
**XML andmefail&lt;br /&gt;
**Veebirakendus&lt;br /&gt;
**Veebiteenus&lt;br /&gt;
*Eksam(45%), mis koosneb kahest osast:&lt;br /&gt;
**Teooria, mis annab sellest 20%&lt;br /&gt;
**Praktiline osa, mis annab sellest 25%&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;ins&amp;gt;Hinne&amp;lt;/ins&amp;gt; (&#039;&#039;&#039;100p / 100%&#039;&#039;&#039;) - Hinde kujunemisel arvestatakse kahte tööd:&lt;br /&gt;
** [[Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2012]], mis moodustab hindest 55%. &#039;&#039;&#039;55p&#039;&#039;&#039; (koosneb kolmest osast)&lt;br /&gt;
*** XML (xsd, xslt) &#039;&#039;&#039;10p&#039;&#039;&#039;&lt;br /&gt;
**** Retsensioonid kahe grupi XLM-i kohta &#039;&#039;&#039;2p+3p&#039;&#039;&#039;&lt;br /&gt;
*** Veebiteenus &#039;&#039;&#039;15p&#039;&#039;&#039;&lt;br /&gt;
**** Retsensioonid kahe grupi Veebiteenuse kohta &#039;&#039;&#039;2p+3p&#039;&#039;&#039;&lt;br /&gt;
*** Klientrakendused veebiteenusele &#039;&#039;&#039;15p&#039;&#039;&#039;&lt;br /&gt;
**** Retsensioonid kahe grupi Klientrakenduse kohta &#039;&#039;&#039;2p+3p&#039;&#039;&#039;&lt;br /&gt;
** &amp;lt;ins&amp;gt;Individuaalne teadmiste kontroll&amp;lt;/ins&amp;gt; &#039;&#039;&#039;45p&#039;&#039;&#039;&lt;br /&gt;
*** Teooria (Test) &#039;&#039;&#039;20p&#039;&#039;&#039; (tulemus vähemalt 51%)&lt;br /&gt;
*** Praktiline (Programmeerimine) &#039;&#039;&#039;25p&#039;&#039;&#039; (tulemus vähemalt 51%)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Hinne kujuneb järgmiselt:&lt;br /&gt;
* Iga grupitöö vahekaitsmine annab kuni 10 punkti (kokku siis 30 punkti)&lt;br /&gt;
* Lõppkaitsmine annab 30 punkti (kõik kolm tööd koos, koos paranduste ja täiendustega)&lt;br /&gt;
* Iga grupp saab lisaks iga liikme kohta 20 punkti, mis tuleb grupi sees vastavalt panusele jagada (näiteks kolmeliikmeline grupp saab 60 punkti, neljaliikmeline 80 punkti jne).&lt;br /&gt;
* Valikvastustega test (kuni 20 punkti)&lt;br /&gt;
* Eksamieeldus on see, et tuleb anda tähtajaks neli hinnangut (üks hinnang XML failile, üks veebiteenusele, üks veebiteenustele tehtud rakendustele ning üks projektile kokkuvõtvalt).&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;!--Aasta 2012(praegu) [[Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2012]]&lt;br /&gt;
&lt;br /&gt;
Aastal 2011 olnud teemad[[Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2011]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Võrgurakendused II: 2011 kevadel valminud kodutööd]]&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&amp;lt;!--* Teema ning meeskonna koosseis peab olema õppejõuga kooskõlastatud hiljemalt 21. veebruar 2011.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2012#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;3. märts 2012&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;17. märts 2012&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2012#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;14. aprill 2012&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;28. aprill 2012&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2012#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;5. mai 2012&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;19. mai 2012&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--* &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne&#039;&#039;&#039;&lt;br /&gt;
** Meeskonnatöö kokkuvõttev aruanne peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 8.mai 2012&lt;br /&gt;
** Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit&lt;br /&gt;
** &#039;&#039;&#039;Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus&#039;&#039;&#039; tuleb esitleda!&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Retsensioonid==&lt;br /&gt;
&lt;br /&gt;
Iga grupp peab tegema lisaks igale grupitööle vastavalt ka 2 retsensiooni. Retsensioonid võib teha vabalt valitud gruppide tööde kohta. Tingimuseks on see, et ühe töö kohta saab teha maksimaalselt kolm retsensiooni.&lt;br /&gt;
&lt;br /&gt;
Seega kokku tuleb esitada 6 retsensiooni ühel grupil.&lt;br /&gt;
&lt;br /&gt;
Kui grupp on teinud vaid ühe retsensiooni, siis selle eest saab 2 punkti. Kui sellele lisandub ka teine retsensioon, siis teise retsensiooni eest saab 3 punkti. Kokku 5 punkti.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Lisaks iga grupp, kelle töö kohta retsensioon tehakse saab iga töö kohta boonuseks ühe punkti. Seega võib koguneda igale grupile kokku 6 boonuspunkti kolme töö eest.--&amp;gt;&lt;br /&gt;
&amp;lt;ins&amp;gt;Lisaks tuleb silmas pidada retsensioonide minimaalseid pikkusi projektide kohta.&amp;lt;/ins&amp;gt; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2012#Retsensioonid Retsensioonide minimaalsed pikkused]&lt;br /&gt;
&lt;br /&gt;
==Meeskonnad==&lt;br /&gt;
Ühte meeskonda võib kuuluda 3 kuni 4 tudengit. Gruppi kuuluvate tudengite nimekiri kinnitatakse esimese projekti esitamisega.&lt;br /&gt;
&lt;br /&gt;
=== [[Hello Kitty]] ===&lt;br /&gt;
=== [[TTiim]] ===&lt;br /&gt;
=== [[Meeskond &amp;quot;Harold&amp;quot;|Harold]] ===&lt;br /&gt;
&lt;br /&gt;
===Meeskond &amp;quot;[[-.-]]&amp;quot;===&lt;br /&gt;
* Erki Miilberg (projektijuht)&lt;br /&gt;
* Kalev Vallsalu &lt;br /&gt;
* Oliver Naaris&lt;br /&gt;
* Margo Kuustik&lt;br /&gt;
&lt;br /&gt;
=== Meeskond &amp;quot;[[PhoneBook]]&amp;quot; ===&lt;br /&gt;
*Lauri Jansen&lt;br /&gt;
*Tanel Jüris&lt;br /&gt;
*Madis Rääk&lt;br /&gt;
&lt;br /&gt;
===Meeskond &amp;quot;[[LLL]]&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
* Joonas Püüa&lt;br /&gt;
* Janno Toomingas&lt;br /&gt;
* Janek Kople&lt;br /&gt;
* Roland Krindal&lt;br /&gt;
&lt;br /&gt;
===Meeskond &amp;quot;[[Peeter VR2]]&amp;quot;===&lt;br /&gt;
&lt;br /&gt;
* Lennart Lüsi&lt;br /&gt;
* Kairo Koik&lt;br /&gt;
* Marek Kikas&lt;br /&gt;
* Kaivar Kull&lt;br /&gt;
&lt;br /&gt;
===[[Meeskond &amp;quot;.NOT&amp;quot;]]===&lt;br /&gt;
* Martin Kosk&lt;br /&gt;
* Kalmer Tart&lt;br /&gt;
* Martin Aarne&lt;br /&gt;
* Gert Glükmann&lt;br /&gt;
&lt;br /&gt;
=Teemad=&lt;br /&gt;
=XML failivorming ja sellega seotud tehnoloogiad=&lt;br /&gt;
&lt;br /&gt;
==XML failivorming==&lt;br /&gt;
===Loengusalvestused===&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* &#039;&#039;&#039;Esimese loengu salvestus http://enos.itcollege.ee/~htahis/VRII/WR2%20-%20Loeng%201/WR2%20-%20Loeng%201.html&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Teise loengu salvestus http://echo360.e-uni.ee/ess/echo/presentation/9264dd7c-990a-4e3f-9045-1a7a5e04039b&#039;&#039;&#039;&lt;br /&gt;
** Teise loengu näited: http://enos.itcollege.ee/~htahis/VRII/Praktikum2%20(loeng2)/&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Esimese loengu salvestus, kus räägiti XML andmefailist asub siin:  http://echo360.e-uni.ee/ess/echo/presentation/d590aaa6-2d08-4852-9db6-42041cc7e438 &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Teise loengu salvestus, kus räägiti XML skeemidest ja transformatsioonidest asub siin: http://echo360.e-uni.ee/ess/echo/presentation/fa1431fb-3b80-42a3-a7de-f18fe6a1d3ae &#039;&#039;&#039;&lt;br /&gt;
**Teises loengus tehtud näited, asuvad siin: http://enos.itcollege.ee/~mposka/Vorgurakendused_II_2012/Paevaope/Loengud/Loeng2/&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Kolmas loeng, kus räägiti LINQ&#039;st: http://echo360.e-uni.ee/ess/echo/presentation/bbb940ea-fb20-49b4-9d5b-7b2e41f1ac39 &#039;&#039;&#039;&lt;br /&gt;
**Kolmandas loengus tehtud näited asuvad siin: http://enos.itcollege.ee/~mposka/Vorgurakendused_II_2012/Paevaope/Loengud/Loeng3/&lt;br /&gt;
&lt;br /&gt;
===Teooria=== &lt;br /&gt;
* XML failid&lt;br /&gt;
**  Kippar, J. &amp;quot;XML rakendused&amp;quot;, TLU:2009 http://minitorn.tlu.ee/~jaagup/kool/java/kursused/10/xmlrak/trykk/xmlrak.pdf&lt;br /&gt;
** XMLi rakendused ainekursuse leht by Jaagup Kippar http://minitorn.tlu.ee/~jaagup/kool/java/kursused/10/xmlrak/juht.html&lt;br /&gt;
** Introduction to XML by w3schools.com http://www.w3schools.com/xml/xml_whatis.asp&lt;br /&gt;
* XSLT - XML failide transformeerimine ehk stiilifailid&lt;br /&gt;
** XSLT Tutorial by w3schools.com http://www.w3schools.com/xsl/default.asp&lt;br /&gt;
&lt;br /&gt;
===Praktika===&lt;br /&gt;
* [[Praktikum: XML failide loomine, VR2.1]]&lt;br /&gt;
* [[Linq_päringukeel|Praktikum: LINQ päringute tegemine XML-i peal, VR2.2]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.02.09%5d%20Praktikum%202%20/ Praktikumi näide]&lt;br /&gt;
* [[Praktikum: XML failide valideerimine (XSD, DTD) ning XML stiilide (XSLT) loomine , VR2.3]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.02.16%5d%20Praktikum%203/ Praktikumi näide]&lt;br /&gt;
* [[Praktikum: XML failidega töötamine (kokkuvõttev praktikum), VR2.4]]&lt;br /&gt;
** [http://enos.itcollege.ee/~kraspel/VRII/%5b2012.02.23%5d%20Praktikum%204/ Praktikumi näide]&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [[Praktikum: XML failide loomine vol 2, VR2.2]]&lt;br /&gt;
* [[Praktikum: XML failide lugemine ja muutmine .Net vahenditega, VR2.3]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Veebiteenused=&lt;br /&gt;
==Loengud==&lt;br /&gt;
*&#039;&#039;&#039; Neljas loeng: http://echo360.e-uni.ee/ess/echo/presentation/7b97f540-e6e1-4bbb-99c3-04e9833b690b &#039;&#039;&#039;&lt;br /&gt;
==Veebiteenuste loomine==&lt;br /&gt;
* ASP.NET Web Services http://msdn.microsoft.com/en-us/library/t745kdsh.aspx&lt;br /&gt;
* Creating and Consuming .NET Web Services in 5 Easy Steps http://articles.sitepoint.com/article/net-web-services-5-steps&lt;br /&gt;
&lt;br /&gt;
==Andmebaasiga ühendumine==&lt;br /&gt;
* Database Connectivity using WebService http://www.c-sharpcorner.com/UploadFile/raj1979/DatabaseWebService01142008011107AM/DatabaseWebService.aspx&lt;br /&gt;
&lt;br /&gt;
==Veebiteenuste turvamine==&lt;br /&gt;
* Securing ASP.Net Web Services with Forms Authentication http://dotnetslackers.com/articles/aspnet/Securing-ASP-Net-Web-Services-with-Forms-Authentication.aspx&lt;br /&gt;
&lt;br /&gt;
==Praktika==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [[Praktikum: Lihtne andmebaasil veebiteenus, VR2.6]]&lt;br /&gt;
* [[Praktikum: Lihtne andmebaasil veebiteenus 2 (mitme tabeliga), VR2.7]]&lt;br /&gt;
* [[Praktikum: Rollipõhine kasutajahaldus veebiteenuses, VR2.8]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Veebiteenuste kasutamine=&lt;br /&gt;
==Praktika==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* [[Praktikum: Flickr&#039;i veebiteenuse rakendus, VR2.10]]&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hparn</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Talk:%C3%96%C3%B6&amp;diff=44514</id>
		<title>Talk:Öö</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Talk:%C3%96%C3%B6&amp;diff=44514"/>
		<updated>2011-12-13T21:54:28Z</updated>

		<summary type="html">&lt;p&gt;Hparn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Idee retsensioon==&lt;br /&gt;
Esimese muljena jäi, et selliseid mänge leidub palju. Aga samas on võimalik, et tegu on ikkagi omamoodi mänguga - teistsuguse graafika, stoori ja mänguelamusega. Üks huvitav faktor on kindlasti automaatselt genereeritud levelid, mille realiseerimine võib olla keeruline, kuid kindlasti annab mängule juurde nii-öelda korduva mängitavuse väärtust. Tundub, et mäng on plaanis teha mugavaks andes võimaluse juhtida ainult hiirega.&lt;br /&gt;
&lt;br /&gt;
Idee suund on selgelt paika pandud, kuid valmistoodang tundub veel suhteliselt lahtine. Seda sellepärast, et tegemist on veel mängu arenduse algfaasiga. Me oleme kindlad, et see projekt on teostatav.&lt;br /&gt;
&lt;br /&gt;
Lisandused ideele.&lt;br /&gt;
Tegelane võiks saada experience punkte ja leveleid. Läbi selle siis mingeid boonuseid ( tugevust, kiirust jne ). Ja muidugi lihtsalt silmailu (Muutuv välimus tegelasel).&lt;br /&gt;
Lisaks highscorele võiks olla ka Achievementide süsteem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lahtiseks jäid küsimused:&lt;br /&gt;
*Kas tegelane on lennuk?&lt;br /&gt;
*Kuidas hakkab koostöö käima (Arenduskäik - failide ja bugide haldus) ?&lt;br /&gt;
&lt;br /&gt;
Retsentseeris meeskond [[IT_Gurud]]&lt;br /&gt;
&lt;br /&gt;
==Analüüsi retsensioon==&lt;br /&gt;
Selle mängu arendajatel tundub olevat selge ettekujutus, mida nad teha kavatsevad. Ilmselgelt on põhjuseks minimaalne kõrvalekalle varasematest samasugustest mängudest.&lt;br /&gt;
&lt;br /&gt;
Samas ei ole projekti detaile kas ära otsustatud või kirja pandud. Funktsionaalsuste nimekiri on küll ilusti välja toodud, kuid võiks olla neist lähemalt kirjutatud.&lt;br /&gt;
&lt;br /&gt;
Täpsemalt - puudub info menüü ülesehituse kohta. Graafika poole pealt teame vaid seda, et see on 2D. Pole öeldud, mille poolest erinevad raskusastmed teineteisest erinevad. Kuigi selle kohta võib edukalt oletusi teha, võiks üldsuuna ikka ära otsustada.&lt;br /&gt;
&lt;br /&gt;
Ajapiirangu, töömahu ja problemaatiliste osade realiseerimise vallas ollakse väga vaoshoitud, kuid selline kindla peale minek on ehk mõistlikum kui liialt palju korraga ette võtta.&lt;br /&gt;
Retsentseeris meeskond [[IT_Gurud]]&lt;br /&gt;
&lt;br /&gt;
==Analüüsi retsensioon==&lt;br /&gt;
&lt;br /&gt;
Tundub, et üldine plaan püsib ja liigutakse edasi. Minu arvates, ei olegi otseselt oluline, mis või kes see lendav objekt on. Kui baas on paigas siis selle lisamine/väljamõtlemine ei ole nii keerukas võrreldes eelneva tööga.&lt;br /&gt;
&lt;br /&gt;
Eesmärk on igati arusaadav vast igale inimesele. Mängi, tunne mõnu ja löö aega surnuks. Kuigi mängu tegijatele on selle tegemine kindlasti vägagi arendav.&lt;br /&gt;
&lt;br /&gt;
Detailsust on natukene liiga vähe üleüldiselt. Samas on see minu seisukohast mõneti arusaadav, sest ei taheta hakata lubama asju, mis ei pruugi projekti jõuda. Kuid kindlasti on teil mõne kohapealt midagi natukene täpsustavat lisada.&lt;br /&gt;
&lt;br /&gt;
Natukene lahtiseks jääb kuidas punktisüsteem töötab.Kas punkte saab lõppkokkuvõttes selle eest, kui kaua elus püsitakse(ning boonused kui need tulevad)? &lt;br /&gt;
&lt;br /&gt;
Problemaatiline osa on mainitud ja usun, et automaatse genereerimise kohapealt ka igati õigustatud. Kuid juhul kui tuleb peategelasel surma saamiseks mitu korda millegi otsa lennata või pihta saada, sel juhul tuleb vastase healtbar kindlasti must have alla lisada. Eeludsel, et te ei taha et mängija ise loeks koguaeg palju ta pihta on saanud. &lt;br /&gt;
&lt;br /&gt;
See retsensioon jõudis teieni meeskonnalt [[Slasher]]&lt;br /&gt;
&lt;br /&gt;
==Prototüübi retsensioon==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Üldiselt&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Üldine idee, et tegelane on lennus ning kohtab oma teel takistusi(vastaseid) on realiseeritud. Vastasteks on lillakas roosad õhupallid kui ma õigesti neist aru saan. Nende värvus on nii vastik, et tahan neid õhku lasta küll. Helikopter hävitab vaenlaseid mustade kuulidega, mis kopteri esiosast välja lendavad. Vastane sureb kui on 5 korda pihta saanud või lendad ise neile vastu. Algselt on mängijal 100 elu ning iga kord kui vastasega kokku puutuda väheneb elude arv kümne võrra ja seda kuni nullini. Boonuseid veel näha ei ole, kuid loodetavasti need tulevad.   Samuti kui pingsalt mängida, siis on suht võimatu hetkel surma saada. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Juhtimine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Juhtimine on lihtne, nooltega saab liikuda üles, alla, vasakule ja paremale ning space nupuga saab lasta.  Hiirega juhtimine antud hetkel puudub, eks paistab kas see tuleb või mitte. Sama kehtib ka Xboxi puldi toe kohta. Avastasin, et kui ekraanil nii alla minna kopteriga kui võimalik, siis ükski vastane sulle vastu minna ei saa. Kas see ongi mõeldud nii öelda turvalise alana, seda ma öelda ei oska. Visuaalse poole pealt hakkas silma sinine riba, mis on paremal ääres ning ulatub alt üles välja. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Punktitabel ja raskusastmed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Punktitabel on hetke seisuga samuti puudu. Kui on tahtmine teada, palju punkte said siis on võimalus seda pinksalt jälgida enne surma saamist, kuna pärast surma seda uuesti  ei kuvata. Natukene ärritav, kuid usun et see asi jõuab veel projekti.&lt;br /&gt;
Raskusastmeid praegu ei eksisteeri, kuid siiralt loodan, et need tulevad. Praegu on mäng äärmiselt lihtne ja mäng lõppeb pigem enesetapuga kui sellega, et vastased sinust ausalt jagu saaks. Jääb loota, et raskusastmed teevad asja pingelisemaks ning vastased on aktiivsemad mängija tapjad kui nad seda praegu on. &lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Heli&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Heliefektid ei olegi kõige hullemad kui aus olla. See laskmise heli on täiesti tore, sama kehtib ka vastase hävinemise heli kohta. Vastase hävinemisel on ka  eraldi animatsioon, mis teeb asja vägevamaks.  Mis aga kõige rohkem kõrva hakkab on batmani tunnusmuusika, mis algus tundub tore aga kui natukene pikemalt mängida, siis tekib selline tuju, et tahaks selle helikopteriga ise vastu õhupalle lennata. Kuigi mulle öeldi, et see taustamuusika on hetkel ajutine, tahtsin ma siiski korra selle ära mainida . &lt;br /&gt;
Installerit veel näha ei olnud, kuid selle asjaga on aega ka. Peab asja kõigepealt täies mahus valmis saama ning siis korraliku installeri tegema, mõistlik. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kood&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Mängu koodi kirjutamiseks on kasutatud XNA-d.  Vastavalt tööjuhendile on kasutatud ka klasse.  Koodist on lihtne aru saada ning tänu heale struktuurile ka lihtne lugeda. Mõningatest kohtadest on võimalik leida ka funktsioonide ja muutujate kommentaare. Kuigi tööjuhend ei näinud seda ette, oleks kommentaarid ja muutujad võinud olla inglisekeelsed. Võiks kasutada ühtset keelt, kohati on muutujad eesti keeles ning vahepeal on need inglise keeles.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Slasher]]&lt;br /&gt;
&lt;br /&gt;
==Lõpptoote retsensioon==&lt;br /&gt;
&lt;br /&gt;
Retsensioon põhineb meeskonna esitlusel/kaitsmisel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Esmamulje:&#039;&#039;&#039; Mäng põhineb Batmanil, kes lendab ringi mööda linna ja põikleb siiruliste lendavate objektide eest. Batmannil on võime krooksuda, millega hävitatakse sirges reas batmanni ees olevad objektid.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Heli:&#039;&#039;&#039; Mängus on olemas kaks erinevat heli, on taustamuusika ja krooksumis(heli kui batman laseb/krooksub). Heli effektid annavad palju mängule juurde lisades huumorit ja rohkem usutavust, et tõesti on tegemist batmanniga. Puudu on jäänud teiste sündmuste helid. Võiks olla heli kui batman saab pihta lendavalt objektilt, kui ta elud nulli lähevad ja ka siis kui algab mäng, näiteks mingi slogon mis motiveeriks batmanni.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Graafika:&#039;&#039;&#039; Ekraani alla oli lisatud enda joonistatud ja kergelt animeeritud majad, millele sai ilma takistusteta peale lennata. Pilt on sujuv, ei esinenud anomaaliaid ega surnud pixleid. Tausta pilt oli staatiline, millele oli lisatud animeeritud udu. Udu effekt oli raskesti märgatav. Mängul puudus menüü ja korralikult töötav skoori tabel(mis lubati ära teha). Toimis elude maha arvestamine punktide näol ja oli ka levelite erinevus, mis seisnes objektide hulga suurenemises. Elude arvestamine võinuks olla eluribaga ja leveleid võiks rohkem olla, et oleks sujuvam üleminek raskusastmes. Leveli muutudes võiks muutuda ka taustapilt ning effekt, muidu muutub mängimine üksluiseks. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lugu:&#039;&#039;&#039; Igal mängul on tänapäeval mingi lugu. Võiks olla mingi ekraan kus on kasvõi lühike tekst ja/või pilt, et miks batman lendab ja keda ta jälitab, ning kust kohast need objektid ilmuvad.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kood:&#039;&#039;&#039; Kood on liigendatud (ei ole kõik ühes .cs failis), ning dokumenteeritud. Kood võiks olla kirjutatud inglise keeles. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;Must Have&amp;quot;:&#039;&#039;&#039; Väidetavalt oli realiseeritud ka xboxi puldi tugi(ei saa proovida ei oma sellist pulti), klaviatuuri tugi töötab. On lihtsamat sorti raskusastmed ja ka umbmäärane punktitabel. Mingid heliefektid olid aga neid küll uhketeks ei saaks nimetada. Esitlusel ei tulnud isegi juttu Installerist.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;Nice To Have&amp;quot;:&#039;&#039;&#039; Levelite automaatne genereerimine oli teostatud ainult objektide tekkimise tiheduse tõstmisega. Muid punkte ei ole realiseeritud.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mulje Projektist:&#039;&#039;&#039; Mäng küll töötas, kuid oli põnev täpselt nii kaua kuni batmani tunnusmuusikast villand sai. Esitlusel tundus, et on võimalikeist valikutest alati lihtsaim võetud. Ei usu et projekti autorid oma mängu hea meelega demonstreerima läheks ja oma nime mänguga levitaks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsensiooni koostas meeskond [[Agendid]]&lt;br /&gt;
&lt;br /&gt;
Üldiselt&lt;br /&gt;
On näha edasi minekut selle projektiga kuid oleks veel vaja palju teha. Olete lisanud veidi uusi pildikesi seegi hea asi. Helikopteri asemel batman midagi unikaalsemat aga peab arvestama ka autori seadustega kui seda peaksite väljastama kuskil internetis. On ka seda n&lt;br /&gt;
näha et on võetud kokku ennast viimastel päevadel. Võrreldes prototüübiga on korralik edasi minek. Kuid alati võiks rohkem olla ja tean seda omast kogemusest lihtsalt ei jõua.&lt;br /&gt;
&lt;br /&gt;
Kood&lt;br /&gt;
Selle koha peaks võiks veidi nuriseda aga teeme asja lihtsalt. Kuna ise tegin unity ga ja ei oska öelda XNA võimalustest eriti midagi. Kuid võiks olla ikka rohkem OOP ja võiksite järgmine kord mõelda Plugin süsteemidele. Ning ka uurida State süsteeme. Mis annavad palju juurte kui teete eriti mänge. Aga muidu on veidi koodi muudetud inglis-keelsemaks. Mõnes kohas leiab ikka veel neid eesti keelseid sõnu. Kuna XNA ise on inglis keelne ja selle järgi võiks kasutada XNA enda tavasid. Need on ilusti olemas XNA õppematreialide all. Ja eriti kui otsida internetist selle kohta video turoorioleid siis seal räägitakse suht palku headest tavadest XNA ga.&lt;br /&gt;
&lt;br /&gt;
Mis veel tähele panid ei ole kuskil Puldi kohta infot. Kas see sai realiseeritud ja kuid te seadistasite nuppud sellise mängu jaoks. kas tegite kangidega, et nt mees liigub tn sellele eri kiirustega ?`&lt;br /&gt;
&lt;br /&gt;
Helisid võiks olla veidi rohkem. ja kuna projekt ei olnud nii suur siis oleks võinud veidi tegeleda veidi ka visuaalse poolega, kuna teile anti selle jaoks suhteliselt palju aega. &lt;br /&gt;
&lt;br /&gt;
Levelid oleks võinud teha veidi paremaks, kuna selles mängus see eriti ei tekita põnevust kui aint takistuste arvu objectide arvu suurendatakse.&lt;br /&gt;
&lt;br /&gt;
Kuna nad ikkagi üritasid midagi teha ja se oli nende esimene mäng siis jah peaksite rohkem vaeva nägema. Seda mängu vaadates saab aru et suurem eel töö on tegemata.&lt;br /&gt;
&lt;br /&gt;
By Slasher&lt;/div&gt;</summary>
		<author><name>Hparn</name></author>
	</entry>
</feed>