Skip to content

Opret din konkurrence

Thomas Emil Jensen edited this page Oct 6, 2023 · 13 revisions

🇩🇰 Dansk | 🇬🇧 English

Forrige: Indledende konfiguration


Anskaf et konkurrence-ID

Hver konkurrence på den samme server skal have et unikt konkurrence-ID. Det benyttes hver eneste gang, der refereres til konkurrencen, lige fra oprettelse, til opdatering af metadata og resultater, og ved visning i browseren. Derfor kan du ikke selv vælge din konkurrences ID. Det er derimod serveren, som tildeler dig et.

Dobbelttjek at du har den korrekte webserveradresse. Bevæg dig dernæst op til Competition-menuen og vælg Create new competition. Du skulle gerne få vist en lille dialogboks:

Dialog til oprettelse af konkurrence

Dialogboksen beder dig om at udfylde et enkelt felt: konkurrencens password. Det skal du bruge, når du vil modificere konkurrencen på serveren, fx ved ændring af metadata eller upload af nye resultater. Det kan ikke ændres senere, så vælg med omhu.

⚠️ Vær opmærksom på, at konkurrencens password håndteres i rå tekst. Det er på intet tidspunkt krypteret, hverken ved overførsel eller under lagring. Derfor bidrager det intet til sikkerheden, og det er yderst kritisk - mere end normalt - at du ikke genanvender et password fra en anden tjeneste. Dets eneste formål er at forhindre utilsigtet adgang til konkurrence.

Når du har indtastet et password, kan du anmode om et konkurrence-ID fra serveren. Så skulle serveren gerne oprette en ny konkurrence i databasen med et tilgængeligt ID, og indstille dens password til det, du sendte. Herefter sender den det nye konkurrence-ID tilbage, og klienten viser det i en ny dialogboks:

Dialog efter konkurrencen er oprettet

Skulle du miste dit konkurrence-ID eller password, vil du ikke længere have adgang til konkurrencen, så hvis du ikke vil arbejde med den nye konkurrence med det samme, bør du gemme ID/password-parret manuelt, så du kan finde dem igen senere. Nu er det dog nok sådan, at du ikke oprettede konkurrencen uden grund, så forsæt ved at trykke på Use Now-knappen. Det indstiller felterne Competition ID og Password til de nye værdier, og det rydder al anden konkurrence- og divisionsdata.

Definér din konkurrence

Konkurrencen eksisterer nu på serveren, men indtil videre er der ikke rigtig noget, som relaterer den til den virkelige begivenhed. Det må vi hellere rette op på ved at tilføje noget metadata.

Konkurrencen

Det er muligt at hente konkurrencens navn, arrangør og dato direkte fra MeOS, hvis informationsserveren kører. Vælg blot Import metadata from MeOS under Competition-menuen. Kun værdier fra felter, som er udfyldt i MeOS, vil overskrive værdier i klienten.

Ellers starter vi i Competition-panelet. Udfyld felterne Name og Organiser med henholdsvis stævnets og arrangørens navn. De bliver vist til brugerne, så det er tilladt at gøre sig lidt umage. Vælg herefter konkurrencens dato. Vi følger stadig retningslinjerne fra ISO 8601, så formatet er yyyy-MM-dd.

Konkurrencer på serverens forside vil blive sorteret efter dato, og hvis en eller flere konkurrencers datoer svarer til den aktuelle dato, vil de blive vist i en ekstra Live Today liste øverst på forsiden. Sørg for at vælge den tidszone, som passer til konkurrencens placering, da serveren benytter den til helt præcist at afgøre, hvornår konkurrencedagen starter og slutter. Bemærk dog, at konkurrencer uden navn ikke vises på forsiden.

Divisioner

Bevæg dig nu videre til Divisions-panelet. Det er ret tomt, så lad os oprette en ny division i konkurrencen med New-knappen. En simpel divisionseditor åbnes:

Divisionseditor

Divisionseditoren har tre felter. Det første er divisionens ID, og denne gang får du lov til at vælge. I konkurrencer med flere divisioner vil deres ID bestemme rækkefølgen af deres radioknapper, som benyttes til at vælge den viste division på serveren. Lave værdier kommer først, og divisionen med det laveste ID vil desuden blive vist som udgangspunkt.

Det andet felt er endnu et navnefelt, men denne gang gælder det naturligvis divisionens navn fremfor konkurrencens.

