
Ny løsning til elervernes prøvesæt. - Fra fællesdrev til browserløsning
Der er ikke noget nyt i at -ens- prøvesæt kommer som en zip-fil og løsningen har indtil nu været, at udpakke disse i en read-only mappe, på et fællesdrev, hvorefter eleven skulle tilgå nævnte og derefter klikke på index.html-filen som set herunder:

Dette har fungeret nogenlunde og ret så fejlfrit hvis man ser bort fra de 3-15 der ikke havde fulgt guiden til at komme på fællesdrevet. De få som kom med deres Chromebook hvor det hellere ikke altid var ligetil og de elever som havde problemer pga at de stod med en Win-version i S-mode, en mac med en eller anden tvivlsom sikkerhedspakker der bevirkede at programmet Tryllehat ikke kunne fuldende tilknytningen af drevet.
Det gode vil denne gamle løsning var, at det har virket ok og var ret så simpel. - En scheduled task flytter simpelthen filerne hen på fællesdrevet 08:59 hvis opgavesættet skulle være muligt at tilgå fra kl 09:00. Nå... nye tider, tid til noget nyt.
Den nye løsning
*Bemærkning: Jeg vil tro det har taget to timers tid at lave noget brugbart. Så der er stadigvæk laaaaaang vej igen til noget, som er virkelig godt.
Den nye løsning blev et sub-domæne på et allerede ibrugtaget domæne hvilket betød, at det eneste køb der har været, har været et wildcard certifikat så eleverne ikke skulle stå med en information om, at de måske var ved at bevæge sig ind på noget tvivlsomt.
Nå, løsningen kom til at se således ud:

Dvs. nu kan eleverne glemme alt om at logge på WiFi, tilføje et netværksdrev, tilgå den rigtige mappe, åbne index.html og så vælge den rigtige opgave. Nu skal eleverne i stedet tilgå eksamen.hevuc.dk, vælge f.eks. Dansk A og så er det, det. Eneste krav er at de er på vores WiFi og en nogenlunde moderne browser.
Hvordan blev denne løsning skabt på to timer?
Jo, der er tale om en simpel index-fil hvori, alt er at finde med undtagelse af lidt css og js. Resten er en simpel IIS installation og så lidt forskellige mappe samt en smule automatisering.
1). Lad os starte med noget af det simple. Vi har vores IIS-"startsted" der ser således ud.

Ser vi bort fra et par temp-filer til "sjov og ballade", så er der ikke så meget at blive forvirret over. Det er faktisk kun i index-filen og provesaets_secured, at der sker lidt.
2). Det der er at forholde sig til ift. de forskellige opgavesæts.

I mappen provesaets-secured som vi er stødt på, ovenover... finder vi dagens opgavesæt. Disse mapper er tomme/blanke indtil vi rammer det hemmelige magiske tidspunkt.Dette hedder så to minutter før terminsprøven hvor en scheduled task sørge for, at flytte filerne fra de forskellige opgavesæts ind i de respektive mapper.
*Directory listening er i øvrigt slået fra og de tilfældige anslag på tastaturet (talrække) er med til, at man ikke kan gætte sig til stien. *Ikke nogen fancy løsning men sikre, at X ikke tilgår opgave 1-2 minutter før de andre hvis vedkommende er yderst kvik.
3). Sådan får eleverne adgang på et bestemt klokkeslæt. (Igen, begrænset hvor smart/fancy løsning der kunne laves på et par timer).

Som vi kan se her, så har vi en timer der tæller ned, og lad os da lige indsætte en GIF mere herunder til de svagsynede ;-).

Starter f.eks. terminsprøven kl: 09:00. - Jamen så er det simpelthen på dette tidspunkt, at denne countdown tæller ned til. Selve opdateringen af side kl 09:00 kan vi så gøre med denne lille kodestump:
<script>
function refreshAt(hours, minutes, seconds) {
var now = new Date();
var then = new Date();
if(now.getHours() > hours ||
(now.getHours() == hours && now.getMinutes() > minutes) ||
now.getHours() == hours && now.getMinutes() == minutes &&
now.getSeconds() >= seconds) {
then.setDate(now.getDate() + 1);
}
then.setHours(hours);
then.setMinutes(minutes);
then.setSeconds(seconds);
var timeout = (then.getTime() - now.getTime());
setTimeout(function() { window.location.reload(true); }, timeout);
}
//indlaes siden igen kl 09:00:00
refreshAt(09,0,0);
</script>
Kl. 09:00 vil de så få indlæst en side med linksene til index.filen i de forskellige opgavesæts.
I tilfælde af at dette fejler, er der så en knap til manuel indslæning af siden selv om dette også kunne løses af eleven selv med et F5 el. museklik på opdaterings-knappen i browseren.
Knappen til at opdatere siden var heldigvis også let overstået, her var det bare at gøre brug af:
<div id="update-manuelt"><button type="button"
onClick="window.location.reload()">
Genindlæs siden manuelt
</button></div>
Alt-i-alt
Der er stadig lang vej igen men kun 2 elever havde problemer, til terminsprøver, sammenlignet med ca. 3-15 vi normaltsvis har. Dvs. løsningen er bedre for eleverne og løsningen var let at stable på benene. Det værste benspænd var at gøre brug af en allerede igangtagen Windows-"server" så havde der været tale om Linux med node, ja så kunne alt havde været automatiseret til den store guldmedalje på igen ting.
Nå. De to problemer der var, var en mac der var på forkerte WiFi-forbindelse og så en hver hele PCén drillede men det blev løst ved, at eleven kunne låne en fra skolen. Så det er uden rygsved man føler at løsningen er klar til eksamener hvor elever helst ikke skal gøres mere nervøse end de allerede er.
Brevstgaard Nyhedsbrev
Deltag i nyhedsbrevet for at modtage de seneste opdateringer i din indbakke.