BUGS.md 3.27 KB

BUGS

  • 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)
  • 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)

  • usar thread.Lock para aceder a variaveis de estado?

  • permitir adicionar imagens nas perguntas.

  • 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.

TODO

  • implementar practice mode.
  • 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
  • permitir varios testes, aluno escolhe qual o teste que quer fazer.
  • criar perguntas de outros tipos, e.g. associação, ordenação, varios textinput
  • perguntas para professor corrigir mais tarde.
  • visualizar um teste ja realizado na página de administração
  • fazer uma calculadora javascript e por no menu. surge como modal
  • GeoIP?
  • alunos online têm acesso a /correct e servidor rebenta. (não é fácil impedir...)
  • enviar logs para web?

FIXED

  • 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'