Ulgurmutid

From ICO wiki
Revision as of 00:04, 30 May 2013 by Kpaakspu (talk | contribs)
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tiimi liikmed

  • Kristi Paakspuu
  • Madis Peep
  • Mardo Pahk


Idee

Idee on luua automatiseeritud external javascripti failide loomise keskkond mille sisu saab hallata antud keskkonnas ning saada ka mingisugust statistikat (pageviews).

XML

XML

<?xml version="1.0" encoding="utf-8" ?>
<Tags>
  <Tag ID="1" Hash="ef829858697fad3a25da0692aaaeca0b">
    <Timestamps>
      <Timestamp>1363536429597</Timestamp>
      <Timestamp>1363536436040</Timestamp>
      <Timestamp>1363536463034</Timestamp>
      <Timestamp>1363536470586</Timestamp>
    </Timestamps>
    <Stats>
      <Pageviews>
        <Total>4</Total>
        <Today>4</Today>
        <Last_hour>2</Last_hour>
      </Pageviews>
    </Stats>
    <Description URL="mikumaa.ee">
      Mingi mikumaa site.
    </Description>
    <Script type="javascript/text">
      alert('Hello');
    </Script>
  </Tag>
  <Tag ID="2" Hash="3714b76ba5767f5a4c490a29db299136">
    <Timestamps>
      <Timestamp>1363539079235</Timestamp>
      <Timestamp>1363539089011</Timestamp>
      <Timestamp>1363539098178</Timestamp>
      <Timestamp>1363539106934</Timestamp>
      <Timestamp>1363539126730</Timestamp>
      <Timestamp>1363539137630</Timestamp>
      <Timestamp>1363539146094</Timestamp>
    </Timestamps>
    <Stats>
      <Pageviews>
        <Total>7</Total>
        <Today>4</Today>
        <Last_hour>1</Last_hour>
      </Pageviews>
    </Stats>
    <Description URL="makaronid.ee">
      Leht makaronidest.
    </Description>
    <Script type="javascript/text">
      alert('Hello V66ld!');
    </Script>
  </Tag>
  <Tag ID="3" Hash="eff7d5dba32b4da32d9a67a519434d3f">
    <Timestamps>
      <Timestamp>1363539345886</Timestamp>
      <Timestamp>1363539354250</Timestamp>
      <Timestamp>1363539361690</Timestamp>
      <Timestamp>1363539370959</Timestamp>
      <Timestamp>1363539379614</Timestamp>
      <Timestamp>1363539386845</Timestamp>
      <Timestamp>1363539395532</Timestamp>
    </Timestamps>
    <Stats>
      <Pageviews>
        <Total>7</Total>
        <Today>7</Today>
        <Last_hour>7</Last_hour>
      </Pageviews>
    </Stats>
    <Description URL="bad.com">
      Bad.com - the baddest site on the web.
    </Description>
    <Script type="javascript/text">
      alert('Oh harro!');
    </Script>
  </Tag>
</Tags>

XML Schema

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Tags">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="Tag">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Timestamps">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="Timestamp" type="xs:unsignedLong" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Stats">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Pageviews">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Total" type="xs:unsignedByte" />
                          <xs:element name="Today" type="xs:unsignedByte" />
                          <xs:element name="Last_hour" type="xs:unsignedByte" />
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
              <xs:element name="Description">
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:string">
                      <xs:attribute name="URL" type="xs:string" use="required" />
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
              <xs:element name="Script">
                <xs:complexType>
                  <xs:simpleContent>
                    <xs:extension base="xs:string">
                      <xs:attribute name="type" type="xs:string" use="required" />
                    </xs:extension>
                  </xs:simpleContent>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="ID" type="xs:unsignedByte" use="required" />
            <xs:attribute name="Hash" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

XSLT 1

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
  <xsl:output method="html" indent="yes"/>

  <xsl:template match="/">
    <html>
      <body>
        Kõigide scriptide hashid (nende järgi tuntakse ära mis linki päriti).
        <ul>
          <xsl:for-each select="Tags/Tag">
            <li>
              <xsl:value-of select="@Hash"/>
            </li>
          </xsl:for-each>
        </ul>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

XSLT 2

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
  <xsl:output method="html" indent="yes"/>

  <xsl:template match="/">
      <html>
        <body>
          Scriptid millele lingid hakkavad viitama
          <ul>
            <xsl:for-each select="Tags/Tag">
              <li><xsl:value-of select="Script"/></li>
            </xsl:for-each>
          </ul>
        </body>
      </html>
    </xsl:template>
</xsl:stylesheet>

XSLT 3

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
  <xsl:output method="html" indent="yes"/>

  <xsl:template match="/">
    <html>
      <body>
        Kõik timestampid. Kui nüüd kombineerida need hashiga, siis saame teada mis kellaajal mingit scripti on laetud ning kui palju (sisuliselt mingi scripti pageview-de arv).
        <ol>
          <xsl:for-each select="Tags/Tag">
            Järgmised timestampid:
            <xsl:for-each select="Timestamps/Timestamp">
              <li>
                <xsl:value-of select="."/>
              </li>
            </xsl:for-each>
            <br/><br/>
          </xsl:for-each>
        </ol>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>


API dokumentatsioon

Alert

  • GetAllAlerts(string id, string pass) Tagastab kasutaja kõik Alertid.
  • GetAlertById(string id, string pass, int alertId) Tagastab Alerti selle Id järgi.
  • Post(string id, string pass, int scriptId, string email, int pageV) Loob uue Alert-i skriptile.
  • Put(string id, string pass, int alertId, int scriptId, string email, int pageV) Uuendab Alert-i andmeid.
  • Delete(string id, string pass, int alertId) Kustutab Alert-i.

    Hit

  • GetScript(string hash) Tagastab skripti sisu selle hash-i järgi. Hash käitub Id-na ja on turvalisem, kui tavaline Id.

    Script

  • Get(string id, string pass) Tagastab kõik kasutaja skriptid.
  • GetAllSitesPageview(string id, string pass) Tagastab kõik kasutaja leheküljed ja lehekülastatavusearvud.
  • GetSitePageviewsById(string id, string pass, int scriptId) Tagastab skripti lehekülastatavuse selle skripti Id järgi.
  • GetScriptById(string id, string pass, int scriptId) Tagastab skripti selle Id järgi.
  • Post(string id, string pass, [FromBody]Script temp) Loob uue skripti kasutajale.
  • Put(string id, string pass, int scriptId, [FromBody]Script temp) Uuendab skripti, mille Id on antud.
  • Delete(string id, string pass, int scriptId) Kustutab skripti selle skripti Id järgi.

    Url

  • GetScriptUrlById(string id, string pass, int scriptId) Tagastab skripti (valitud skripti Id järgi) URL-i.
  • GetScriptUrlList(string id, string pass) Tagastav kasutaja kõikide skriptide URL-id.

    User

  • Get(string id,string pass) Teeb kasutaja parooli hash-i kujule. Kasutatakse MD5Hash-i.
  • Post(string id, string pass, string email, string first, string last) Loob uue kasutaja.