¿Me devolverá mi archivo?
Tu archivo .fet es un término de trabajo; antes de usar cualquier herramienta, hay una pregunta que vale la pena hacerse y una prueba de dos minutos que la responde.

Un archivo .fet no parece gran cosa. Unos pocos cientos de kilobytes de XML, guardados en una carpeta junto a los del año pasado.
Pero usted sabe lo que hay dentro. La quincena de agosto dedicada a resolver que el bloque de ciencias no puede albergar dos prácticas a la vez. El compromiso con el jefe de departamento de idiomas que requirió tres conversaciones. Las once restricciones que añadió una a una, cada una después de que algo saliera mal y que no quiere volver a ver jamás.
Nada de eso está escrito en ningún otro lugar. Existe como restricciones en ese archivo, y si se pierde, no pierde un documento: pierde el razonamiento, y se entera en septiembre cuando el horario deja de tener sentido.
Así que cuando una herramienta web le ofrece abrirlo, la pregunta no es si la herramienta es útil. Es: ¿me devolverá mi archivo tal cual?
Por qué la respuesta suele ser "no exactamente"
La mayoría de las herramientas que leen un .fet lo hacen de la forma obvia. Alguien analiza el formato, escribe código para las partes que necesita —profesores, materias, aulas, actividades, las restricciones comunes— y lo publica.
Eso funciona, pero falla silenciosamente. FET tiene un amplio vocabulario de restricciones y crece con cada versión. Todo lo que el autor de la herramienta no implementó simplemente no se lee, y cuando el archivo se vuelve a guardar, lo que nunca se leyó no se escribe. El archivo sigue abriéndose. Sigue siendo válido. Solo le faltan las tres restricciones que más le importaban, y nadie dijo nada al respecto.
Ese es el fallo contra el que merece la pena diseñar, porque es invisible justo en el momento en que usted querría detectarlo.
Qué hacemos nosotros en su lugar
FET Explorer no intenta entender todas las restricciones. Intenta no necesitar hacerlo.
Cuando se lee un archivo, cada restricción se almacena por su propio nombre, manteniendo su contenido tal cual, independientemente de si esta aplicación sabe qué significa esa restricción. Cuando usted descarga el archivo, cada una se escribe de nuevo con el mismo nombre, el mismo contenido y en el mismo orden.
No hay una lista de tipos de restricciones admitidas, porque no hay nada que admitir. Un tipo de restricción introducido en una versión de FET de la que nunca hemos oído hablar viaja intacto, por la misma razón que una palabra que usted no conoce sobrevive al ser copiada a mano.
En los horarios que tenemos en nuestro propio corpus hoy en día, eso supone 2.987 restricciones de 20 tipos diferentes, que van y vienen sin que ninguna de ellas sea un caso especial en el código de exportación.
Los pesos vuelven como pesos. Una restricción establecida al 80% sigue estando al 80%: no se redondea, no se vuelve a calcular, no se promociona a "activada". Una restricción inactiva vuelve inactiva. Sus comentarios vuelven.
El archivo se comprueba antes de que usted lo reciba
Hay una cosa por la que sí interrumpiremos el proceso.
Un .fet que FET se niega a abrir es peor que no tener archivo: se entera al final del proceso, sin ninguna pista de cuál de los miles de registros es el culpable. Por eso, el archivo se construye y se inspecciona antes de entregárselo.

Si falta algo realmente necesario —una actividad sin materia, una lección que apunta a un profesor que no está en la lista de profesores— se le informará, nombrando los registros exactos. Las cosas que pueden establecerse por defecto de forma segura se establecen así y nunca se convierten en su problema.
Si el archivo es válido pero parece incompleto, recibirá un aviso y un botón de Descargar de todos modos. Eso es un consejo, no una barrera.
Y si la comprobación falla al ejecutarse, la descarga simplemente continúa. Una comprobación que no produjo ninguna opinión no es motivo para interponerse entre usted y su propio archivo.
No se fíe de nuestra palabra: tómese dos minutos
Esta es la parte que merece la pena hacer, porque no cuesta casi nada y resuelve la cuestión permanentemente.
- Suba su archivo
.fet. - Descárguelo de nuevo inmediatamente, antes de cambiar nada.
- Compare los dos archivos.

Deberían diferir en el formato —sangría, espaciado de atributos, el orden de algunos campos opcionales— y en nada más. Mismas actividades, mismas restricciones, mismos pesos, mismos comentarios.
Si los dos archivos difieren en el contenido, eso es un error y queremos saberlo. No es algo que deba evitarse, y no es algo que deba descubrir en septiembre.
Una excepción honesta
Si su horario se creó a partir de hojas de cálculo en lugar de un .fet, hay un detalle que merece la pena conocer. Las filas CSV no llevan identificadores de actividad de FET, y las restricciones de ubicación necesitan identificadores estables para señalar lecciones individuales.
En lugar de negarnos, asignamos esos identificadores al construir el archivo y los almacenamos para que no cambien. Una segunda descarga coincide con la primera. Puede crear un horario a partir de hojas de cálculo y aun así obtener un .fet coherente al otro lado.
Lo que esto no es
FET Explorer no genera horarios. No optimiza, no resuelve de nuevo ni mejora lo que FET produjo. FET hace la parte difícil; esto lee, presenta, comparte y edita el resultado.
Que es exactamente la razón por la que el proceso de ida y vuelta es importante. Una herramienta que solo le muestra un horario puede permitirse entender la mitad del archivo. Una herramienta en la que usted pueda editar tiene que devolverle todo el contenido.