BUGS
- arranjar os links para static/libs como no perguntations.
- quando erra uma textarea, o comment fica na nova pergunta que se gera.
- nao esta a guardar as respostas erradas.
- tabelas nas perguntas radio/checkbox não ocupam todo o espaço como em question.
TODO
- mostrar rankings alunos/perguntas respondidas/% correctas/valor esperado topicos.
- max tries nas perguntas.
- botão não sei...
- mostrar feedback/solucoes quando acerta, ou excede max tries.
- mostrar icon "loading..." enquanto está a corrigir uma pergunta.
Criar outra estrutura organizada em capítulos (conjuntos de tópicos). Permitir capítulos de capítulos, etc. talvez usar grafos de grafos...
session management. close after inactive time.
radio e checkboxes, aceitar numeros como seleccao das opcoes.
reload das perguntas enquanto online. ver signal em http://stackabuse.com/python-async-await-tutorial/
pertuntas tipo tristate: (sim, não, não sei
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
implementar servidor http com redirect para https.
usar codemirror no textarea
ao fim de 3 tentativas com password errada, envia email com nova password.
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
- 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 http://www.tornadoweb.org/en/stable/guide/security.html#cross-site-request-forgery-protection
- 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 https://networkx.github.io/documentation/stable/release/migration_guide_from_1.x_to_2.0.html
- 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.