BUGS.md 11.2 KB

Bugs and Wishlist

BUGS

  • nao esta a respeitar o numero de tentativas max_tries.
  • se na especificacao de um curso, a referencia do topico nao existir como directorio, rebenta.
  • internal server error ao fazer logout no macos python3.8
  • topicos chapter devem ser automaticamente completos assim que as dependencias são satisfeitas. Nao devia ser necessario (ou possivel?) clicar neles.
  • topicos do tipo learn deviam por defeito nao ser randomizados e assumir ficheiros learn.yaml.
  • internal server error 500... experimentar cenario: aluno tem login efectuado, prof muda pw e faz login/logout. aluno obtem erro 500.
  • radio sem options rebenta com aprendizations --check
  • chapters deviam ser mostrados unlocked, antes de mostrar a medalha. alunos pensam que já terminaram e não conseguem progredir por causa das dependencias.
  • if topic deps on invalid ref terminates server with "Unknown error".
  • warning nos topics que não são usados em nenhum curso
  • nao esta a seguir o max_tries definido no ficheiro de dependencias.
  • devia mostrar timeout para o aluno saber a razao.
  • permitir configuracao para escolher entre static files locais ou remotos
  • shift-enter não está a funcionar
  • default prefix should be obtained from each course (yaml conf)?

TODO

  • alterar tabelas para incluir email de recuperacao de password (e outros avisos)
  • shuffle das perguntas dentro de um topico
  • registar last_seen e remover os antigos de cada vez que houver um login.
  • indicar qtos topicos faltam (>=50%) para terminar o curso.
  • ao fim de 3 tentativas com password errada, envia email com nova password.
  • mostrar capitulos e subtopicos de forma hierarquica. clicar no capitulo expande as dependencias.
  • mostrar rankings alunos/perguntas respondidas/% correctas/valor esperado topicos.
  • botão não sei...
  • mostrar icon "loading..." enquanto está a corrigir uma pergunta.
  • session management. close after inactive time.
  • radio e checkboxes, aceitar numeros como seleccao das opcoes.
  • reload das perguntas enquanto online. ver signal em
  • tabela de progresso de todos os alunos por topico.
  • tabela com perguntas / quantidade de respostas certas/erradas.
  • tabela com topicos / quantidade de estrelas.
  • pymips: activar/desactivar instruções
  • titulos das perguntas não suportam markdown.
  • pagina report que permita ver tabela alunos/topicos, estatisticas perguntas mais falhadas, tempo médio por pergunta.
  • normalizar com perguntations.

