AssistDesq
Meeskond
Anna Linskaja
Karen Grigorjan
Sergei Hristoforov
Artyom Likhachev
Idee
Kasutajatugi süsteem "Forever beta".
Ülesanne on teostada veebirakendus, mis võimaldaks hallata kasutajatoele saadetud pöördumisi. Süsteemi funktsionaalsus oleks järgmine:
• Kasutaja saab sisestada pöördumise.
• Pöördumisel peab olema kirjeldus, sisestamise aeg, lahendamise tähtaeg. Sisestamise ajaks märgitakse pöördumise sisestamise aeg, teised kohustuslikud väljad täidab kasutaja.
• Kasutajale kuvatakse aktiivsed pöördumised koos kõigi väljadega nimekirjas sorteeritult kahanevalt lahendamise tähtaja järgi.
• Pöördumised, mille lahendamise tähtajani on jäänud vähem kui 1 tund või mis on juba ületanud lahendamise tähtaja, kuvatakse nimekirjas punasena.
• Kasutaja saab nimekirjas pöördumisi lahendatuks märkida, mis kaotab pöördumise nimekirjast.
Projekt
XML
Teema
Ticket system XML
XML
<?xml version="1.0" encoding="UTF-8"?>
<tickets>
<ticket id="1" category="3">
<title><![CDATA[Title]]></title>
<description><![CDATA[Description]]></description>
<details>
<priority id="H">High</priority>
<user role="1" id="12323" email="top@kek.ee">chubakapra90</user>
<datetime>20.03.2017</datetime>
</details>
<attachments>
<attachment id="1">dsdsad</attachment>
</attachments>
</ticket>
<ticket id="2" category="1">
<title><![CDATA[Title]]></title>
<description><![CDATA[Description]]></description>
<details>
<priority id="M">Medium</priority>
<user role="2" id="3333" email="hehe@lol.ee">ivanka_trump</user>
<datetime>21.03.2017</datetime>
</details>
<attachments>
<attachment id="1">dsdsad</attachment>
</attachments>
</ticket>
</tickets>
XML schema (XSD)
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
<xs:element name="tickets">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="ticket">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string" />
<xs:element name="description" type="xs:string" />
<xs:element name="details">
<xs:complexType>
<xs:sequence>
<xs:element name="priority">
<xs:attribute name="id" type="xs:integer" use="required" />
</xs:element>
<xs:element name="user" type="xs:string">
<xs:attribute name="role" type="xs:integer" use="required" />
<xs:attribute name="id" type="xs:integer" use="required" />
<xs:attribute name="email" type="xs:string" use="required" />
</xs:element>
<xs:element name="date" type="xs:date" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="attachment" type="xs:string" />
</xs:sequence>
<xs:attribute name="id" type="xs:integer" use="required" />
<xs:attribute name="category" type="xs:integer" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XSLT 1
XSLT => HTML
DRAFT:
<?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>
<head>
<title>Pöördumised</title>
</head>
<body>
<h1>Käesolevad pöördumised</h1>
<xsl:for-each select="/tickets/ticket">
<h2>
<xsl:value-of select="name"/>
</h2>
<ul>
...
</ul>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XSLT 2
XSLT => XML
DRAFT:
<?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="xml" indent="yes"/>
<xsl:template match="/">
...
</xsl:template>
</xsl:stylesheet>