<?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=Mparast</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=Mparast"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Mparast"/>
	<updated>2026-05-06T04:26:15Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22Harold%22&amp;diff=46313</id>
		<title>Meeskond &quot;Harold&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22Harold%22&amp;diff=46313"/>
		<updated>2012-03-03T18:16:04Z</updated>

		<summary type="html">&lt;p&gt;Mparast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
{| style=&amp;quot;width:100%;height: 40px; background-color:#f2dede;border: 1px solid #EED3D7;color:#B94A48;padding:10px;font-size:16px;font-weight:bold-webkit-border-radius: 8px;-moz-border-radius: 8px;border-radius: 8px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
| Paistab, et tegu on kaheliikmelise meeskonnaga.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot; style=&amp;quot;width: 30em; padding-left: 2em; float: right; font-size: 95%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #1A151A;color:#D5E8BD; text-align:center;&amp;quot; | &#039;&#039;&#039;Meeskond &#039;&#039;&amp;quot;Harold&amp;quot;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Aine:&#039;&#039;&#039;&lt;br /&gt;
| [[:Category:Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Juhend:&#039;&#039;&#039;&lt;br /&gt;
| [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2012 Juhend]&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Tüüp:&#039;&#039;&#039;&lt;br /&gt;
| Projekt&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
| [[User:Anroots]]&amp;lt;br /&amp;gt;[[User:Mparast]]&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Juhendajad:&#039;&#039;&#039;&lt;br /&gt;
| [[User:Mposka]]&amp;lt;br /&amp;gt;[[User:Kraspel]]&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Semester:&#039;&#039;&#039;&lt;br /&gt;
| 2011/2012 kevad&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#1A151A;color:#D5E8BD; text-align:center;&amp;quot; | &#039;&#039;&#039;Kood (GitHub)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Challengo:&#039;&#039;&#039;&lt;br /&gt;
|https://github.com/anroots/Challengo&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Projekt =&lt;br /&gt;
&lt;br /&gt;
Projekti kõik kolm osa keskenduvad veebiteenuse &amp;quot;Challengo&amp;quot; taasloomisele. Projekti esimene osa valmistab ette peamis(t)e päringu(te) XML vastuse struktuuri, projekti teine osa (veebiteenuse loomine) ehitab vastava API ning kolmanda osa raames (klientrakendus) realiseeritakse Windows Phone 7 rakendus.&lt;br /&gt;
&lt;br /&gt;
== Korraldus ==&lt;br /&gt;
&lt;br /&gt;
Projektiga seonduv dokumentatsioon (erandiks on käesolev wiki leht), kasutajale nähtavad tekstid ning lähtekood on kirjutatud inglise keeles. Võimalusel on kood kirjutatud hilisema I18n toe võimaldamiseks.&lt;br /&gt;
&lt;br /&gt;
Koodi haldab GitHub repositoorium, juurdepääsu saamiseks tuleb projektijuhile saata oma GitHub kasutajanimi (või &#039;&#039;pull request&#039;&#039;). Tegemist vajavaid töid näeb GitHub lehel &#039;&#039;Issues&#039;&#039; vahekaardilt ning asjakohane dokumentatsioon (API) on GitHub wiki alamjaotises.&lt;br /&gt;
&lt;br /&gt;
Lähtekood on põhjalikult kommenteeritud, muud, eraldiseisvat dokumentatsiooni koodi kohta pole.&lt;br /&gt;
&lt;br /&gt;
== XML Andmefailid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Tähtaeg 3. märts 2012&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML andmefail kirjeldab veebiteenuse &amp;quot;[http://garage48.org/blogger/projects-on-garage48-tallinn-2011 Challengo]&amp;quot; andmeid. Andmed asuvad MYSQL andmebaasis, mille struktuur on kirjeldatud ERD mudeliga [[File:Harold_Challengo_MYSQL_ERD.png|200px|thumb|MYSQL ERD mudel]]. XML formaadis andmeid väljastab serveris asuv PHP API. Järgnevalt toodud XML näited ei pruugi projekti esimese osa nõudmiste tõttu olla vastavuses teise osana valmiva veebiteenuse tegeliku väljundiga.&lt;br /&gt;
&lt;br /&gt;
Faile saab vaadata ka võrgust: http://enos.itcollege.ee/~anroots/challengo/xml/. Soovitatav on seda teha just XSLT stiilifaili jaoks (http://enos.itcollege.ee/~anroots/challengo/xml/Response.xml).&lt;br /&gt;
&lt;br /&gt;
=== XML [[http://enos.itcollege.ee/~anroots/challengo/xml/Response.xml link]]===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt on toodud lõik kasutaja praeguste väljakutsete päringust. Kasutajal on parajasti kaks aktiivset väljakutset, igal väljakutsel on veidi meta-infot, mingi hulk ülesandeid (tasks) ning igal ülesandel on üks või mitu autasu (rewards).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&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;
&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;Response.xsl&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!-- List of user&#039;s current challenges --&amp;gt;&lt;br /&gt;
&amp;lt;challenges&amp;gt;&lt;br /&gt;
  &amp;lt;!-- First challenge, started by the user --&amp;gt;&lt;br /&gt;
  &amp;lt;challenge id=&amp;quot;4&amp;quot; tasks=&amp;quot;6&amp;quot; progress=&amp;quot;17%&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Improgrupp Jaa!&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Inspired by a true story, the Improgrupp Jaa! contains tasks that challenge ones spontaniety and social courage.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;duration&amp;gt;1209600&amp;lt;/duration&amp;gt;&lt;br /&gt;
    &amp;lt;points_required&amp;gt;18&amp;lt;/points_required&amp;gt;&lt;br /&gt;
    &amp;lt;badge_id&amp;gt;2&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- Each challenge has a number of tasks that have to be completed.--&amp;gt;&lt;br /&gt;
    &amp;lt;!-- No challenge can be completed before earned points from tasks (rewards) exceed the points_required field --&amp;gt;&lt;br /&gt;
    &amp;lt;tasks max_points=&amp;quot;26&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;19&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Make a present to a homeless person&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;If you can read this, you&#039;re probably among the luckier ones. Do something for the ones who can&#039;t.&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;2&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;!-- Each task yields rewards on completion. Rewards are &amp;quot;power&amp;quot; points of different categories.--&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;1&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;2&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;20&amp;quot; completed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Compliment a stranger&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;Make a sincere compliment to someone you don&#039;t know. We could do with more praise where it&#039;s due.&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;1&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;2&amp;quot;&amp;gt;4&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;21&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Do volunteer work&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;Offer yourself as a volunteer to an event or a cause.&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;4&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;1&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;2&amp;quot;&amp;gt;4&amp;lt;/reward&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;3&amp;quot;&amp;gt;1&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;22&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Perform to a security camera&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;Do a little dance to a security camera. It shouldn&#039;t be illegal...probably. Don&#039;t get in trouble!&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;2&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;1&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;23&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Compliment someone for a job well done&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;When was the last time you thanked the janitor?&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;1&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;1&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;3&amp;quot;&amp;gt;1&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;24&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Take a day off&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;This is mostly for work-a-holics: rest for a while.&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;4&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;1&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;2&amp;quot;&amp;gt;4&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
    &amp;lt;/tasks&amp;gt;&lt;br /&gt;
  &amp;lt;/challenge&amp;gt;&lt;br /&gt;
&amp;lt;/challenges&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT (stiilifail) [[http://enos.itcollege.ee/~anroots/challengo/xml/Response.xsl link]] ===&lt;br /&gt;
&lt;br /&gt;
Toodud stiilifail muudab ülaltoodud XML vastuse inimesele kergemini loetavaks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&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;
&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:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html class=&amp;quot;no-js&amp;quot; lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;meta name=&amp;quot;author&amp;quot; content=&amp;quot;Ando Roots&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Challengo Response&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;http://i.jaa.ee/assets/bootstrap-2.0/css/bootstrap.min.css&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;http://i.jaa.ee/assets/bootstrap-2.0/css/bootstrap.min.responsive.css&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;h1&amp;gt;Challengo API response&amp;lt;/h1&amp;gt;&lt;br /&gt;
          &amp;lt;p class=&amp;quot;help-block&amp;quot;&amp;gt;&lt;br /&gt;
            The following is a list of challenges reported by the XML API.&lt;br /&gt;
          &amp;lt;/p&amp;gt;&lt;br /&gt;
          &lt;br /&gt;
          &lt;br /&gt;
          &amp;lt;!-- Go over each challenge --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;challenges/challenge&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h2&amp;gt;&lt;br /&gt;
              &lt;br /&gt;
              &amp;lt;!-- Challenge badge image and title --&amp;gt;&lt;br /&gt;
              &amp;lt;img alt=&amp;quot;Challenge badge&amp;quot; height=&amp;quot;48&amp;quot; width=&amp;quot;48&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:attribute name=&amp;quot;src&amp;quot;&amp;gt;&lt;br /&gt;
                  http://enos.itcollege.ee/~anroots/challengo/badges/&amp;lt;xsl:value-of select=&amp;quot;badge_id&amp;quot;/&amp;gt;.png&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
              &amp;lt;/img&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;!-- Challenge progress, if applicable --&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@progress&amp;quot;&amp;gt;&lt;br /&gt;
                (&amp;lt;span&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;@progress&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/span&amp;gt;)&lt;br /&gt;
              &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
            &amp;lt;/h2&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &amp;lt;p class=&amp;quot;well&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;description&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Table for some challenge meta-info --&amp;gt;&lt;br /&gt;
            &amp;lt;table class=&amp;quot;table table-bordered span4&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tbody&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;&lt;br /&gt;
                    Points required to complete:&lt;br /&gt;
                  &amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;points_required&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;&lt;br /&gt;
                    Time left (hours):&lt;br /&gt;
                  &amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;round(duration div 1800)&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/tbody&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
            &amp;lt;div class=&amp;quot;clearfix&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;            &lt;br /&gt;
            &lt;br /&gt;
            &amp;lt;!-- List all challenge tasks --&amp;gt;&lt;br /&gt;
            &amp;lt;h3 style=&amp;quot;margin-top:140px&amp;quot;&amp;gt;Tasks (&amp;lt;xsl:value-of select=&amp;quot;@tasks&amp;quot;/&amp;gt;)&amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table class=&amp;quot;table table-bordered table-striped table-condensed&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;thead&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;ID&amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;Badge&amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;Rewards&amp;lt;/th&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/thead&amp;gt;&lt;br /&gt;
              &amp;lt;tbody&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;tasks/task&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;!-- Color the row gray if task is completed --&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:if test=&amp;quot;@completed&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:attribute name=&amp;quot;class&amp;quot;&amp;gt;&lt;br /&gt;
                        help-block&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@id&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;title&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;p class=&amp;quot;help-block&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;description&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/p&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;img alt=&amp;quot;Challenge badge&amp;quot; height=&amp;quot;48&amp;quot; width=&amp;quot;48&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:attribute name=&amp;quot;src&amp;quot;&amp;gt;http://enos.itcollege.ee/~anroots/challengo/badges/&amp;lt;xsl:value-of select=&amp;quot;badge_id&amp;quot;/&amp;gt;.png&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;/img&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;ul&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;rewards/reward&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;li&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:if test=&amp;quot;(@power_id)=1&amp;quot;&amp;gt;&lt;br /&gt;
                              Compassion&lt;br /&gt;
                            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:if test=&amp;quot;(@power_id)=2&amp;quot;&amp;gt;&lt;br /&gt;
                              Strength&lt;br /&gt;
                            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:if test=&amp;quot;(@power_id)=3&amp;quot;&amp;gt;&lt;br /&gt;
                              Intelligence&lt;br /&gt;
                            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                            &amp;lt;span&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/span&amp;gt;&lt;br /&gt;
                          &amp;lt;/li&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/ul&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/tbody&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
            &amp;lt;!-- End of challenge task table --&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;!-- End of challenge --&amp;gt;&lt;br /&gt;
          &lt;br /&gt;
        &amp;lt;/div&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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD (skeemifail) [[http://enos.itcollege.ee/~anroots/challengo/xml/Response.xsd link]] ===&lt;br /&gt;
&lt;br /&gt;
Skeemifail kirjeldab päringu vastuse XML struktuuri.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&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;
&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;challenges&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;challenge&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;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;duration&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;points_required&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;badge_id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;tasks&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;task&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;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;badge_id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;rewards&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;reward&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:extension base=&amp;quot;xs:unsignedByte&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:attribute name=&amp;quot;power_id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:simpleContent&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:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;completed&amp;quot; type=&amp;quot;xs:boolean&amp;quot; use=&amp;quot;optional&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:attribute name=&amp;quot;max_points&amp;quot; type=&amp;quot;xs:unsignedByte&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:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;tasks&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;progress&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;optional&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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&#039;&#039;Tähtaeg 14. aprill 2012&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veebiteenuseks on PHP rakendus, mis hakkab WP7 rakendusele andmeid pakkuma ja neid vastu võtma.&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Tähtaeg 5. mai 2012&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on Windows Phone 7 klient Challengo teenusele, mis kasutab projekti esimeses osas koostatud XML andmestruktuuri.&lt;br /&gt;
&lt;br /&gt;
XML-i väljastab Challengo API, mis vajab veel kirjutamist. Challengo on realiseeritud PHP-s.&lt;br /&gt;
&lt;br /&gt;
=== Feature set ===&lt;br /&gt;
&lt;br /&gt;
* Autentimine&lt;br /&gt;
** Login&lt;br /&gt;
** Logout&lt;br /&gt;
* Nimekiri aktiivsetest väljakutsetest ja nende staatustest&lt;br /&gt;
** Nimekiri väljakutse alamülesannetest ja nende staatustest&lt;br /&gt;
* Väljakutse märkimine lõpetatuks&lt;br /&gt;
** Alamülesande märkimine lõpetatuks&lt;br /&gt;
* Uue väljakutse valimine nimekirjast&lt;br /&gt;
** Väljakutse detailide ja alamülesannete vaatamine&lt;br /&gt;
* Väljakutse &amp;quot;hülgamine&amp;quot; (&#039;&#039;abandon&#039;&#039;)&lt;br /&gt;
* Kasutaja statistika näitamine&lt;br /&gt;
** Praegune punktiseis&lt;br /&gt;
** Lõpetatud väljakutsed&lt;br /&gt;
*** Lõpetatud alamülesanded&lt;br /&gt;
** Teenitud märgid&lt;br /&gt;
&lt;br /&gt;
= Meeskonna Liikmed =&lt;br /&gt;
&lt;br /&gt;
* Ando Roots &#039;&#039;anroots@itcollege.ee&#039;&#039;&lt;br /&gt;
* Mikk Pärast &#039;&#039;mparast@itcollege.ee&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Liitumine ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for t in tudengid:&lt;br /&gt;
  if !t.laisk &amp;amp;&amp;amp; t.oskab_progreda:&lt;br /&gt;
    kutsu_meeskonda(t)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ mail -s &amp;quot;Harold&amp;quot; anroots@itcollege.ee&amp;lt;/pre&amp;gt;&lt;br /&gt;
Eeldan varasemaid teadmisi ning usaldusväärsust. Soovin, et asi ei lõppeks jälle nii, et projektijuht on kaitsmiseelsel õhtul üleval ja lõpetab üksinda projekti.&lt;br /&gt;
Ole nii kena ja anna huvist märku enne &#039;&#039;&#039;26. veebruari&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Lisad =&lt;br /&gt;
&lt;br /&gt;
== Challengo ==&lt;br /&gt;
&lt;br /&gt;
Challengo.me on Garage48 Tallinn 2011 raames alustatud veebiteenus.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A social network of themed challenges, comes with a Karma profile and level-system.&lt;br /&gt;
Revenues from ads on the mobile version.&lt;br /&gt;
Team members: Ando Roots, Kristo Vaher, Valeria Gasik, Jelena Savinen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube v=&amp;quot;pPfHJD5F7sc&amp;quot; /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=pPfHJD5F7sc Jelena tutvustab Challengo teenust]&lt;/div&gt;</summary>
		<author><name>Mparast</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22Harold%22&amp;diff=46312</id>
		<title>Meeskond &quot;Harold&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22Harold%22&amp;diff=46312"/>
		<updated>2012-03-03T18:15:39Z</updated>

		<summary type="html">&lt;p&gt;Mparast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
{| style=&amp;quot;width:100%;height: 40px; background-color:#f2dede;border: 1px solid #EED3D7;color:#B94A48;padding:10px;font-size:16px;font-weight:bold-webkit-border-radius: 8px;-moz-border-radius: 8px;border-radius: 8px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
| Paistab, et tegu on üheliikmelise meeskonnaga.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot; style=&amp;quot;width: 30em; padding-left: 2em; float: right; font-size: 95%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #1A151A;color:#D5E8BD; text-align:center;&amp;quot; | &#039;&#039;&#039;Meeskond &#039;&#039;&amp;quot;Harold&amp;quot;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Aine:&#039;&#039;&#039;&lt;br /&gt;
| [[:Category:Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Juhend:&#039;&#039;&#039;&lt;br /&gt;
| [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2012 Juhend]&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Tüüp:&#039;&#039;&#039;&lt;br /&gt;
| Projekt&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
| [[User:Anroots]]&amp;lt;br /&amp;gt;[[User:Mparast]]&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Juhendajad:&#039;&#039;&#039;&lt;br /&gt;
| [[User:Mposka]]&amp;lt;br /&amp;gt;[[User:Kraspel]]&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Semester:&#039;&#039;&#039;&lt;br /&gt;
| 2011/2012 kevad&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#1A151A;color:#D5E8BD; text-align:center;&amp;quot; | &#039;&#039;&#039;Kood (GitHub)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Challengo:&#039;&#039;&#039;&lt;br /&gt;
|https://github.com/anroots/Challengo&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Projekt =&lt;br /&gt;
&lt;br /&gt;
Projekti kõik kolm osa keskenduvad veebiteenuse &amp;quot;Challengo&amp;quot; taasloomisele. Projekti esimene osa valmistab ette peamis(t)e päringu(te) XML vastuse struktuuri, projekti teine osa (veebiteenuse loomine) ehitab vastava API ning kolmanda osa raames (klientrakendus) realiseeritakse Windows Phone 7 rakendus.&lt;br /&gt;
&lt;br /&gt;
== Korraldus ==&lt;br /&gt;
&lt;br /&gt;
Projektiga seonduv dokumentatsioon (erandiks on käesolev wiki leht), kasutajale nähtavad tekstid ning lähtekood on kirjutatud inglise keeles. Võimalusel on kood kirjutatud hilisema I18n toe võimaldamiseks.&lt;br /&gt;
&lt;br /&gt;
Koodi haldab GitHub repositoorium, juurdepääsu saamiseks tuleb projektijuhile saata oma GitHub kasutajanimi (või &#039;&#039;pull request&#039;&#039;). Tegemist vajavaid töid näeb GitHub lehel &#039;&#039;Issues&#039;&#039; vahekaardilt ning asjakohane dokumentatsioon (API) on GitHub wiki alamjaotises.&lt;br /&gt;
&lt;br /&gt;
Lähtekood on põhjalikult kommenteeritud, muud, eraldiseisvat dokumentatsiooni koodi kohta pole.&lt;br /&gt;
&lt;br /&gt;
== XML Andmefailid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Tähtaeg 3. märts 2012&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML andmefail kirjeldab veebiteenuse &amp;quot;[http://garage48.org/blogger/projects-on-garage48-tallinn-2011 Challengo]&amp;quot; andmeid. Andmed asuvad MYSQL andmebaasis, mille struktuur on kirjeldatud ERD mudeliga [[File:Harold_Challengo_MYSQL_ERD.png|200px|thumb|MYSQL ERD mudel]]. XML formaadis andmeid väljastab serveris asuv PHP API. Järgnevalt toodud XML näited ei pruugi projekti esimese osa nõudmiste tõttu olla vastavuses teise osana valmiva veebiteenuse tegeliku väljundiga.&lt;br /&gt;
&lt;br /&gt;
Faile saab vaadata ka võrgust: http://enos.itcollege.ee/~anroots/challengo/xml/. Soovitatav on seda teha just XSLT stiilifaili jaoks (http://enos.itcollege.ee/~anroots/challengo/xml/Response.xml).&lt;br /&gt;
&lt;br /&gt;
=== XML [[http://enos.itcollege.ee/~anroots/challengo/xml/Response.xml link]]===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt on toodud lõik kasutaja praeguste väljakutsete päringust. Kasutajal on parajasti kaks aktiivset väljakutset, igal väljakutsel on veidi meta-infot, mingi hulk ülesandeid (tasks) ning igal ülesandel on üks või mitu autasu (rewards).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&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;
&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;Response.xsl&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!-- List of user&#039;s current challenges --&amp;gt;&lt;br /&gt;
&amp;lt;challenges&amp;gt;&lt;br /&gt;
  &amp;lt;!-- First challenge, started by the user --&amp;gt;&lt;br /&gt;
  &amp;lt;challenge id=&amp;quot;4&amp;quot; tasks=&amp;quot;6&amp;quot; progress=&amp;quot;17%&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Improgrupp Jaa!&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Inspired by a true story, the Improgrupp Jaa! contains tasks that challenge ones spontaniety and social courage.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;duration&amp;gt;1209600&amp;lt;/duration&amp;gt;&lt;br /&gt;
    &amp;lt;points_required&amp;gt;18&amp;lt;/points_required&amp;gt;&lt;br /&gt;
    &amp;lt;badge_id&amp;gt;2&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- Each challenge has a number of tasks that have to be completed.--&amp;gt;&lt;br /&gt;
    &amp;lt;!-- No challenge can be completed before earned points from tasks (rewards) exceed the points_required field --&amp;gt;&lt;br /&gt;
    &amp;lt;tasks max_points=&amp;quot;26&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;19&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Make a present to a homeless person&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;If you can read this, you&#039;re probably among the luckier ones. Do something for the ones who can&#039;t.&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;2&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;!-- Each task yields rewards on completion. Rewards are &amp;quot;power&amp;quot; points of different categories.--&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;1&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;2&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;20&amp;quot; completed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Compliment a stranger&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;Make a sincere compliment to someone you don&#039;t know. We could do with more praise where it&#039;s due.&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;1&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;2&amp;quot;&amp;gt;4&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;21&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Do volunteer work&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;Offer yourself as a volunteer to an event or a cause.&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;4&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;1&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;2&amp;quot;&amp;gt;4&amp;lt;/reward&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;3&amp;quot;&amp;gt;1&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;22&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Perform to a security camera&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;Do a little dance to a security camera. It shouldn&#039;t be illegal...probably. Don&#039;t get in trouble!&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;2&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;1&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;23&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Compliment someone for a job well done&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;When was the last time you thanked the janitor?&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;1&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;1&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;3&amp;quot;&amp;gt;1&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;24&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Take a day off&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;This is mostly for work-a-holics: rest for a while.&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;4&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;1&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;2&amp;quot;&amp;gt;4&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
    &amp;lt;/tasks&amp;gt;&lt;br /&gt;
  &amp;lt;/challenge&amp;gt;&lt;br /&gt;
&amp;lt;/challenges&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT (stiilifail) [[http://enos.itcollege.ee/~anroots/challengo/xml/Response.xsl link]] ===&lt;br /&gt;
&lt;br /&gt;
Toodud stiilifail muudab ülaltoodud XML vastuse inimesele kergemini loetavaks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&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;
&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:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html class=&amp;quot;no-js&amp;quot; lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;meta name=&amp;quot;author&amp;quot; content=&amp;quot;Ando Roots&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Challengo Response&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;http://i.jaa.ee/assets/bootstrap-2.0/css/bootstrap.min.css&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;http://i.jaa.ee/assets/bootstrap-2.0/css/bootstrap.min.responsive.css&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;h1&amp;gt;Challengo API response&amp;lt;/h1&amp;gt;&lt;br /&gt;
          &amp;lt;p class=&amp;quot;help-block&amp;quot;&amp;gt;&lt;br /&gt;
            The following is a list of challenges reported by the XML API.&lt;br /&gt;
          &amp;lt;/p&amp;gt;&lt;br /&gt;
          &lt;br /&gt;
          &lt;br /&gt;
          &amp;lt;!-- Go over each challenge --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;challenges/challenge&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h2&amp;gt;&lt;br /&gt;
              &lt;br /&gt;
              &amp;lt;!-- Challenge badge image and title --&amp;gt;&lt;br /&gt;
              &amp;lt;img alt=&amp;quot;Challenge badge&amp;quot; height=&amp;quot;48&amp;quot; width=&amp;quot;48&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:attribute name=&amp;quot;src&amp;quot;&amp;gt;&lt;br /&gt;
                  http://enos.itcollege.ee/~anroots/challengo/badges/&amp;lt;xsl:value-of select=&amp;quot;badge_id&amp;quot;/&amp;gt;.png&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
              &amp;lt;/img&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;!-- Challenge progress, if applicable --&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@progress&amp;quot;&amp;gt;&lt;br /&gt;
                (&amp;lt;span&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;@progress&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/span&amp;gt;)&lt;br /&gt;
              &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
            &amp;lt;/h2&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &amp;lt;p class=&amp;quot;well&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;description&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Table for some challenge meta-info --&amp;gt;&lt;br /&gt;
            &amp;lt;table class=&amp;quot;table table-bordered span4&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tbody&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;&lt;br /&gt;
                    Points required to complete:&lt;br /&gt;
                  &amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;points_required&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;&lt;br /&gt;
                    Time left (hours):&lt;br /&gt;
                  &amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;round(duration div 1800)&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/tbody&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
            &amp;lt;div class=&amp;quot;clearfix&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;            &lt;br /&gt;
            &lt;br /&gt;
            &amp;lt;!-- List all challenge tasks --&amp;gt;&lt;br /&gt;
            &amp;lt;h3 style=&amp;quot;margin-top:140px&amp;quot;&amp;gt;Tasks (&amp;lt;xsl:value-of select=&amp;quot;@tasks&amp;quot;/&amp;gt;)&amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table class=&amp;quot;table table-bordered table-striped table-condensed&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;thead&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;ID&amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;Badge&amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;Rewards&amp;lt;/th&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/thead&amp;gt;&lt;br /&gt;
              &amp;lt;tbody&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;tasks/task&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;!-- Color the row gray if task is completed --&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:if test=&amp;quot;@completed&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:attribute name=&amp;quot;class&amp;quot;&amp;gt;&lt;br /&gt;
                        help-block&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@id&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;title&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;p class=&amp;quot;help-block&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;description&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/p&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;img alt=&amp;quot;Challenge badge&amp;quot; height=&amp;quot;48&amp;quot; width=&amp;quot;48&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:attribute name=&amp;quot;src&amp;quot;&amp;gt;http://enos.itcollege.ee/~anroots/challengo/badges/&amp;lt;xsl:value-of select=&amp;quot;badge_id&amp;quot;/&amp;gt;.png&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;/img&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;ul&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;rewards/reward&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;li&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:if test=&amp;quot;(@power_id)=1&amp;quot;&amp;gt;&lt;br /&gt;
                              Compassion&lt;br /&gt;
                            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:if test=&amp;quot;(@power_id)=2&amp;quot;&amp;gt;&lt;br /&gt;
                              Strength&lt;br /&gt;
                            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:if test=&amp;quot;(@power_id)=3&amp;quot;&amp;gt;&lt;br /&gt;
                              Intelligence&lt;br /&gt;
                            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                            &amp;lt;span&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/span&amp;gt;&lt;br /&gt;
                          &amp;lt;/li&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/ul&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/tbody&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
            &amp;lt;!-- End of challenge task table --&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;!-- End of challenge --&amp;gt;&lt;br /&gt;
          &lt;br /&gt;
        &amp;lt;/div&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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD (skeemifail) [[http://enos.itcollege.ee/~anroots/challengo/xml/Response.xsd link]] ===&lt;br /&gt;
&lt;br /&gt;
Skeemifail kirjeldab päringu vastuse XML struktuuri.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&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;
&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;challenges&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;challenge&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;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;duration&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;points_required&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;badge_id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;tasks&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;task&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;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;badge_id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;rewards&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;reward&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:extension base=&amp;quot;xs:unsignedByte&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:attribute name=&amp;quot;power_id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:simpleContent&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:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;completed&amp;quot; type=&amp;quot;xs:boolean&amp;quot; use=&amp;quot;optional&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:attribute name=&amp;quot;max_points&amp;quot; type=&amp;quot;xs:unsignedByte&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:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;tasks&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;progress&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;optional&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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&#039;&#039;Tähtaeg 14. aprill 2012&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veebiteenuseks on PHP rakendus, mis hakkab WP7 rakendusele andmeid pakkuma ja neid vastu võtma.&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Tähtaeg 5. mai 2012&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on Windows Phone 7 klient Challengo teenusele, mis kasutab projekti esimeses osas koostatud XML andmestruktuuri.&lt;br /&gt;
&lt;br /&gt;
XML-i väljastab Challengo API, mis vajab veel kirjutamist. Challengo on realiseeritud PHP-s.&lt;br /&gt;
&lt;br /&gt;
=== Feature set ===&lt;br /&gt;
&lt;br /&gt;
* Autentimine&lt;br /&gt;
** Login&lt;br /&gt;
** Logout&lt;br /&gt;
* Nimekiri aktiivsetest väljakutsetest ja nende staatustest&lt;br /&gt;
** Nimekiri väljakutse alamülesannetest ja nende staatustest&lt;br /&gt;
* Väljakutse märkimine lõpetatuks&lt;br /&gt;
** Alamülesande märkimine lõpetatuks&lt;br /&gt;
* Uue väljakutse valimine nimekirjast&lt;br /&gt;
** Väljakutse detailide ja alamülesannete vaatamine&lt;br /&gt;
* Väljakutse &amp;quot;hülgamine&amp;quot; (&#039;&#039;abandon&#039;&#039;)&lt;br /&gt;
* Kasutaja statistika näitamine&lt;br /&gt;
** Praegune punktiseis&lt;br /&gt;
** Lõpetatud väljakutsed&lt;br /&gt;
*** Lõpetatud alamülesanded&lt;br /&gt;
** Teenitud märgid&lt;br /&gt;
&lt;br /&gt;
= Meeskonna Liikmed =&lt;br /&gt;
&lt;br /&gt;
* Ando Roots &#039;&#039;anroots@itcollege.ee&#039;&#039;&lt;br /&gt;
* Mikk Pärast &#039;&#039;mparast@itcollege.ee&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Liitumine ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for t in tudengid:&lt;br /&gt;
  if !t.laisk &amp;amp;&amp;amp; t.oskab_progreda:&lt;br /&gt;
    kutsu_meeskonda(t)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ mail -s &amp;quot;Harold&amp;quot; anroots@itcollege.ee&amp;lt;/pre&amp;gt;&lt;br /&gt;
Eeldan varasemaid teadmisi ning usaldusväärsust. Soovin, et asi ei lõppeks jälle nii, et projektijuht on kaitsmiseelsel õhtul üleval ja lõpetab üksinda projekti.&lt;br /&gt;
Ole nii kena ja anna huvist märku enne &#039;&#039;&#039;26. veebruari&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Lisad =&lt;br /&gt;
&lt;br /&gt;
== Challengo ==&lt;br /&gt;
&lt;br /&gt;
Challengo.me on Garage48 Tallinn 2011 raames alustatud veebiteenus.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A social network of themed challenges, comes with a Karma profile and level-system.&lt;br /&gt;
Revenues from ads on the mobile version.&lt;br /&gt;
Team members: Ando Roots, Kristo Vaher, Valeria Gasik, Jelena Savinen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube v=&amp;quot;pPfHJD5F7sc&amp;quot; /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=pPfHJD5F7sc Jelena tutvustab Challengo teenust]&lt;/div&gt;</summary>
		<author><name>Mparast</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Meeskond_%22Harold%22&amp;diff=46311</id>
		<title>Meeskond &quot;Harold&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Meeskond_%22Harold%22&amp;diff=46311"/>
		<updated>2012-03-03T18:12:12Z</updated>

		<summary type="html">&lt;p&gt;Mparast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
{| style=&amp;quot;width:100%;height: 40px; background-color:#f2dede;border: 1px solid #EED3D7;color:#B94A48;padding:10px;font-size:16px;font-weight:bold-webkit-border-radius: 8px;-moz-border-radius: 8px;border-radius: 8px;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;text-align: center&amp;quot;&lt;br /&gt;
| Paistab, et tegu on üheliikmelise meeskonnaga.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;infobox&amp;quot; style=&amp;quot;width: 30em; padding-left: 2em; float: right; font-size: 95%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;background: #1A151A;color:#D5E8BD; text-align:center;&amp;quot; | &#039;&#039;&#039;Meeskond &#039;&#039;&amp;quot;Harold&amp;quot;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Aine:&#039;&#039;&#039;&lt;br /&gt;
| [[:Category:Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
|-&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Juhend:&#039;&#039;&#039;&lt;br /&gt;
| [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2012 Juhend]&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Tüüp:&#039;&#039;&#039;&lt;br /&gt;
| Projekt&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
| [[User:Anroots]]&lt;br /&gt;
| [[User:Mparast]]&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Juhendajad:&#039;&#039;&#039;&lt;br /&gt;
| [[User:Mposka]]&amp;lt;br /&amp;gt;[[User:Kraspel]]&lt;br /&gt;
|- style=&amp;quot;vertical-align: top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Semester:&#039;&#039;&#039;&lt;br /&gt;
| 2011/2012 kevad&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;background:#1A151A;color:#D5E8BD; text-align:center;&amp;quot; | &#039;&#039;&#039;Kood (GitHub)&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|-style=&amp;quot;vertical-align:top;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Challengo:&#039;&#039;&#039;&lt;br /&gt;
|https://github.com/anroots/Challengo&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Projekt =&lt;br /&gt;
&lt;br /&gt;
Projekti kõik kolm osa keskenduvad veebiteenuse &amp;quot;Challengo&amp;quot; taasloomisele. Projekti esimene osa valmistab ette peamis(t)e päringu(te) XML vastuse struktuuri, projekti teine osa (veebiteenuse loomine) ehitab vastava API ning kolmanda osa raames (klientrakendus) realiseeritakse Windows Phone 7 rakendus.&lt;br /&gt;
&lt;br /&gt;
== Korraldus ==&lt;br /&gt;
&lt;br /&gt;
Projektiga seonduv dokumentatsioon (erandiks on käesolev wiki leht), kasutajale nähtavad tekstid ning lähtekood on kirjutatud inglise keeles. Võimalusel on kood kirjutatud hilisema I18n toe võimaldamiseks.&lt;br /&gt;
&lt;br /&gt;
Koodi haldab GitHub repositoorium, juurdepääsu saamiseks tuleb projektijuhile saata oma GitHub kasutajanimi (või &#039;&#039;pull request&#039;&#039;). Tegemist vajavaid töid näeb GitHub lehel &#039;&#039;Issues&#039;&#039; vahekaardilt ning asjakohane dokumentatsioon (API) on GitHub wiki alamjaotises.&lt;br /&gt;
&lt;br /&gt;
Lähtekood on põhjalikult kommenteeritud, muud, eraldiseisvat dokumentatsiooni koodi kohta pole.&lt;br /&gt;
&lt;br /&gt;
== XML Andmefailid ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Tähtaeg 3. märts 2012&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
XML andmefail kirjeldab veebiteenuse &amp;quot;[http://garage48.org/blogger/projects-on-garage48-tallinn-2011 Challengo]&amp;quot; andmeid. Andmed asuvad MYSQL andmebaasis, mille struktuur on kirjeldatud ERD mudeliga [[File:Harold_Challengo_MYSQL_ERD.png|200px|thumb|MYSQL ERD mudel]]. XML formaadis andmeid väljastab serveris asuv PHP API. Järgnevalt toodud XML näited ei pruugi projekti esimese osa nõudmiste tõttu olla vastavuses teise osana valmiva veebiteenuse tegeliku väljundiga.&lt;br /&gt;
&lt;br /&gt;
Faile saab vaadata ka võrgust: http://enos.itcollege.ee/~anroots/challengo/xml/. Soovitatav on seda teha just XSLT stiilifaili jaoks (http://enos.itcollege.ee/~anroots/challengo/xml/Response.xml).&lt;br /&gt;
&lt;br /&gt;
=== XML [[http://enos.itcollege.ee/~anroots/challengo/xml/Response.xml link]]===&lt;br /&gt;
&lt;br /&gt;
Järgnevalt on toodud lõik kasutaja praeguste väljakutsete päringust. Kasutajal on parajasti kaks aktiivset väljakutset, igal väljakutsel on veidi meta-infot, mingi hulk ülesandeid (tasks) ning igal ülesandel on üks või mitu autasu (rewards).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&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;
&amp;lt;?xml-stylesheet type=&amp;quot;text/xsl&amp;quot; href=&amp;quot;Response.xsl&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!-- List of user&#039;s current challenges --&amp;gt;&lt;br /&gt;
&amp;lt;challenges&amp;gt;&lt;br /&gt;
  &amp;lt;!-- First challenge, started by the user --&amp;gt;&lt;br /&gt;
  &amp;lt;challenge id=&amp;quot;4&amp;quot; tasks=&amp;quot;6&amp;quot; progress=&amp;quot;17%&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;The Improgrupp Jaa!&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;description&amp;gt;Inspired by a true story, the Improgrupp Jaa! contains tasks that challenge ones spontaniety and social courage.&amp;lt;/description&amp;gt;&lt;br /&gt;
    &amp;lt;duration&amp;gt;1209600&amp;lt;/duration&amp;gt;&lt;br /&gt;
    &amp;lt;points_required&amp;gt;18&amp;lt;/points_required&amp;gt;&lt;br /&gt;
    &amp;lt;badge_id&amp;gt;2&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;!-- Each challenge has a number of tasks that have to be completed.--&amp;gt;&lt;br /&gt;
    &amp;lt;!-- No challenge can be completed before earned points from tasks (rewards) exceed the points_required field --&amp;gt;&lt;br /&gt;
    &amp;lt;tasks max_points=&amp;quot;26&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;19&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Make a present to a homeless person&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;If you can read this, you&#039;re probably among the luckier ones. Do something for the ones who can&#039;t.&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;2&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
        &amp;lt;!-- Each task yields rewards on completion. Rewards are &amp;quot;power&amp;quot; points of different categories.--&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;1&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;2&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;20&amp;quot; completed=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Compliment a stranger&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;Make a sincere compliment to someone you don&#039;t know. We could do with more praise where it&#039;s due.&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;1&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;2&amp;quot;&amp;gt;4&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;21&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Do volunteer work&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;Offer yourself as a volunteer to an event or a cause.&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;4&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;1&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;2&amp;quot;&amp;gt;4&amp;lt;/reward&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;3&amp;quot;&amp;gt;1&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;22&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Perform to a security camera&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;Do a little dance to a security camera. It shouldn&#039;t be illegal...probably. Don&#039;t get in trouble!&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;2&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;1&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;23&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Compliment someone for a job well done&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;When was the last time you thanked the janitor?&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;1&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;1&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;3&amp;quot;&amp;gt;1&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
      &amp;lt;task id=&amp;quot;24&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Take a day off&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;description&amp;gt;This is mostly for work-a-holics: rest for a while.&amp;lt;/description&amp;gt;&lt;br /&gt;
        &amp;lt;badge_id&amp;gt;4&amp;lt;/badge_id&amp;gt;&lt;br /&gt;
        &amp;lt;rewards&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;1&amp;quot;&amp;gt;2&amp;lt;/reward&amp;gt;&lt;br /&gt;
          &amp;lt;reward power_id=&amp;quot;2&amp;quot;&amp;gt;4&amp;lt;/reward&amp;gt;&lt;br /&gt;
        &amp;lt;/rewards&amp;gt;&lt;br /&gt;
      &amp;lt;/task&amp;gt;&lt;br /&gt;
    &amp;lt;/tasks&amp;gt;&lt;br /&gt;
  &amp;lt;/challenge&amp;gt;&lt;br /&gt;
&amp;lt;/challenges&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSLT (stiilifail) [[http://enos.itcollege.ee/~anroots/challengo/xml/Response.xsl link]] ===&lt;br /&gt;
&lt;br /&gt;
Toodud stiilifail muudab ülaltoodud XML vastuse inimesele kergemini loetavaks.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&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;
&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:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;html class=&amp;quot;no-js&amp;quot; lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;head&amp;gt;&lt;br /&gt;
        &amp;lt;meta charset=&amp;quot;utf-8&amp;quot;/&amp;gt;&lt;br /&gt;
        &amp;lt;meta name=&amp;quot;author&amp;quot; content=&amp;quot;Ando Roots&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;title&amp;gt;Challengo Response&amp;lt;/title&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;http://i.jaa.ee/assets/bootstrap-2.0/css/bootstrap.min.css&amp;quot; /&amp;gt;&lt;br /&gt;
        &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;http://i.jaa.ee/assets/bootstrap-2.0/css/bootstrap.min.responsive.css&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/head&amp;gt;&lt;br /&gt;
      &amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
        &amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
          &amp;lt;h1&amp;gt;Challengo API response&amp;lt;/h1&amp;gt;&lt;br /&gt;
          &amp;lt;p class=&amp;quot;help-block&amp;quot;&amp;gt;&lt;br /&gt;
            The following is a list of challenges reported by the XML API.&lt;br /&gt;
          &amp;lt;/p&amp;gt;&lt;br /&gt;
          &lt;br /&gt;
          &lt;br /&gt;
          &amp;lt;!-- Go over each challenge --&amp;gt;&lt;br /&gt;
          &amp;lt;xsl:for-each select=&amp;quot;challenges/challenge&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h2&amp;gt;&lt;br /&gt;
              &lt;br /&gt;
              &amp;lt;!-- Challenge badge image and title --&amp;gt;&lt;br /&gt;
              &amp;lt;img alt=&amp;quot;Challenge badge&amp;quot; height=&amp;quot;48&amp;quot; width=&amp;quot;48&amp;quot;&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:attribute name=&amp;quot;src&amp;quot;&amp;gt;&lt;br /&gt;
                  http://enos.itcollege.ee/~anroots/challengo/badges/&amp;lt;xsl:value-of select=&amp;quot;badge_id&amp;quot;/&amp;gt;.png&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
              &amp;lt;/img&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;title&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
              &amp;lt;!-- Challenge progress, if applicable --&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:if test=&amp;quot;@progress&amp;quot;&amp;gt;&lt;br /&gt;
                (&amp;lt;span&amp;gt;&lt;br /&gt;
                  &amp;lt;xsl:value-of select=&amp;quot;@progress&amp;quot;/&amp;gt;&lt;br /&gt;
                &amp;lt;/span&amp;gt;)&lt;br /&gt;
              &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
            &amp;lt;/h2&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
            &lt;br /&gt;
            &amp;lt;p class=&amp;quot;well&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;xsl:value-of select=&amp;quot;description&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
            &amp;lt;!-- Table for some challenge meta-info --&amp;gt;&lt;br /&gt;
            &amp;lt;table class=&amp;quot;table table-bordered span4&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;tbody&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;&lt;br /&gt;
                    Points required to complete:&lt;br /&gt;
                  &amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;points_required&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;&lt;br /&gt;
                    Time left (hours):&lt;br /&gt;
                  &amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;td&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:value-of select=&amp;quot;round(duration div 1800)&amp;quot;/&amp;gt;&lt;br /&gt;
                  &amp;lt;/td&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/tbody&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
            &amp;lt;div class=&amp;quot;clearfix&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;            &lt;br /&gt;
            &lt;br /&gt;
            &amp;lt;!-- List all challenge tasks --&amp;gt;&lt;br /&gt;
            &amp;lt;h3 style=&amp;quot;margin-top:140px&amp;quot;&amp;gt;Tasks (&amp;lt;xsl:value-of select=&amp;quot;@tasks&amp;quot;/&amp;gt;)&amp;lt;/h3&amp;gt;&lt;br /&gt;
            &amp;lt;table class=&amp;quot;table table-bordered table-striped table-condensed&amp;quot;&amp;gt;&lt;br /&gt;
              &amp;lt;thead&amp;gt;&lt;br /&gt;
                &amp;lt;tr&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;ID&amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;Badge&amp;lt;/th&amp;gt;&lt;br /&gt;
                  &amp;lt;th&amp;gt;Rewards&amp;lt;/th&amp;gt;&lt;br /&gt;
                &amp;lt;/tr&amp;gt;&lt;br /&gt;
              &amp;lt;/thead&amp;gt;&lt;br /&gt;
              &amp;lt;tbody&amp;gt;&lt;br /&gt;
                &amp;lt;xsl:for-each select=&amp;quot;tasks/task&amp;quot;&amp;gt;&lt;br /&gt;
                  &amp;lt;tr&amp;gt;&lt;br /&gt;
                    &amp;lt;!-- Color the row gray if task is completed --&amp;gt;&lt;br /&gt;
                    &amp;lt;xsl:if test=&amp;quot;@completed&amp;quot;&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:attribute name=&amp;quot;class&amp;quot;&amp;gt;&lt;br /&gt;
                        help-block&lt;br /&gt;
                      &amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                    &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                    &lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;xsl:value-of select=&amp;quot;@id&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;title&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;p class=&amp;quot;help-block&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:value-of select=&amp;quot;description&amp;quot;/&amp;gt;&lt;br /&gt;
                      &amp;lt;/p&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;img alt=&amp;quot;Challenge badge&amp;quot; height=&amp;quot;48&amp;quot; width=&amp;quot;48&amp;quot;&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:attribute name=&amp;quot;src&amp;quot;&amp;gt;http://enos.itcollege.ee/~anroots/challengo/badges/&amp;lt;xsl:value-of select=&amp;quot;badge_id&amp;quot;/&amp;gt;.png&amp;lt;/xsl:attribute&amp;gt;&lt;br /&gt;
                      &amp;lt;/img&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                    &amp;lt;td&amp;gt;&lt;br /&gt;
                      &amp;lt;ul&amp;gt;&lt;br /&gt;
                        &amp;lt;xsl:for-each select=&amp;quot;rewards/reward&amp;quot;&amp;gt;&lt;br /&gt;
                          &amp;lt;li&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:if test=&amp;quot;(@power_id)=1&amp;quot;&amp;gt;&lt;br /&gt;
                              Compassion&lt;br /&gt;
                            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:if test=&amp;quot;(@power_id)=2&amp;quot;&amp;gt;&lt;br /&gt;
                              Strength&lt;br /&gt;
                            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                            &amp;lt;xsl:if test=&amp;quot;(@power_id)=3&amp;quot;&amp;gt;&lt;br /&gt;
                              Intelligence&lt;br /&gt;
                            &amp;lt;/xsl:if&amp;gt;&lt;br /&gt;
                            &amp;lt;span&amp;gt;&lt;br /&gt;
                              &amp;lt;xsl:value-of select=&amp;quot;.&amp;quot;/&amp;gt;&lt;br /&gt;
                            &amp;lt;/span&amp;gt;&lt;br /&gt;
                          &amp;lt;/li&amp;gt;&lt;br /&gt;
                        &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
                      &amp;lt;/ul&amp;gt;&lt;br /&gt;
                    &amp;lt;/td&amp;gt;&lt;br /&gt;
                  &amp;lt;/tr&amp;gt;&lt;br /&gt;
                &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
              &amp;lt;/tbody&amp;gt;&lt;br /&gt;
            &amp;lt;/table&amp;gt;&lt;br /&gt;
            &amp;lt;!-- End of challenge task table --&amp;gt;&lt;br /&gt;
            &lt;br /&gt;
          &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
          &amp;lt;!-- End of challenge --&amp;gt;&lt;br /&gt;
          &lt;br /&gt;
        &amp;lt;/div&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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== XSD (skeemifail) [[http://enos.itcollege.ee/~anroots/challengo/xml/Response.xsd link]] ===&lt;br /&gt;
&lt;br /&gt;
Skeemifail kirjeldab päringu vastuse XML struktuuri.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;xml&amp;quot;&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;
&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;challenges&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;challenge&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;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;duration&amp;quot; type=&amp;quot;xs:unsignedInt&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;points_required&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;badge_id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
              &amp;lt;xs:element name=&amp;quot;tasks&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;task&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;title&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;description&amp;quot; type=&amp;quot;xs:string&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;badge_id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; /&amp;gt;&lt;br /&gt;
                          &amp;lt;xs:element name=&amp;quot;rewards&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;reward&amp;quot;&amp;gt;&lt;br /&gt;
                                  &amp;lt;xs:complexType&amp;gt;&lt;br /&gt;
                                    &amp;lt;xs:simpleContent&amp;gt;&lt;br /&gt;
                                      &amp;lt;xs:extension base=&amp;quot;xs:unsignedByte&amp;quot;&amp;gt;&lt;br /&gt;
                                        &amp;lt;xs:attribute name=&amp;quot;power_id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                                      &amp;lt;/xs:extension&amp;gt;&lt;br /&gt;
                                    &amp;lt;/xs:simpleContent&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:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
                        &amp;lt;xs:attribute name=&amp;quot;completed&amp;quot; type=&amp;quot;xs:boolean&amp;quot; use=&amp;quot;optional&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:attribute name=&amp;quot;max_points&amp;quot; type=&amp;quot;xs:unsignedByte&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:attribute name=&amp;quot;id&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;tasks&amp;quot; type=&amp;quot;xs:unsignedByte&amp;quot; use=&amp;quot;required&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;xs:attribute name=&amp;quot;progress&amp;quot; type=&amp;quot;xs:string&amp;quot; use=&amp;quot;optional&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;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Veebiteenus ==&lt;br /&gt;
&#039;&#039;Tähtaeg 14. aprill 2012&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Veebiteenuseks on PHP rakendus, mis hakkab WP7 rakendusele andmeid pakkuma ja neid vastu võtma.&lt;br /&gt;
&lt;br /&gt;
== Klientrakendus ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Tähtaeg 5. mai 2012&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on Windows Phone 7 klient Challengo teenusele, mis kasutab projekti esimeses osas koostatud XML andmestruktuuri.&lt;br /&gt;
&lt;br /&gt;
XML-i väljastab Challengo API, mis vajab veel kirjutamist. Challengo on realiseeritud PHP-s.&lt;br /&gt;
&lt;br /&gt;
=== Feature set ===&lt;br /&gt;
&lt;br /&gt;
* Autentimine&lt;br /&gt;
** Login&lt;br /&gt;
** Logout&lt;br /&gt;
* Nimekiri aktiivsetest väljakutsetest ja nende staatustest&lt;br /&gt;
** Nimekiri väljakutse alamülesannetest ja nende staatustest&lt;br /&gt;
* Väljakutse märkimine lõpetatuks&lt;br /&gt;
** Alamülesande märkimine lõpetatuks&lt;br /&gt;
* Uue väljakutse valimine nimekirjast&lt;br /&gt;
** Väljakutse detailide ja alamülesannete vaatamine&lt;br /&gt;
* Väljakutse &amp;quot;hülgamine&amp;quot; (&#039;&#039;abandon&#039;&#039;)&lt;br /&gt;
* Kasutaja statistika näitamine&lt;br /&gt;
** Praegune punktiseis&lt;br /&gt;
** Lõpetatud väljakutsed&lt;br /&gt;
*** Lõpetatud alamülesanded&lt;br /&gt;
** Teenitud märgid&lt;br /&gt;
&lt;br /&gt;
= Meeskonna Liikmed =&lt;br /&gt;
&lt;br /&gt;
* Ando Roots &#039;&#039;anroots@itcollege.ee&#039;&#039;&lt;br /&gt;
* Mikk Pärast &#039;&#039;mparast@itcollege.ee&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Liitumine ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for t in tudengid:&lt;br /&gt;
  if !t.laisk &amp;amp;&amp;amp; t.oskab_progreda:&lt;br /&gt;
    kutsu_meeskonda(t)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ mail -s &amp;quot;Harold&amp;quot; anroots@itcollege.ee&amp;lt;/pre&amp;gt;&lt;br /&gt;
Eeldan varasemaid teadmisi ning usaldusväärsust. Soovin, et asi ei lõppeks jälle nii, et projektijuht on kaitsmiseelsel õhtul üleval ja lõpetab üksinda projekti.&lt;br /&gt;
Ole nii kena ja anna huvist märku enne &#039;&#039;&#039;26. veebruari&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= Lisad =&lt;br /&gt;
&lt;br /&gt;
== Challengo ==&lt;br /&gt;
&lt;br /&gt;
Challengo.me on Garage48 Tallinn 2011 raames alustatud veebiteenus.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
A social network of themed challenges, comes with a Karma profile and level-system.&lt;br /&gt;
Revenues from ads on the mobile version.&lt;br /&gt;
Team members: Ando Roots, Kristo Vaher, Valeria Gasik, Jelena Savinen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube v=&amp;quot;pPfHJD5F7sc&amp;quot; /&amp;gt;&lt;br /&gt;
[http://www.youtube.com/watch?v=pPfHJD5F7sc Jelena tutvustab Challengo teenust]&lt;/div&gt;</summary>
		<author><name>Mparast</name></author>
	</entry>
</feed>