Ir o contido principal

Restricións

As regras que deciden onde poden ir as actividades, como engadir unha, o que significa realmente o peso e por que importa a orde da lista.

As actividades din o que se debe ensinar. As restricións din onde pode ir: este profesor non está dispoñible o venres, ese laboratorio só pode albergar unha clase á vez, esta materia non debería ser a última lección do día.

Divídense en dúas seccións, porque FET os trata como dous problemas separados. As restricións de tempo tratan sobre cando. As restricións de espazo tratan sobre onde.

Time constraints as FET models them, in a plain list rather than nested dialogs.
Time constraints as FET models them, in a plain list rather than nested dialogs.

As dúas regras que non escribiches

Cada horario leva dúas restricións que non creou: unha regra básica obrigatoria para o tempo e outra para o espazo. Son a base — ningún profesor ou grupo de estudantes en dous lugares á vez, ningunha aula reservada dúas veces.

FET requíreos, polo que sempre teñen o peso completo e non se poden desactivar. Aparecen na lista marcados como Obrigatorio, co seu interruptor bloqueado.

O peso é a idea principal

Calquera outra restrición leva un peso entre 0 e 100. Podes escoller ese número nalgúns tipos e noutros non — a regra está máis abaixo nesta páxina.

O 100% é ríxido. Debe cumprirse. Se non pode, non hai horario.

Por debaixo do 100% é unha preferencia, e o seu peso indica a forza coa que a queres. Unha regra ao 95% será respectada a menos que respectala faga imposible outra cousa; unha regra ao 40% é un empurrón. Isto é o que permite que un horario sexa bo en lugar de simplemente legal — podes expresar preferiría non facelo, pero fareino se teño que facer, que é como funcionan as escolas reais.

A lista etiqueta cada fila como Ríxida ou Suave exactamente con esta base, e podes filtrar a lista por rango de peso para atopar todo o que fixeches ríxido, ou todo o que deixaches como un desexo.

A maioría dos tipos de restrición non se poden ponderar en absoluto. FET mantén unha lista dos tipos que podes ponderar libremente, e rexeita calquera tipo que non estea nela.

⛔ Isto non é unha formalidade. FET rexeita o valor dúas veces: o seu propio diálogo non o gardará, e o seu xerador detense antes de comezar. Un ficheiro que leva un destes tipos por debaixo do 100% non che dá un horario peor. Non che dá ningún.

O editor desactiva o campo de peso para eses tipos e diche por que. Polo tanto, non podes escribir un número que FET rexeitaría.

Dous casos máis forzan o 100%:

  • as regras obrigatorias anteriores
  • unha regra de aula preferida para unha aula virtual que foi fixada a aulas reais específicas — un requisito propio de FET. Esta depende do que contén a regra, non do seu tipo, polo que cambia a medida que editas a lista de aulas.

Hai unha pequena complicación. Un ficheiro importado de FET nunca se axusta, mesmo se leva unha desas regras por debaixo do peso completo. Reescribir silenciosamente o ficheiro de alguén rompería a promesa de que o que entra sae. Así que a lista mostra o peso que está gardado, coa razón mostrada como unha información emerxente, en lugar de mostrarche un número que non está no ficheiro.

Engadir unha

Engadir abre un selector de cada tipo de restrición que FET soporta, agrupado por categoría e buscable. Hai moitos, e a caixa de busca é o camiño — escribe aula, ou oco, ou consecutivo, e mira o que existe.

Escoller un tipo abre o seu editor, que está construído a partir da propia definición dese tipo, polo que os campos que obtés son os campos que ese tipo realmente ten. Ao seu lado hai un panel de axuda que describe o que fai a restrición. Paga a pena lelo: os nomes das restricións son concisos, e varios tipos son veciños próximos que difiren nun aspecto importante.

Onde unha restrición necesita franxas horarias, non enches unha lista — obtés unha grade de días × horas e fas clic nas celas. Un puñado de tipos necesitan conxuntos de franxas en lugar dunha única selección; eses danche unha única grade onde cada cela está pintada nun conxunto numerado, para que poidas ver os conxuntos uns contra outros en lugar de manter varias listas lado a lado.

Todas as actividades, ou só algunhas?

Isto confunde á xente, e paga a pena indicalo claramente: en moitos tipos de restrición, os campos que nomean un profesor, materia ou grupo non deciden quen se ve afectado — deciden que actividades examina a regra.

Son un filtro sobre as actividades, non un obxectivo. Ler un campo de formulario como esta regra é sobre o Sr. Smith cando significa considerar as leccións que involucran ao Sr. Smith leva a regras que silenciosamente non fan nada. O panel de axuda para cada tipo di cal é.

Orde

A lista ten unha orde, e non é decorativa: é a orde na que as restricións se escriben no ficheiro exportado.

Arrastra as filas pola súa asa para organizalas, ou usa Ordenar A→Z para alfabetizar toda a sección e gardar iso. O arrastre só se ofrece cando estás a ver a lista completa na súa orde natural — mentres unha busca, ordenación ou filtro a está a restrinxir, a posición á que arrastras sería sen sentido. As regras obrigatorias son xestionadas por FET e nunca se moven.

A reordenación pódese desfacer.

Traballando cunha lista longa

A sección ten unha barra de categorías, unha caixa de busca, un filtro activo/inactivo e o control deslizante de rango de peso. Entre eles, normalmente podes pasar de algo está mal co venres ao puñado de regras que o mencionan.

Seleccionar filas permíteche activar, desactivar, establecer un peso ou eliminar nunha soa acción. Desactivar é o máis útil — mantén a regra e a súa configuración mentres a saca de xogo, que é como probas se unha regra é o que fai que o teu horario sexa imposible.

Cada restrición nunha acción masiva autorízase por si mesma. Alguén que traballa a través dunha ligazón de compartición con ámbito cambia o que se lle permite cambiar, e o resto déixase en paz en lugar de que toda a acción falle. Un cambio de peso masivo tamén nomea calquera cousa que se negou a mover.

Por riba da lista, os editores obteñen un resumo previo dunha liña. Se informa dun conflito de bloqueo, iso é unha proba en lugar dunha advertencia, e paga a pena seguilo antes de ir máis lonxe.