Meeskond "partycrasher"

From ICO wiki
Jump to navigationJump to search

Idee

Veebiteenus, mis salvestab rakendustes tekkivad vead.

Erindi (ingl.k exception) tekkimisel saadab rakendus, kus viga tekkis, veebiteenusele vea kirjelduse, stack trace'i, koodifaili nime ja rea numbri. Arendajad saavad hiljem vigade andmebaasi sirvida, vea parandada ja selle andmebaasis tehtuks märkida.

Et veebiteenusele andmete saatmine käib XML abil, siis võib klientrakenduseks olla suvaline rakendus. Käesoleva projekti raames luuakse klientrakendusena Javascript teek ning näidisveeb, millega saab prooviks vigu tekitada.

Konkurendid

Kasutuslood

Arendaja/Lõppkasutaja

  • Konto registreerimine
  • Sisselogimine
  • Vea salvestamine XML paketiga
  • Vigade sirvimine
  • Vea lahendatuks märkimine

Admin

  • Kasutajate sirvimine

Lähtekood

https://github.com/tanel/partycrasher

XML

XSD

https://github.com/tanel/partycrasher/blob/master/crashreport-0-1.xsd

XML

https://github.com/tanel/partycrasher/blob/master/crashreport-0-1.xml

XSLT

https://github.com/tanel/partycrasher/blob/master/crashreport-0-1-html.xslt

Näidisväljund: http://enos.itcollege.ee/~tlebedev/partycrasher/out/crashreport-0-1.html

Veebiteenus

Klientrakendus

Retsetsioonid

Unusual suspects

Retsenseeritav XML: https://github.com/dsour/veebirakendus_kt1/blob/master/Unusual_Suspects/soiduplaan.xml

http://validator.w3.org/check validaator kinnitab, et XML on valiidne.

Natuke häirib see, et XML-is on elemendid ja atribuudid läbisegi nii eesti kui inglise keeles. Näiteks “Plaan”, “Liinid” aga object, refid. Minupoolne soovitus oleks loobuda eestikeelsest XML-ist ning kasutada läbivalt kodeerimisel inglise keelt. Soovituse mõte ei ole eelistada võõrkeelt, vaid see hõlbustaks veebiteenuse kasutamist ka väljaspool Eestit või neil, kes eesti keelt ei oska.

Ei saa aru, miks on elemendi “Plaan” all “object” ja milleks seda vaja läheb. Atribuut “type” tundub olevat mitte tüüp, vaid GUID-laadne identifikaator – kas tegu on Flashiga? XML koosneb andmetest, kuid “object” puhul on segatud andmeid ning nende esitamist – nii on “object” elemendil “style” atribuut, mis paistab olevat CSS. Võib-olla tuleks andmed ning nende esitus kuidagi lahus hoida, näiteks esitada andmeid HTML abil.

“Paev” elemendi sisu on tegelikult piiratud hulk. Siis tuleks kasutada piiranguid, näiteks siit leiab näiteid, kuidas seda võiks teha: http://www.w3schools.com/schema/schema_facets.asp

“alates” ja “kuni” kuupäevad ei sisalda ajatsooni. Ma lisaks igaks juhuks ka ajatsooni selguse mõttes.

Ei saa aru, mida tähendab atribuut “refid”, mis elemendil “Suund” on valikuline, kuid elemendil “PeatusLiinil” kohustuslik.

Kui need pisiasjad kõrvale jätta, siis väga hästi tehtud.

Meeskond "Kolmas" 2012

Retsenseeritav XML: http://enos.itcollege.ee/~lrooden/v_rak_2/notes.xml

XML valideerub (vt http://validator.w3.org/check?uri=http%3A%2F%2Fenos.itcollege.ee%2F~lrooden%2Fv_rak_2%2Fnotes.xml&charset=%28detect+automatically%29&doctype=Inline&group=0), kuid annab hoiatuse, et fail sisaldab BOM märki. Minu soovitus oleks seda märki mitte kasutada, kuivõrd XML ise deklareerib, et kodeeringuks on UTF-8. Unicode'i standard ütleb, et UTF-8 puhul ei ole BOM kohustuslik ega soovituslik (vt http://en.wikipedia.org/wiki/Byte_order_mark#cite_note-2).

Kui elemendil “note” on alati olemas ja kohustuslik “id” ning “url” alam-element, siis tuleks need võib-olla teha elemendi “note” atribuutideks.

Tundub, et “users/user” elemendid võiks hoopis kanda nime “comments/comment”, sest tegu tundub olevat kommentaaride loendiga, mitte kasutajate loendiga. Elemendil “user” on alam-element “time”, aga ei saa hästi aru, mis aeg seal on – kas see on kommentaari lisamise aeg?

Mõte kommentaari CDATA-ga kodeerida tundub kaval, sest kasutaja võib tõesti sisestada kommentaari ka XML märke. Samas saab ta seda vist teha ka oma nime puhul? St võib-olla tuleks kasutaja nimi ka CDATA-ga kodeerida, nagu ka lipikud (“tags”)?

Muus osas on XML hästi lihtne, hõlpsalt töödeldav ja loetav.

Log

  • 02.04.2012 wiki leht, githubi repo, XSD, XML
  • 03.04.2012 XSD ja XML-ile rohkem dimensioone; XLST
  • 04.04.2012 Windows 8, Visual Studio ja SQL Serveri installimine VirtualBoxi
  • 08.04.2012 Retsensioonide kirjutamine.