• No results found

All data som ska lagras sparas i filer i XML- eller JSP-format. Nedan re-

dogörs för de olika typer av filer som används. AllaXML-filer har var sin

Document Type Definition-fil, (DTD-fil). Dessa finns i bilaga H.

8.5.1 Administratörer

Administratörerna är de som kan logga in i designapplikationen och till exempel publicera enkäter. Vi har valt att enbart lagra deras användar- namn och lösenord, men i framtiden kan mera information om administ- ratörerna vara passande, till exempel namn, e-postadress och eventuell behörighetsnivå. Denna fil lagras i nuläget okrypterad. Nedan visasXML-

strukturen för filen där administratörernas inloggningsuppgifter finns:

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE users SYSTEM "../dtd/users.dtd"> <users>

<user userName="123" password="456"/> <user userName="456" password="789"/> </users>

8.5.2 Enkätundersökningar

Undersökningsfilen kopplar samman en frågesamling och en målgrupp samt innehåller det meddelande som enkätskaparen vill att respondenter- na ska ta del av via e-postmeddelandet. I denna fil anges även enkätun- dersökningens titel och namn. Titeln behöver inte vara unik men namnet är alltid unikt och detsamma som filens filnamn.

Som ett underelement tillsurveylagras information om vilka respon-

denter som redan har besvarat enkäten och därför inte ska kunna logga in igen.

8.5. Lagrade data 77

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE survey SYSTEM "../dtd/surveys.dtd"> <survey title="Västerskolans allmänhälsa"

questionnaireFileName="allman_halsa.xml" responderFileName="vasterskolan_ak9.xml" message="Hej! Svara på enkäten! Hälsningar Louise Andersson, Skolsköterska"

name="1128502282363" /> <expiredResponders>

<user userName="hrgfaerg" /> </expiredResponders>

TillhörandeDTDfinns i bilaga H.

8.5.3 Frågesamlingar

Frågesamlingsfilerna innehåller de frågor som enkäten består av. Nedan visas XML-strukturen för en frågesamlingsfil. För varje fråga specificeras

vilken typ av fråga det handlar om, på vilken plats i enkäten som frågan ska hamna, en rubrik, en beskrivning samt vilka svarsalternativ som finns.

Filerna kan ha vilket filnamn som helst, men det måste vara unikt. Frågesamlingen ovan har först en antingen-eller-fråga om responden- ten känner sig frisk eller inte och därefter följer en flervalsfråga om vilka typer av sportaktiviteter som respondenten utför på fritiden.

De frågetyper som finns samt vilka underelement som de kan ha be- skrivs i tabell 8.5 på sidan 78. En utförligare beskrivning finns i stycke 5.2. Samtliga frågetyper har attributen heading, description, type och sortOrder, förutom rubriktypen, som saknar attributetsortOrder. Un-

derelementen kan i sin tur ha attribut, och de som har det beskrivs i tabell 8.6 på sidan 78.

Ett större exempel med alla frågetyper representerade finns i bilaga I, och i bilaga J finns en skärmbild av samma demonstrationsenkät som den visas för respondenten.

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE questionnaire SYSTEM

"../dtd/questionnaires.dtd"> <?xml-stylesheet type="text/xsl"

href="../xsl/present_questionnaire.xsl"?>

Tabell 8.5: Frågetyper med svarsalternativ

Frågetyp Beteckning Underelement

Antingen-eller-frågor radio option, subques- tion

Flervalsfrågor checkbox option, subques-

tion

Fritextfrågor med en rad text columns

Fritextfrågor med flera rader textarea columns,rows

Frågor med numeriska svar numerical minValue, maxVa- lue,columns

Frågor med skala scale minValue, max-

Value, minLabel, maxLabel

Rubrik heading Underelement sak-

nas.

Tabell 8.6: Frågetypernas underelement Underelement Attribut

option text,sortOrder subquestion text,sortOrder

name="allman_halsa" description="I en ny stor

undersökning studerar vi det allmäna hälsotillståndet hos eleverna på skolan. Den här enkäten ligger till grund för resultatet.">

<question heading="Känner du dig frisk?"

description="" type="radio" sortOrder="001"> <option text="Ja" sortOrder="001" />

<option text="Nej" sortOrder="002" /> </question>