Til sidst bedes du angive placeringen af divisionens konfigurationsfil. Det er en fil med .divi-forlængelsen, som skabes af Divisionsmatchberegning: Lav et nyt løb, indlæs tidligere matchresultater, definér klasser og gem konfigurationen til en fil. Denne fil indlæser du så i divisionseditoren ved at trykke på ...-knappen og navigere til den.

⚠️ Sørg for ikke at ændre layoutindstillingerne i divisionskonfigurationsfilen, da serverens layout kun er kompatibelt med standardindstillingerne. Det betyder, at der ikke skal angives en særskilt CSS-fil, og at layoutet Blå overskrifter benyttes. Det anbefales, at du reserverer divisionskonfigurationsfilerne udelukkende til division-result-bridge-klienten, og at du laver separate kopier, hvis konfigurationerne også skal bruges til andre formål, såsom print eller fileksport. Det kan godt være, at layoutindstillingerne er placeret under menuen Print, men de gælder altså ikke kun udskrifter!

Gem divisionen. Den skulle gerne dukke op i divisionstabellen. Hvis stævnet indeholder flere divisioner, gentager du blot processen, indtil de alle er repræseneret.

Det er teknisk set ikke nødvendigt at definere divisionerne fuldt fra starten (divisionseditoren tillader dig endda at gemme en division, som ikke har andet end et ID), og du kan til enhver tid redigere eller slette en division ved at klikke på en række i divisionstabellen og trykke på Edit- eller Delete-knappen. Du kan dog ikke uploade resultater, hvis konkurrencen indeholder en eller flere divisioner, som ikke er fuldt definerede.

Klasseresultater

Du vil formentlig også gerne offentliggøre klasseresultater live, og til det bør du stadig bruge liveresultat.orientering.se. For at mindske antallet af links, der skal deles ud, kan du dog angive konkurrence-ID'et fra din begivenhed på liveresultat.orientering.se i et felt i Web Server-panelet. Sættes det til andet end 0, vil serveren vise en tydelig, orange knap på konkurrencesiden, som fører til klasseresultaterne. Klienten opdaterer desuden også linket i feltets titel, så det åbner klasseresultaterne med det angivne ID.

Overfør ændringer til serveren

Alt det nye metadata kan overføres til konkurrencen på serveren med et enkelt klik på Update Metadata-knappen. Dermed sendes en anmodning til serveren, som indeholder alt det metadata, der i øjeblikket vises i hovedvinduet, herunder data angivet i Competition- og Divisions-panelerne, samt konkurrence-ID'et til liveresultat.orientering.se. Prøv det! Serveren skulle gerne svare tilbage med den opdaterede konkurrences metadata pakket ind i JSON-syntaks. Så kan du se dine ændringer i browseren ved at trykke på View In Browser-knappen.

Synlighed

Åh nej... Konkurrencesiden viser kun en skuffende besked i stedet for din konkurrence? Det er faktisk helt som forventet, hvis jeg skal være ærlig, for det giver en god mulighed for at illustrere effekten af synlighedsindstillingen. Der er tre synlighedsniveauer:

Niveau Beskrivelse
PUBLIC Synlig på både forsiden og konkurrencesiden
HIDDEN Kun synlig på konkurrencesiden (kræver et direkte link)
PRIVATE Ikke synlig (standard)

Når synligheden som udgangspunkt er sat til PRIVATE, så betyder det, at serveren slet ikke viser konkurrencen til nogen some helst - også selvom de har den rigtige adresse. Ændres den til HIDDEN, vil konkurrencen derimod kunne ses, men det kræver et direkte link at finde dertil. PUBLIC udvider synligheden yderligere ved også at vise konkurrencen på serverens forside.

Til test kan det være rart at benytte HIDDEN. Dermed kan man tjekke, at konkurrencen ser rigtigt ud i browseren, uden at folk tilfældigt støder på en halvfærdig indsats. Når konfigurationen er i orden, kan man så skifte til PUBLIC - og helst nogle dage før konkurrencen, så den er klar, hvis man fx sætter et link dertil i instruktionen.

Det sidste synlighedsniveau, PRIVATE, er inkluderet som et konservativt udgangspunkt. Da konkurrencer ikke kan slettes fra serveren, kan den dog også fungere som en form for slettefunktion, men med mulighed for at "annullere sletningen" på ethvert tidspunkt.

