# Perguntations ## BUGS - No python3.12 aparentemente nao se pode instalar com `pip --user` - em caso de timeout na submissão (e.g. JOBE ou script nao responde) a correcção não termina e o teste não é guardado. - scripts de correccao devem dar resultado em JSON e nao YAML (JSON para computer generated, YAML para human generated). Isto evita que o output gerado se possa confundir com a syntax yaml. Usar modulo JSON. - modo --review nao implementado em testfactory.py - talvez a base de dados devesse ter como chave do teste um id que fosse único desse teste particular (não um auto counter, nem ref do teste) - em admin, quando scale_max não é 20, as cores das barras continuam a reflectir a escala 0,20. a tabela teste na DB não tem a escala desse teste. - a revisao do teste não mostra as imagens que nao estejam ja em cache. - reload do teste recomeça a contagem no inicio do tempo. - mensagems de erro do assembler aparecem na mesma linha na correcao e nao fazem rendering do `$t`, ver se servidor faz parse do markdown dessas mensagens. ## TODO - update datatables para 2 - update codemirror para 6.0 - assinalar a vermelho os alunos que excederam o tempo. - pagina de login semelhante ao aprendizations - QuestionTextArea falta reportar nos comments os vários erros que podem ocorrer (timeout, etc) - pergunta com varias partes. - /review incluir identificacao do aluno no jumbotron (para poder gerar pdf). - corrir mais que uma vez (por ex. para alterar cotacoes, corrigir perguntas) - guardar testes em JSON assim que sao atribuidos aos alunos. - impedir os eventos copy/paste. alunos usam isso para trazer codigo ja feito nos computadores. Obrigar a fazer reset? fazer um copy automaticamente? - na pagina admin, mostrar com cor vermelha as horas de entrada dos alunos que ja tenham excedido o tempo - /admin long pooling. - mudar ref do test para test_id (ref já é usado nas perguntas) - servidor ntpd no x220 para configurar a data/hora dos portateis dell - sala de espera: autorização dada, mas teste não disponível até que seja dada ordem para começar. - alunos com necessidades especiais nao podem ter autosubmit. ter um autosubmit_exceptions: ['123', '456'] - enviar resposta de cada pergunta individualmente. - experimentar gerador de svg que inclua no markdown da pergunta. - botao "testar resposta" que valida syntax mas nao classifica. perguntas devem ter opcao validate: script.py. Aluno pressiona botao e codigo é enviado para servidor para validação, - test: botao submeter valida se esta online com um post willing_to_submit, se estiver online, mostra mensagem de confirmacao, caso contrario avisa que nao esta online. - test: Cada pergunta respondida é logo submetida. - admin: histograma das notas. - admin: mostrar as horas a que o teste terminou para os testes terminados. - admin: histograma das notas. - admin: mostrar teste gerado para aluno (tipo review). - admin: Cancelar teste e fazer logout do aluno (e.g. fraude) - mathjax-node: sudo pkg install node npm npm install mathjax-node mathjax-node-cli # pacotes em ~/node_modules node_modules/mathjax-node-cli/bin/tex2svg '\sqrt{x}' usar isto para gerar svg que passa a fazer parte do texto da pergunta (markdown suporta tags svg?) fazer funçao tex() que recebe formula e converte para svg. exemplo: fr'''A formula é {tex("\sqrt{x]}")}''' - Gerar pdf's com todos os testes no final (pdfkit, firefox marionette). - registos unfocus durante o teste e qual a pergunta visivel nesse momento - permitir varios testes, aluno escolhe qual o teste que quer fazer. - se ocorrer um erro na correcçao avisar aluno para contactar o professor. - abrir o teste numa janela maximizada e que nao permite que o aluno a redimensione/mova? modo kiosk? - detectar scroll e enviar posição para servidor (analise de scroll para detectar copianço?) - criar perguntas de outros tipos, e.g. associação, ordenação. - stress tests. use [locust](https://locust.io) ## FIXED - textarea vem inicializado com a resposta de outros alunos!!! - App has no attribute get_grades_csv