Vés al contingut

Em tornarà el meu fitxer?

Importing from FET 5 min de lectura

El vostre fitxer .fet és un horari de treball; abans de lliurar-lo a qualsevol eina, hi ha una pregunta que val la pena fer-se i una prova de dos minuts que la respon.

Un fitxer .fet no sembla gran cosa. Uns quants centenars de kilobytes d'XML, en una carpeta al costat del de l'any passat.

Però tu saps què hi ha al darrere. La quinzena d'agost dedicada a resoldre que l'edifici de ciències no pot acollir dues pràctiques alhora. El compromís amb el cap de departament de llengües que va requerir tres converses. Les onze restriccions que vas afegir una a una, cadascuna després que alguna cosa anés malament i que no vols tornar a veure mai més.

Res d'això està escrit enlloc més. Existeix com a restriccions en aquest fitxer, i si es perd, no perds un document: perds el raonament, i te n'adones al setembre quan l'horari deixa de tenir sentit.

Així doncs, quan una eina web s'ofereix per obrir-lo, la pregunta no és si l'eina és útil. És: em retornarà el meu fitxer tal com estava?

Per què la resposta sol ser "no del tot"

La majoria d'eines que llegeixen un .fet ho fan de la manera òbvia. Algú analitza el format, escriu codi per a les parts que necessita —professors, matèries, aules, activitats, les restriccions comunes— i ho publica.

Això funciona, però falla silenciosament. FET té un gran vocabulari de restriccions que creix amb cada versió. Qualsevol cosa que l'autor de l'eina no hagi implementat simplement no es llegeix, i quan el fitxer es torna a desar, el que no s'havia llegit no s'escriu. El fitxer s'obre igualment. Continua sent vàlid. Només li falten les tres restriccions que més t'importaven, i enlloc es diu res al respecte.

Aquesta és la fallada contra la qual val la pena dissenyar, perquè és invisible exactament en el moment en què voldries detectar-la.

Què fem nosaltres en canvi

FET Explorer no intenta entendre cada restricció. Intenta no haver-ho de fer.

Quan es llegeix un fitxer, cada restricció s'emmagatzema amb el seu propi nom, amb el seu contingut tal qual, tant si aquesta aplicació sap què significa la restricció com si no. Quan el descarregues, cadascuna es torna a escriure amb el mateix nom, el mateix contingut i el mateix ordre.

No hi ha cap llista de tipus de restriccions compatibles, perquè no hi ha res a suportar. Un tipus de restricció introduït en una versió de FET de la qual mai hem sentit a parlar viatja intacte, per la mateixa raó que una paraula que no coneixes sobreviu en ser copiada a mà.

En els horaris que tenim al nostre propi corpus avui dia, això suposa 2.987 restriccions de 20 tipus diferents, que van i tornen sense que cap d'elles sigui un cas especial en el codi d'exportació.

Els pesos tornen com a pesos. Una restricció establerta al 80% continua sent del 80%: no s'arrodoneix, no es torna a derivar, ni es promociona a "activada". Una restricció inactiva torna inactiva. Els teus comentaris tornen.

El fitxer es comprova abans que el rebis

Hi ha una cosa per la qual sí que ens aturarem.

Un .fet que FET es nega a obrir és pitjor que no tenir cap fitxer: te n'assabentes al final del procés, sense cap pista de quin dels milers de registres és el culpable. Per això, el fitxer es construeix i s'inspecciona abans de ser lliurat.

La fila de descàrrega, amb la subetiqueta de comprovació a sota
La fila de descàrrega, amb la subetiqueta de comprovació a sota

Si falta alguna cosa realment necessària —una activitat sense matèria, una lliçó que apunta a un professor que no és a la llista de professors— se t'avisarà, indicant els registres concrets. Les coses que es poden establir per defecte de manera segura, s'estableixen i no es converteixen mai en el teu problema.

Si el fitxer és vàlid però sembla incomplet, rebràs un avís i un botó de Descarregar igualment. Això és un consell, no una restricció.

I si la comprovació en si falla, la descàrrega simplement continua. Una comprovació que no ha produït cap opinió no és motiu per interposar-se entre tu i el teu fitxer.

No ens creguis només a nosaltres: dedica-hi dos minuts

Aquesta és la part que val la pena fer, perquè no costa gairebé res i resol la qüestió permanentment.

  1. Puja el teu fitxer .fet.
  2. Descarrega'l de nou immediatament, sense canviar res.
  3. Compara els dos fitxers.
El sistema de comprovació d'anada i tornada informant que tot és correcte: el que s'ha exportat coincideix amb el que s'ha importat.
El sistema de comprovació d'anada i tornada informant que tot és correcte: el que s'ha exportat coincideix amb el que s'ha importat.

Haurien de diferir en el format —sagnat, espaiat d'atributs, l'ordre d'uns quants camps opcionals— i en res més. Les mateixes activitats, les mateixes restriccions, els mateixos pesos, els mateixos comentaris.

Si els dos fitxers difereixen en el contingut, això és un error i volem saber-ho. No és una cosa per esquivar, i no és una cosa que hauries de descobrir al setembre.

Una excepció honesta

Si el teu horari es va construir a partir de fulls de càlcul en lloc d'un .fet, hi ha un detall que val la pena conèixer. Les files CSV no porten identificadors d'activitat de FET, i les restriccions de col·locació necessiten identificadors estables per apuntar a lliçons individuals.

En lloc de negar-nos, assignem aquests identificadors mentre construïm el fitxer i els emmagatzemem, de manera que no canviïn. Una segona descàrrega coincideix amb la primera. Pots construir un horari des de fulls de càlcul i obtenir un .fet coherent a l'altra banda.

Què no és això

FET Explorer no genera horaris. No optimitza, no resol de nou, ni millora el que FET ha produït. FET fa la part difícil; això llegeix, presenta, comparteix i edita el resultat.

I és exactament per això que el procés d'anada i tornada és important. Una eina que només et mostra un horari pot permetre's entendre només la meitat del fitxer. Una eina amb la qual podries editar ha de retornar-ho tot tal com estava.

Prova-ho amb el teu propi fitxer →