BUGS
- text-numeric não está a gerar a pergunta. faltam templates?
- uniformizar question.py com a de aprendizations...
- Review de um teste que foi apagado rebenta.
- permitir eliminar teste a decorrer de modo a que o aluno possa recomeçar (e.g. noutro browser)
- servidor nao esta a lidar com eventos scroll/resize. ignorar?
TODO
- Gerar pdf's com todos os testes no final (pdfkit).
- testar SSL
manter registo dos unfocus durante o teste e de qual a pergunta visivel nesse momento
permitir varios testes, aluno escolhe qual o teste que quer fazer.
usar thread.Lock para aceder a variaveis de estado?
se ocorrer um erro na correcçao avisar aluno para contactar o professor.
implementar practice mode?
abrir o teste numa janela maximizada e que nao permite que o aluno a redimensione/mova?
detectar scroll e enviar posição para servidor (analise de scroll para detectar copianço? ou simplesmente para analisar como os alunos percorrem o teste)
single page web no teste/correcçao. Página construída em javascript, obter perguntas com ajax (para practice?).
aviso na pagina principal para quem usa browser da treta
criar perguntas de outros tipos, e.g. associação, ordenação, varios textinput
perguntas para professor corrigir mais tarde.
fazer uma calculadora javascript e por no menu. surge como modal
GeoIP?
enviar logs para web?
FIXED
- qd user 0 faz logout rebenta.
- Quando grava JSON do teste deve usar 'path' tal como definido na configuração e não expandido. Isto porque em OSX /home é /Users e quando se muda de um sistema para outro não encontra os testes. Assim, usando ~ na configuração deveria funcionar sempre.
- configuração do teste não joga bem com o do aprendizations. Em particular os scripts não ficam com o mesmo path!!!
- configurar pf em freebsd, port forward 80 -> 8080. documentacao
- barras com notas em grade estão desalinhadas.
- erros nos generators devem ser ERROR e não WARNING.
- se directorio "logs" não existir no directorio actual aborta com mensagem de erro.
- se um teste tiver a mesma pergunta repetida (ref igual), rebenta na correcçao. As respostas são agregadas numa lista para cada ref. Ex: {'ref1': 'resposta1', 'ref2': ['resposta2a', 'resposta2b']}
- usar http://fontawesome.io/examples/ em vez dos do bootstrap3
- se pergunta tiver 'type:' errado, rebenta.
- se submeter um teste so com information, da divisao por zero.
- se save_answers nao existir, da warning que nao serao gravados, mas sao sempre gravados! pagina de administracao diz --not being saved--
- first login é INFO e não WARNING
- /review não mostra imagens porque precisa que teste esteja a decorrer...
- visualizar um teste ja realizado na página de administração
- Depois da correcção, mostra testes realizados que não foram realizados pelo próprio
- detectar se janela perde focus e alertar o prof (http://stackoverflow.com/questions/1060008/is-there-a-way-to-detect-if-a-browser-window-is-not-currently-active)
- server nao esta a receber eventos focus/blur dos utilizadores diferentes de '0', estranho...
- permitir adicionar imagens nas perguntas.
- detect_unfocus.js so funciona se estiver inline no html. porquê???
- inserir novo aluno /admin não fecha.
- se aluno desistir, ainda fica marcado como online
- give dá None em vez de 0.0
- debug mode: log levels not working
- Se aluno fizer logout, o teste não é gravado e ficamos sem registo do teste que o aluno viu.
- criar sqlalchemy sessions dentro de app de modo a estarem associadas a requests. ver se é facil usar with db:(...) para criar e fechar sessão.
- sqlalchemy queixa-se de threads.
- SQLAlchemy em vez da classe database.
- replace sys.exit calls
- if does not find questions, aborts silently
- argumentos da linha de comando a funcionar.
- configuracao dos logs cherrypy para se darem bem com os outros
- browser e ip usados gravado no test.
- botões allow all/deny all.
- mostrar botão de reset apenas no final da pagina, com edit para escrever o número.
- aluno faz login, mas fecha browser, ficando no estado (online,deny). Ao tentar login com outro browser está deny e o prof não consegue pô-lo em allow pois já não está na lista. => solucao é manter todos os alunos numa tabela.
- pagina de login nao esta a apresentar bem. parece que precisa de autorizacao para aceder a /static...
- Não mostrar Professor nos activos em /admin
- /admin mostrar actualizações automaticamente?
- se no teste uma das "ref" nao existir nos ficheiros de perguntas, rebenta.
- alunos podem estar online, mas browser perder sessao => nao conseguem mais entrar porque a App pensa que estão online. Permitir login e dar o mesmo teste.
- pagina de management dos alunos. mostrar online ordenados por hora de login, offline por número. permitir reset da pw e allow/disallow
- script de correcção pode enviar dicionario yaml com grade e comentarios. ex: grade: 0.5 comments: Falhou na função xpto. os comentários são guardados no teste (ficheiro) ou enviados para o browser no modo practice.
- testar regex na definicao das perguntas. como se faz rawstring em yaml? singlequote? problemas de backslash??? sim... necessário fazer \ em varios casos, mas não é claro! e.g. \n é convertido em espaço mas \w é convertido em \ e w. Solução (http://stackoverflow.com/questions/10771163/python-interpreting-a-regex-from-a-yaml-config-file) é fazer correct: !regex 'yes|no'