Pular para o conteúdo principal

Os importadores CSV

Importar os arquivos de lista exportados do FET, uma seção por vez — e a única regra de ordenação que vale a pena acertar na primeira vez.

O FET pode exportar cada uma de suas listas como um arquivo CSV separado. Sete desses arquivos são lidos aqui, cada um em sua própria seção do editor de dados, para que você possa importar uma lista por vez, em vez de todo o projeto de uma vez.

Os sete arquivos

  • Docentes — a lista de docentes.
  • Disciplinas — a lista de disciplinas.
  • Marcadores de atividade — a lista de marcadores.
  • Salas e prédios — um arquivo que abrange ambos, como no FET.
  • Alunos — turmas, grupos e subgrupos, com seu aninhamento.
  • Atividades — a lista de atividades, que é o arquivo que realmente carrega a carga de ensino de uma escola antes que qualquer horário tenha sido gerado.
  • Horários indisponíveis de docentes — o único arquivo que contém regras em vez de uma lista. Ele é importado de Restrições de horário, não de Docentes.

Cada um é importado de sua própria seção: abra a seção no editor de dados e use seu botão de importação CSV. O arquivo é lido, é mostrado o que ele fará, e nada é gravado até que você confirme.

O arquivo de indisponibilidade substitui, não adiciona

Os seis primeiros arquivos adicionam o que está faltando e deixam o restante intocado. O arquivo de horários indisponíveis de docentes se comporta de forma diferente, devido ao que ele contém: o FET escreve uma grade completa — cada docente contra cada hora, com uma marca onde aquele docente não pode lecionar.

Uma célula vazia não significa "sem informação". É o arquivo dizendo este docente está livre naquele horário. Portanto, importar um substitui os horários indisponíveis dos docentes que ele lista, que é a única maneira de um horário liberado ser realmente aplicado.

Docentes que o arquivo não menciona são deixados completamente intocados, então um arquivo cobrindo três docentes não pode perturbar os outros trinta.

Antes de gravar qualquer coisa, é informado quantas restrições serão removidas, quantas serão gravadas e quantos docentes permanecerão intocados. Não há desfazer, então faça um backup primeiro se o horário for importante.

Um docente cujo nome ainda não está no horário é ignorado em vez de criado — este arquivo ajusta pessoas existentes, não introduz novas.

Uma marca pode ser uma preferência em vez de um bloqueio

As células nesse arquivo não são marcas de seleção — cada uma carrega um peso de 0 a 100, e o peso muda o que a marca significa.

100 significa "não pode". Esse é o caso comum, e torna-se uma regra simples de docente indisponível.

Abaixo de 100 significa "preferiria não". Uma regra de "indisponível" não tem uma configuração mais fraca — é absoluta ou não é nada — então uma marca ponderada é registrada de forma inversa: como horários preferenciais listando todos os lugares onde as aulas do docente podem ir, com aquele peso. É a mesma restrição declarada positivamente.

O FET não possui um modo de importação para isso. A própria ajuda do FET informa para usar horários preferenciais quando você precisa de um peso abaixo de 100. Este importador faz esse passo para você.

Você não escolhe entre eles e não há configuração para errar. Se um arquivo contiver células ponderadas, a importação informará antes de gravar e nomeará os pesos encontrados.

Importe alunos antes das atividades

Esta é a única regra que vale a pena seguir exatamente.

Se uma atividade nomeia um conjunto de alunos que ainda não existe, o conjunto é criado de forma plana — e nunca é atualizado para uma estrutura adequada de turma-grupo-subgrupo posteriormente.

Importe o arquivo de alunos primeiro e a hierarquia chegará corretamente. Importe as atividades primeiro e você obterá uma pilha de grupos planos que parecem corretos em uma lista e se comportam incorretamente onde a estrutura importa. Corrigir isso depois significa excluí-los e refazê-los.

A mesma autocriação se aplica a docentes, disciplinas e marcadores de atividade nomeados por uma linha de atividade. Para esses, é inofensivo — um docente é um docente — que é exatamente por isso que o caso dos alunos pega as pessoas de surpresa.

Pré-visualizar antes de confirmar

Choosing a file does not import it: the columns it recognised, what it would add, what it would skip because it is already there, and the row it could not use.
Choosing a file does not import it: the columns it recognised, what it would add, what it would skip because it is already there, and the row it could not use.

Escolher um arquivo não o importa. O arquivo é lido primeiro e você recebe um resumo do que aconteceria: quantas linhas foram compreendidas, o que será criado e quaisquer avisos sobre linhas que não puderam ser usadas. Linhas sem nome são relatadas e ignoradas em vez de criar espaços em branco silenciosamente.

Somente quando você confirma algo é gravado.

Coisas sobre o formato que vale a pena saber

Você não precisa preparar as próprias exportações do FET — elas são lidas como vêm. Isso importa quando você está construindo um arquivo manualmente ou editando um em uma planilha.

  • Nomes de arquivo são correspondidos por sufixo. O FET prefixa as exportações com o nome do horário, então myschool_teachers.csv é reconhecido como o arquivo de docentes. Mantenha o sufixo e o prefixo pode ser qualquer coisa.
  • A marca de ordem de byte é esperada. O FET escreve uma, e ela é removida na leitura. Um arquivo salvo sem uma também funciona.
  • O separador é detectado por arquivo em vez de assumido, então uma exportação separada por ponto e vírgula funciona tão bem quanto uma separada por vírgula.
  • Células de recurso aninham. Um | separa um componente dividido do próximo, e um + separa membros dentro de um componente — então uma célula pode nomear vários docentes para uma aula, ou docentes diferentes por componente.
  • Nomes de disciplina não são divididos em +. Uma disciplina pode legalmente conter um sinal de mais em seu nome, então dividi-lo truncaria o nome. Se você tem colocado várias disciplinas em uma célula, isso não é algo que o formato suporta.
  • Uma célula numérica vazia significa "sem restrição", não zero. Deixar uma célula de dias mínimos em branco não impõe um mínimo de nada — significa que a restrição está ausente.

O que você obtém depois

Um horário construído a partir desses arquivos contém uma lista de atividades real, então ele se comporta como um projeto em vez de uma imagem: durações e componentes divididos estão presentes, e o que você baixa é construído a partir de dados reais.

Para onde ir em seguida