<question

heading="Utövar du någon sportaktivitet på fritiden?"

8.5. Lagrade data 79

description="Markera de sporttyper som du utövar."

type="checkbox" sortOrder="002">

<option text="Bollsport" sortOrder="001" /> <option text="Motorsport" sortOrder="002" /> <option text="Ensamsport" sortOrder="003" /> <option text="Annan sport" sortOrder="004" /> </question>

</questionnaire>

8.5.4 Målgrupper

Varje målgrupp sparas i enXML-fil, med den struktur som visas nedan.

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE responders SYSTEM "../dtd/responders.dtd"> <responders title="Åk 9 Västerskolan"

name="ak9_vaster_2005-08"> <responder userName="nriofvng" password="jsldugkl" eMailAddress="jonas@webbservern.se" /> <responder userName="hrgfaerg" password="ehrgserh" eMailAddress="julia@webbservern.se" /> </responders>

Användarnamn och lösenord är engångsuppgifter, och parametern

expiredanger om respondenten har besvarat enkäten eller inte.

8.5.5 Publicerade enkäter

Publicerade enkäter sparas i var sin JSP-fil, som har genererats från mot-

svarande frågesamlingsfil tillsammans med dess XSL-fil. Nedanstående HTML-kod är den som genereras frånJSP-filen när enkäten ska visas upp i

webbläsaren.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html> <head>

content="text/html; charset=UTF-8">

<title>Besvara enk&auml;t</title> <base href="http://localhost:8080/

questionnaireAnswerer/show_questionnaire.jsp">

<link type="text/css" href="stylesheets/stylesheet.css" rel="stylesheet">

<script type="text/javascript"> <!--Begin JavaScript.

function confirmSubmit() {

var confirmed = confirm("Vill du att svaren ska skickas? \rOK skickar svaren och Avbryt avbryter

skickandet."); return confirmed; } // End JavaScript.--></script> </head> <body> <div id="nomenucontent"> <h1>Allm&auml;nh&auml;lsa kort</h1>

<p>I en ny stor unders&ouml;kning studerar vi det allm&auml;na h&auml;lsotillst&aring;ndet hos eleverna p&aring; skolan. Den h&auml;r enk&auml;ten ligger till grund f&ouml;r resultatet.</p>

<p><span class="error"><br> </span></p>

<form onSubmit="return confirmSubmit();" accept-charset="UTF-8" method="POST"

action="action/answersurvey?choice=receiveAnswers">

<h2>001. K&auml;nner du dig frisk?</h2> <p></p>

<p class="instruction">Svara genom att v&auml;lja ett av alternativen.</p>

<p><span class="error"></span></p>

<p><input type="radio" name="value(001)" value="Ja"> Ja&nbsp;

<input type="radio" name="value(001)" value="Nej"> Nej&nbsp;

8.5. Lagrade data 81

<input type="hidden" name="value(001)" value=""></p>

<h2>002. Ut&ouml;var du n&aring;gon sportaktivitet p&aring; fritiden?</h2>

<p>Markera de sporttyper som du ut&ouml;var.</p> <p class="instruction">Svara genom att v&auml;lja

s&aring; m&aring;nga alternativ du vill.</p> <p><input type="checkbox" name="value(002o001)"

value="Bollsport">Bollsport&nbsp;

<input type="checkbox" name="value(002o002)" value="Motorsport">Motorsport&nbsp;

<input type="checkbox" name="value(002o003)" value="Ensamsport">Ensamsport&nbsp;

<input type="checkbox" name="value(002o004)" value="Annan sport">Annan sport&nbsp;</p>

<p class="notification">Dina svar kommer att behandlas i enlighet med Personuppgiftslagen (1998:204).</p> <p><input value="Skicka svar" type="submit"></p> </form>

</div> </body> </html>

8.5.6 Enkätsvar

Varje respondents svar lagras i en separat fil. Nedan visasXML-strukturen

för en enkätsvarsfil. Filens innehåll lagras krypterat.

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE response SYSTEM "../dtd/answers.dtd"> <response id="1128502282363" userName="nriofvng">

<question sortOrder="1"> <answer>Ja</answer> </question> <question sortOrder="2"> <answer>Ensamsport</answer> <answer>Annan sport</answer> </question> </response>