Med det på plads, kan vi ændre synligheden. Lad os foreløbigt sætte den til HIDDEN og trykke på Updata Metadata-knappen en gang til. Nu skulle du gerne være i stand til at se konkurrencen i browseren.

Gem og indlæs konfigurationer

Der er flere forskellige måder, hvorpå du kan gemme og indlæse konfigurationer. Faktisk har du allerede mødt den første: Indlæsning af en frisk konkurrence i forbindelse med oprettelsen. Fint nok, men ikke vildt spændende, når først man er i gang. Heldigvis kan de andre metoder bruges til lidt mere.

Automatisk lagring

Når du lukker klienten, bliver alle indstillinger automatisk gemt, inklusive konkurrencens metadata, filstier, netværksadresser, logningsindstillinger og endda vinduets størrelse og position. På Windows bliver disse gemt i registreringsdatabasen, og de bliver altid indlæst, når klienten åbnes. Indstillingerne har også standardværdier, som kommer i spil, hvis en værdi ikke kan findes i registreringsdatabasen - fx første gang klienten åbnes. En "fabriksgendannelse" kan altså opnås ved at slette dataet under Computer\HKEY_CURRENT_USER\SOFTWARE\Thomilist\division-result-bridge. Vær dog forsigtig med ikke at slette noget vigtigt, såsom den sidste kopi af konkurrencens ID og password!

Manuel eksport

Den automatiske lagring er bekvem, men den rækker ikke ud over den enkelte computer. Hvad gør du så, hvis du vil overføre en konfiguration til en anden computer? Tjo, du kunne jo selvfølgelig "kopiere" opsætningen manuelt ved at bruge originalen som reference, men det er langsomt og risikerer fejl. I stedet bør du bevæge dig op i venstre hjørne, hvor der under Competition-menuen findes handlingerne Import configuration og Export configuration. Ikke overraskende kan de bruges til import og eksport af konfigurationsfiler.

Lad os starte med at vælge Export configuration. Vælg en destination på filsystemet og giv filen et navn. Det kan være enhver placering, som klienten har skriverettigheder til, men det giver god mening at placere filen sammen med andre stævnerelevante filer. Med et klik på Save bliver en JSON-fil med din konfiguration genereret. Den indeholder dog ikke alle indstillinger. Ting some vinduets geometri og logningsindstillinger gemmes ikke heri, da de har mere med brugeren eller computeren at gøre end med konkurrencen. Hvis du vil se, hvad konfigurationsfilen helt præcist indeholder, kan du åbne den med en teksteditor eller endda en browser. Bare sørg for, at du ikke redigerer filen, da den kun er tiltænkt skrivning og læsning via klienten - selv små fejl kan forårsage fejl ved indlæsning.

Og når nu vi snakker om indlæsning, kan vi lige så godt prøve den anden handling: Import configuration. Lad os først ændre nogle værdier i hovedvinduet, såsom konkurrencens navn eller arrangør, så vi kan se, om importen har nogen effekt. Vælg derefter Import configuration og udpeg den JSON-fil, vi netop fik lavet. Konkurrencens data skulle gerne vende tilbage til tilstanden ved eksport.

Eksport og import af konfigurationsfilerne er den tiltænkte måde at overføre indstillinger mellem forskellige computere på. Derudover kan konfigurationsfiler også fungere som en form for backup af konkurrencens indstillinger - herunder dens ID og password.

Konfigurationsfiler indeholder også filstier, fx til at udpege arbejdsmappen og divisionskonfigurationsfilerne. Ved overførsel på tværs af computere er filstierne kun korrekte, hvis både drevbogstav, mappestruktur og filnavn er identiske på de involverede computere. Det er dog sjældent tilfældet. Derfor forsøger klienten at validere stierne for dig, både ved opstart og import, så du bliver advaret, hvis filstierne er problematiske.

Derudover inkluderer konfigurationsfiler også lidt data om deres kilde og version. Skulle du importere en konfigurationsfil fra en ældre klientversion, bliver du med en advarsel påmindet om at dobbelttjekke værdierne efter import. Konfigurationsimport kan dog kun gennemføres, hvis kildeinformationen er til stede og korrekt. Dermed sikres det, at filen faktisk er relevant, da JSON-formatet benyttes til mange forskellige formål.


Næste: Upload resultater

Clone this wiki locally