FIXED

  • rankings rebenta se nunhum aluno tiver feito nenhum topico.
  • templates question-*.html tem input hidden question_ref que não é usado. remover?
  • goals se forem do tipo chapter deve importar todas as dependencias do chapter.
  • initdb da integrity error se no mesmo comando existirem alunos repetidos (p.ex em ficheiros csv diferentes ou entre csv e opcao -a)
  • dependencias que não são goals de um curso, só devem aparecer se ainda não tiverem sido feitas.
  • ir para inicio da pagina quando le nova pergunta.
  • CRITICAL nao esta a guardar o progresso na base de dados.
  • mesma ref no mesmo ficheiro não é detectado.
  • enter nas respostas mostra json
  • apos clicar no botao responder, inactivar o input (importante quando o tempo de correcção é grande)
  • double click submits twice.
  • checkbox devia ter correct no intervalo [0,1] tal como radio. em caso de desconto a correccção faz 2*x-1. isto permite a mesma semantica nos dois tipos de perguntas.
  • marking all options right in a radio question breaks!
  • implementar servidor http com redirect para https.
  • tabelas nas perguntas radio/checkbox não ocupam todo o espaço como em question.
  • click numa opcao checkbox fora da checkbox+label não está a funcionar.
  • mathjax, formulas $$f(x)$$ nas opções de escolha multipla, não ficam centradas em toda a coluna mas apenas na largura do parágrafo.
  • QFactory.generate() devia fazer run da gen_async, ou remover.
  • classificacoes so devia mostrar os que ja fizeram alguma coisa
  • impedir que quando students.db não é encontrado, crie um ficheiro vazio.
  • permite definir goal, mas nao verifica se esta no grafo. rebenta no start_topic.
  • se num topico, a ultima pergunta tem imagens, o servidor nao fornece as imagengs porque o current_topic passa a None antes de carregar no botao continuar. O caminho é prefix+None e dá erro.
  • caixas com os cursos não se ajustam bem com ecran estreito.
  • obter rankings por curso GET course=course_id
  • no curso de linear algebra, as perguntas estao shuffled, mas nao deviam estar... nao esta a obedecer a keyword shuffle.
  • menu nao mostra as opcoes correctamente
  • finish topic vai para a lista de cursos. devia ficar no mesmo curso.
  • mathjax nao esta a correr sobre o titulo.
  • forgetting factor is hardcoded in student.py
  • add aprendizatons --version
  • se aluno abre dois tabs no browser, conseque navegar em simultaneo para perguntas diferentes. quando submete uma delas dá asneira. Tem de haver um campo hidden que tenha um céodigo único que indique qual a pergunta. do lado do servidor apnas há o codigo da pergunta corrente, se forem diferentes faz redirect para /.
  • nos topicos learn.yaml, qd falha acrescenta no fim. nao faz sentido.
  • não esta a fazer render correcto de tabelas nas opcoes checkbox. e.g. information-theory/source-coding-theory/block-codes
  • max tries nas perguntas.
  • mostrar feedback/solucoes quando acerta, ou excede max tries.
  • quando se pressiona "responde" rapido (enquanto a animacao dura), a pergunta passa para a seguinte sem haver o correspondente redraw, ou seja a proxima resposta nao é a da pergunta mostrada.
  • botao para mostrar a solução quando se acerta.
  • não está a guardar o resultado no final do topico
  • esta a permitir 2 logins em simultaneo do mesmo user. fica tudo baralhado se mxerem em simultaneo...
  • errar no ultimo topico nao mostra solucao?
  • quando a pergunta devolve comments, este é apresentado, mas fica persistente nas tentativas seguintes. devia ser limpo apos a segunda submissao.
  • na definicao dos topicos, indicar: "file: questions.yaml" (default questions.yaml) "shuffle: True/False" (default False) "choose: 6" (default tudo)
  • max tries não avança para seguinte ao fim das tentativas.
  • ver se ref guardada na BD é só a da pergunta ou inclui o path. -> so ref
  • nao esta a guardar as respostas erradas.
  • reload do topic não gera novas perguntas (alunos abusavam do reload)
  • usar codemirror no textarea
  • quando erra uma textarea, o comment fica na nova pergunta que se gera.
  • arranjar os links para static/libs como no perguntations.
  • each topic only loads a sample of K questions (max) in random order.
  • change password modal nao aparece no ipad (safari e firefox)
  • detect questions in questions.yaml without ref -> error ou generate default.
  • generators e correct scripts que durem muito tempo bloqueiam o eventloop do tornado.
  • servir imagens/ficheiros.
  • radio: suporte para multiplas opcoes correctas e erradas, escolhendo-se uma selecção aleatoria destas (so com 1 certa).
  • checkbox: cada opção pode ser uma dupla (certo, errado) sendo escolhida uma aleatória.
  • async/threadpool no bcrypt do initdb.
  • numero de estrelas depende da proporcao entre certas e erradas.
  • image brand da universidade está esbatida.
  • reportar comentarios após submeter.
  • error if demo.yaml has no topics
  • update de fontawesome para versão 5.0.6.
  • remover learn.css uma vez que nao é usado em lado nenhum?
  • check if user already logged in
  • mover javascript para ficheiros externos e carregar com script defer src
  • implementar xsrf. Ver
  • se refs de um topic estao invalidos, nao carrega esse topico. devia haver um error nos logs a indicar qual o ref invalido.
  • link directo para topico nao valida se topico esta unlocked.
  • templates not working: quesntion-information, question-warning (remove all informative panels??)
  • enderecos errados dao internal error.
  • barra de progresso nao está visível.
  • tabs em textarea nao funcionam correctamente (insere 1 espaco em vez de 4)
  • guardar state cada vez que topico termina
  • textarea deve mostrar no html os valores iniciais de ans, se existirem
  • aumentar espaço a seguir às tabelas no texto
  • animação no final de cada topico para se perceber a transição
  • "
  • Está a mostrar a solução em 'comments'!!!
  • database: answers não tem referencia para o topico, so para question_ref
  • melhorar markdown das tabelas.
  • gravar evolucao na bd no final de cada topico.
  • submeter questoes radio, da erro se nao escolher nenhuma opção.
  • indentação da primeira linha de código não funciona.
  • markdown com o mistune.
  • change password in maintopics.html, falta menu para lançar modal
  • ver documentacao de migracao para networkx 2.0
  • script para adicionar users/reset passwords.
  • os topicos locked devem estar inactivos no sidebar.
  • enter faz GET /question, que responde com json no ecran. (solution: disabled enter)
  • topicos no sidebar devem ser links para iniciar um topico acessivel.
  • logs inicio de topico
  • indicar o topico actual no sidebar
  • reload da página rebenta o estado.
  • text deve mostrar no html os valores iniciais de ans, se existir
  • nao permite perguntas repetidas. iterar questions da configuracao em vez das do ficheiro. ver app.py linha 223.
  • level depender do numero de respostas correctas
  • pymips a funcionar
  • logs mostram que está a gerar cada pergunta 2 vezes...??
  • letsencrypt.org
  • alterar password.
  • barra de progresso a funcionar
  • mostra tópicos do lado esquerdo, indicando quais estão feitos
  • database hardcoded in LearnApp.
  • se students.db não existe, rebenta.
  • não entra à primeira
  • configuração e linha de comando.
  • o browser é redireccionado para /question em vez de fazer um post?? quando se pressiona enter numa caixa text edit.
  • load/save the knowledge state of the student
  • servir ficheiros de public temporariamente
  • path dos generators scripts mal construido
  • questions hardcoded in LearnApp.
  • Factory para cada pergunta individual em vez de pool
  • implementar navegacao radio/checkbox. cursor cima/baixo, espaco selecciona, enter submete.
  • logging
  • textarea tem codigo para preencher o texto, mas ja não é necessário porque pergunta não é reloaded.
  • gravar answers -> db
  • como gerar key para secure cookie.
  • https. certificados selfsigned, no-ip nao suporta certificados
  • reset ao servidor mantem cookie no broser e rebenta. necessario fazer logout.
  • models.py tabela de testes não faz sentido.
  • autenticacao. ver exemplo do blog
  • primeira pergunta aparece a abanar.
  • user name na barra de navegação.
  • textarea mantem ultima resposta errada. util para respostas grandes.
  • ver campo hidden com ref que esta na textarea mas nao nos outros.
  • shift enter submete textarea
  • clicar texto selecciona checkboxes/radio.
  • focar text/textarea
  • implementar template base das perguntas base e estender para cada tipo.
  • submissão com enter em perguntas text faz get? provavelmente está a fazer o submit do form em vez de ir pelo ajax.