Vil den give mig min fil tilbage?
Din .fet-fil er et arbejdsdokument, og før du bruger den i et værktøj, er der ét spørgsmål, der er værd at stille – og én to-minutters test, der giver svaret.

En .fet-fil ser ikke ud af meget. Et par hundrede kilobytes XML, der ligger i en mappe ved siden af sidste års fil.
Men du ved, hvad der ligger bag. De to uger i august, der blev brugt på at regne ud, at naturvidenskabsbygningen ikke kan huse to praktiske øvelser på samme tid. Kompromiset med sprogfagslederen, som krævede tre samtaler. De elleve constraints, du tilføjede én efter én, hver gang efter noget gik galt, som du aldrig vil se igen.
Intet af dette er skrevet ned andre steder. Det eksisterer som constraints i den fil, og hvis den går tabt, mister du ikke bare et dokument — du mister logikken, og du finder ud af det i september, når din Skema ikke længere giver mening.
Så når et webværktøj tilbyder at åbne den, er spørgsmålet ikke, om værktøjet er nyttigt. Spørgsmålet er: vil det give mig min fil tilbage?
Hvorfor svaret normalt er "ikke helt"
De fleste værktøjer, der læser en .fet-fil, gør det på den åbenlyse måde. Nogen gennemgår formatet, skriver kode til de dele, de har brug for — Lærer, Emne, Lokale, aktiviteter, de almindelige constraints — og udgiver det.
Det virker, men det fejler i det stille. FET har et stort ordforråd af constraints, og det vokser med hver udgivelse. Alt, hvad værktøjets forfatter ikke har implementeret, bliver simpelthen ikke læst, og når filen skrives ud igen, bliver det, der aldrig blev læst, heller ikke skrevet. Filen kan stadig åbnes. Den er stadig gyldig. Den mangler bare de tre constraints, du gik mest op i, og intet sted blev det nævnt.
Det er den fejl, man bør designe imod, fordi den er usynlig præcis i det øjeblik, hvor du gerne ville have opdaget den.
Hvad vi gør i stedet
FET Explorer forsøger ikke at forstå hver eneste constraint. Den forsøger at lade være med at få brug for det.
Når en fil læses, gemmes hver constraint under sit eget navn, med sit eget indhold bevaret som det er — uanset om denne applikation har nogen anelse om, hvad den constraint betyder. Når du downloader, skrives hver enkelt ud igen under samme navn, med samme indhold og i samme rækkefølge.
Der er ingen liste over understøttede constraint-typer, fordi der ikke er noget at understøtte. En constraint-type, der er introduceret i en FET-udgivelse, vi aldrig har hørt om, rejser igennem uden at blive rørt, af samme årsag som et ord, du ikke kender, overlever at blive kopieret i hånden.
I de Skemaer, der ligger i vores eget korpus i dag, er det 2.987 constraints fordelt på 20 forskellige typer, der kommer frem og tilbage uden at nogen af dem er specialtilfælde i eksportkoden.
Vægtninger kommer tilbage som vægtninger. En constraint sat til 80% er stadig 80% — ikke afrundet, ikke genberegnet, ikke forfremmet til "til". En inaktiv constraint kommer tilbage som inaktiv. Dine Kommentarer kommer tilbage.
Filen bliver tjekket, før du får den
Der er én ting, vi vil afbryde for.
En .fet-fil, som FET nægter at åbne, er værre end ingen fil overhovedet: du finder først ud af det til sidst, uden anelse om hvilken af de mange tusinde poster der er årsagen. Derfor bliver filen bygget og inspiceret, før den bliver udleveret.

Hvis noget, der er strengt nødvendigt, mangler — en aktivitet uden Emne, en lektion der peger på en Lærer, som ikke er på listen over Lærere — får du besked, med de faktiske poster navngivet. Ting, der sikkert kan sættes til standardværdier, bliver det og bliver aldrig dit problem.
Hvis filen er gyldig, men ser tynd ud, får du en advarsel og en Download alligevel-knap. Det er et råd, ikke en blokering.
Og hvis selve tjekket fejler, fortsætter downloadingen bare. Et tjek, der ikke kunne danne en mening, er ikke en grund til at stå mellem dig og din egen fil.
Tag ikke vores ord for det — brug to minutter
Dette er den del, der er værd at gøre, fordi det næsten intet koster, og det afklarer spørgsmålet permanent.
- Upload din
.fet-fil. - Download den med det samme igen, før du ændrer noget.
- Sammenlign de to filer.

De bør kun afvige i formatering — indrykning, attribut-mellemrum, rækkefølgen af et par valgfrie felter — og intet andet. Samme aktiviteter, samme constraints, samme vægtninger, samme Kommentarer.
Hvis de to filer afviger i indhold, er det en fejl, og vi vil gerne høre om det. Det er ikke noget, du skal arbejde udenom, og ikke noget, du bør opdage i september.
Én ærlig undtagelse
Hvis din Skema blev bygget ud fra regneark frem for en .fet-fil, er der en detalje, der er værd at kende. CSV-rækker indeholder ingen FET-aktivitets-id'er, og placerings-constraints har brug for stabile id'er for at kunne pege på individuelle lektioner.
I stedet for at nægte, tildeler vi disse id'er, mens vi bygger filen — og gemmer dem, så de ikke ændrer sig. En anden download matcher den første. Du kan bygge en Skema ud fra regneark og stadig få en sammenhængende .fet-fil ud på den anden side.
Hvad dette ikke er
FET Explorer genererer ikke Skemaer. Den optimerer ikke, genberegner ikke eller forbedrer ikke det, FET har produceret. FET gør det hårde arbejde; dette værktøj læser, præsenterer, deler og redigerer resultatet.
Hvilket er præcis grunden til, at round-trip-processen betyder noget. Et værktøj, der kun viser dig en Skema, kan tillade sig kun at forstå halvdelen af filen. Et værktøj, du måske redigerer i, er nødt til at give det hele tilbage.