portabilis / i-diario Goto Github PK
View Code? Open in Web Editor NEWLançando o maior software livre de educação do Brasil!
License: Other
Lançando o maior software livre de educação do Brasil!
License: Other
Avaliar problemas de
No arquivo
app/services/student_enrollments_list.rb
Seguindo as práticas descritas em nosso style guide
CONTEXTO:
Por que esta alteração é importante?
Essa alteração permitiria que professores que trabalham na mesma turma com mais de uma aula e conteúdos diferentes pudessem realizar o lançamento do conteúdo expecífico para cada aula.
Como esta alteração pode beneficiar outros usuários?
Melhor clareza no lançamento do conteúdo de uma determinada aula e possível melhor gestão ao emitir um relatório de quantidade de aulas ministradas que não seja olhando pela frequência.
IMPLEMENTAÇÃO:
Acrescentar na tela de Registro de conteúdo a combobox do número da Aula, persistindo também essa informação em banco de dados no mesmo estilo da frequência.
Avaliar problemas de
Nos arquivos
app/controllers/application_controller.rb
Seguindo as práticas descritas em nosso style guide
Avaliar problemas de
Nos arquivos
app/models/daily_frequency.rb
app/controllers/daily_frequencies_controller.rb
Seguindo as práticas descritas em nosso style guide
Corrigir os "Deprecation warnings" e refatorar levando em consideração os problemas de
No arquivo: https://github.com/portabilis/i-diario/blob/master/app/services/school_day_checker.rb
Seguindo as práticas descritas em neste style guide: https://github.com/portabilis/ruby
Avaliar problemas de
Nos arquivos
app/models/user.rb
Seguindo as práticas descritas em nosso style guide
Adicionar o suporte necessário para realizar o deploy com kubernetes.
Avaliar problemas de
Em um dos arquivos da pasta
app/services/ieducar_synchronizers/
Seguindo as práticas descritas em nosso style guide
MENU:
Acompanhamento pedagógico -> Filtra uma escola
DESCRIÇÃO:
O percentual de preenchimento de frequência e conteúdos de uma turma está passando de 100%
OBSERVAÇÕES:
Observações em geral sobre o problema apontado.
AMBIENTE:
MENU:
Relatórios
DESCRIÇÃO:
Ao inserir o brasão na Entidade, o mesmo deve ser apresentado nos relatórios.
MENU:
Recuperações -> Diário de recuperações de etapas -> Novo lançamento
DESCRIÇÃO:
Configurei avaliações numéricas por etapa. No ano letivo são 4 etapas e cada etapa tem 3 avaliações utilizando somatório para calcular a média. Ao clicar no botão de criar recuperação por etapa aparece a mensagem É necessário configurar uma avaliação numérica, apesar de já ter sido configurada por etapa.
OBSERVAÇÕES:
Pelo que vi em SchoolTermRecoveryDiaryRecordsController#new
só está verificando se tem avaliação numérica geral, com a função current_test_setting
.. Nâo deveria verificar também a função current_test_setting_step(step)
?.
AMBIENTE:
MENU:
Acompanhamento pedagógico
DESCRIÇÃO:
Como fazer funcionar o módulo de Acompanhamento Pedagógico?
OBSERVAÇÕES:
A data da última atualização que é exibida é a data de instalação do sistema
AMBIENTE:
CONTEXTO:
É importante porque facilita ao desevolvedor saber quais campos são permitidos utilizar dentro de um model, sem necessidade de abir o schema e procurar.
IMPLEMENTAÇÃO:
Apenas adicionar a gem e rodar uma anotação.
MENU:
Frequência -> Diário de frequência.
DESCRIÇÃO:
Existe um problema ao montar unique_id (_student_fields.html.erb), ele não é único em alguns cenários.
Imagine os alunos de ids 36 é 360, na lógica implementada o com ljust passam ser únicas, não registrando frequência para um deles.
AMBIENTE:
VERSÃO:
1.3.6.
DESCRIÇÃO:
Ao tentar instalar o i-diario, via DOCKER, ele finaliza com essa mensagem de erro:
diario | from /app/bin/rails:9:in `require'
idiario | from /app/bin/rails:9:in `<top (required)>'
idiario | from /box/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `load'
idiario | from /box/gems/spring-2.0.2/lib/spring/client/rails.rb:28:in `call'
idiario | from /box/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call'
idiario | from /box/gems/spring-2.0.2/lib/spring/client.rb:30:in `run'
idiario | from /box/gems/spring-2.0.2/bin/spring:49:in `<top (required)>'
idiario | from /box/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `load'
idiario | from /box/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `<top (required)>'
idiario | from /app/bin/spring:15:in `require'
idiario | from /app/bin/spring:15:in `<top (required)>'
idiario | from bin/rails:3:in `load'
idiario | from bin/rails:3:in `<main>'
idiario exited with code 1
OBSERVAÇÕES:
No linux meu docker --version
Docker version 20.10.9, build c2ea9bc
AMBIENTE:
Pessoal,
Encontrei a documentação porém não me diz aonde eu gero ou encontro os tokens.
Agradeço antecipadamente.
MENU:
Configurações / API de integração
DESCRIÇÃO:
Ao clicar no botão "Sincronizar" ou "Sincronização completa" gera o seguinte erro:
uninitialized constant ClassroomsSynchronizer::Label
OBSERVAÇÕES:
No Fórum algumas pessoas conseguiram resolver o problema removendo os caracteres especias de cursos, turmas e séries. Porém não deixa de ser um bug a ser resolvido.
Ate onde consegui constatar nos teste.
Funciona com as versões
i-Educar = 2.6.8
i-Diário = 1.3.3
Funciona porém da erro na sincronização devido as acentuações e caracteres especiais em “Cursos, Séries, Turmas e Séries da Escola”
i-Educar = 2.6.8
i-Diário = 1.3.5
AMBIENTE:
CONTEXTO:
O Model em questão possui algumas repetições de código, além de redundâncias na tentativa de manter métodos de escopo encapsulados (como privados).
CONTEXTO:
Seria interessante que houvesse a opção de informar que um aluno não compareceu a uma avaliação, já que atribuir nota 0 é uma inverdade.
MENU:
Recuperações -> Diário de recuperações por etapas
DESCRIÇÃO:
Alunos acima da média aparecem na tela de recuperações por etapa
OBSERVAÇÕES:
No arquivo school_term_recovery_diary_records_controller.rb, o sistema filtra os alunos abaixo da média, mas na tela, todos aparecem
students_in_recovery = fetch_students_in_recovery
mark_students_not_in_recovery_for_destruction(students_in_recovery)
mark_exempted_disciplines(students_in_recovery)
add_missing_students(students_in_recovery)
AMBIENTE:
CONTEXTO:
Primeiramente evitar duplicação é importante pois evita bugs e ajuda na manutenabilidade.
Alguns workers devem rodar no contexto de uma entidade. A ideia é deixar essa alteração de contexto transparente e automática.
IMPLEMENTAÇÃO:
Criar um EntityWorker e inclui-lo nos workers
Olá comunidade! Gostaria de sugerir uma melhoria para o i-diario. Que fosse criado uma tela para inserção de OBSERVAÇÕES GERAIS por escola. E que funcionasse tipo um uqadro de aviso. Já aparecesse na primeira tela.
CONTEXTO:
Por que esta alteração é importante? seria importante para notificar as escolas quanto informações importantes da SME/SRE. Como você usaria isto? Também seria útil para alertar os professores quanto a prazos, lembrar de reuniões, etc. Como esta alteração
pode beneficiar outros usuários? Melhoraria a comunicação interna.
CONTEXTO:
O deploy da aplicação, atualmente, é totalmente manual, situação que poderia ser melhorada a considerar os passos iniciais da instalação, que são "mecânicos" e que poderiam ser automatizados.
A base já existente do Docker (e docker-compose), que estão desatualizadas, poderiam ser aprimoradas para alcançar este objetivo.
MENU:
Registros de conteúdos -> Registros de conteúdos por disciplina
DESCRIÇÃO:
Em caso de mudança de professor de uma turma, o novo professor não tem acesso aos conteúdos registrados pelo professor anterior. Se for uma política de segurança, está certo. Porém o professor também não vê os conteúdos no relatório.
AMBIENTE:
Avaliar problemas de
Em um dos arquivos da pasta
app/controllers/api/v2
Seguindo as práticas descritas em nosso style guide
MENU:
Envio de avaliações
DESCRIÇÃO:
Após atualizar para a versão 1.3.3 o envio de avaliações parou de funcionar. Não sai de 0% e escreve apenas umas duas linhas no log conforme a linha abaixo:
OBSERVAÇÕES:
2021-06-02T22:42:29.627Z 3032 TID-1x9gx8 IeducarExamPostingWorker JID-66c8f875edbd04c7b89f1919 INFO: done: 0.646 sec
AMBIENTE:
MENU:
Recuperações -> Relatórios -> Registro de Notas Parciais
DESCRIÇÃO:
Configurei avaliações numéricas por etapa. No ano letivo são 2 etapas e cada etapa tem 4 avaliações utilizando somatório para calcular a média. Ao clicar no botão de emitir o registro de notas parciais aparece a mensagem Ocorreu um erro e os responsáveis já foram notificados. Tente novamente mais tarde
OBSERVAÇÕES:
Pelo que vi em /var/www/idiario/app/reports/partial_score_record_report.rb#localize_score ele tenta fazer uma precisão numérica com base no valor recebido.
Até me veio a pensar que poderia ser o valor lançado nas avaliações, no entanto emiti um Relatório de avaliações numéricas e consta os seguintes valores e para esse mesmo aluno o registro de notas parciais não é gerado:
LOG da Aplicação!
E, [2022-07-29T09:02:38.994926 #2156017] ERROR -- : /var/www/idiario/app/reports/partial_score_record_report.rb:215:in
localize_score' /var/www/idiario/app/reports/partial_score_record_report.rb:124:in
block (2 levels) in disciplines_table'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activerecord-4.2.11.1/lib/active_record/relation/delegation.rb:46:ineach' /var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activerecord-4.2.11.1/lib/active_record/relation/delegation.rb:46:in
each'
/var/www/idiario/app/reports/partial_score_record_report.rb:105:inblock in disciplines_table' /var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activerecord-4.2.11.1/lib/active_record/relation/delegation.rb:46:in
each'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activerecord-4.2.11.1/lib/active_record/relation/delegation.rb:46:ineach' /var/www/idiario/app/reports/partial_score_record_report.rb:98:in
disciplines_table'
/var/www/idiario/app/reports/partial_score_record_report.rb:198:inblock (2 levels) in body' /var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activerecord-4.2.11.1/lib/active_record/relation/delegation.rb:132:in
each'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activerecord-4.2.11.1/lib/active_record/relation/delegation.rb:132:ineach_with_index' /var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activerecord-4.2.11.1/lib/active_record/relation/delegation.rb:132:in
public_send'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activerecord-4.2.11.1/lib/active_record/relation/delegation.rb:132:inmethod_missing' /var/www/idiario/vendor/bundle/ruby/2.4.0/gems/activerecord-4.2.11.1/lib/active_record/relation/delegation.rb:99:in
method_missing'
/var/www/idiario/app/reports/partial_score_record_report.rb:196:inblock in body' /var/www/idiario/app/reports/base_report.rb:45:in
block in page_content'
/var/www/idiario/vendor/bundle/ruby/2.4.0/bundler/gems/prawn-a7a99b9d9541/lib/prawn/document/bounding_box.rb:198:ininit_bounding_box' /var/www/idiario/vendor/bundle/ruby/2.4.0/bundler/gems/prawn-a7a99b9d9541/lib/prawn/document/bounding_box.rb:159:in
bounding_box'
/var/www/idiario/vendor/bundle/ruby/2.4.0/bundler/gems/prawn-a7a99b9d9541/lib/prawn/view.rb:69:inmethod_missing' /var/www/idiario/app/reports/base_report.rb:44:in
page_content'
/var/www/idiario/app/reports/partial_score_record_report.rb:195:inbody' /var/www/idiario/app/reports/partial_score_record_report.rb:22:in
build'
/var/www/idiario/app/reports/partial_score_record_report.rb:7:inbuild' /var/www/idiario/app/controllers/partial_score_record_report_controller.rb:13:in
report'
/var/www/idiario/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.11.1/lib/action_controller/metal/implicit_render.rb:4:insend_action' /var/www/idiario/vendor/bundle/ruby/2.4.0/gems/actionpack-4.2.11.1/lib/abstract_controller/base.rb:198:in
process_action'
AMBIENTE:
Plataforma utilizada: instalação direta
Sistema operacional e versão (p.ex. Ubuntu 16.04, Windows 7): Ubuntu 20.04
Navegador e versão (p.ex. Chrome 35.9.9.9): Chrome
Erro ao abrir página de avaliação descritiva.
MENU:
Avaliações -> Avaliações descritivas
DESCRIÇÃO:
Ao escolher uma etapa e clicar no botão Novo/Editar para criar avaliação descritiva o sistema redireciona para a tela inicial e aparece a mensagem Ocorreu um erro e os responsáveis já foram notificados. Tente novamente mais tarde
O professor está vinculado a turma em todas as disciplinas e também o cadastrei como regente na edição da turma.
OBSERVAÇÕES:
Coloquei o log na descrição deste tópico: https://forum.ieducar.org/t/erro-ao-abrir-avaliacoes-descritivas-apos-atualizar-i-diario-para-1-4-0/1853/2
AMBIENTE:
DESCRIÇÃO:
Na sincronização do i-diario / i-educar, a mesma envia emails a partir do email cadastrado em secrets.yml. Porém o erro abaixo é exibido no log
OBSERVAÇÕES:
Observações em geral sobre o problema apontado.
AMBIENTE:
Log:
created_at":1621250704.9963553,"enqueued_at":1621251432.6734798,"error_message":"555 5.5.2 Syntax error. u126sm10428685qkd.80 - gsmtp\n","error_class":"Net::SMTPFatalError","failed_at":1621250705.2831068,"retry_count":4,"retried_at":1621251121.498039}"}
2021-05-17T11:37:13.081Z 19628 TID-zb2kw WARN: Net::SMTPFatalError: 555 5.5.2 Syntax error. g7sm10010188qts.90 - gsmtp
2021-05-17T11:37:13.081Z 19628 TID-zb2kw WARN: /usr/local/rvm/rubies/ruby-2.4.10/lib/ruby/2.4.0/net/smtp.rb:969:in `check_response'
MENU:
Frequência -> Diário de frequência
DESCRIÇÃO:
Sistema só registra frequências para todas as disciplinas após atualização para a versão 1.0.3. Como fazer com que o sistema registre as frequências por disciplina? Tem alguma relação com as regras de avaliação do i-Diário?
OBSERVAÇÕES:
Instalei a versão 1.0.2 do sistema, mas as frequências continuam sendo registradas para todas as disciplinas
O arquivo em anexo mostra que inicialmente o sistema registrava as frequências por disciplina
AMBIENTE:
CONTEXTO:
No i-educar tem a possibilidade de definir fim do contrato de alocação de um professor. Porém para o vinculo à turmas não tem essa possibilidade de encerrar, restando apenas opção de excluir. O problema é que se excluir o vínculo, o novo proessor não consegue visualizar o que o anterior lançou e nem paraece nos relatórios os lançamentos.
Problema 2: Se manter o vínculo e o professor contratado pegar um novo contrato na mesma escola, ele terá acesso à turma anteriormente vinculado, mesmo com o contrato de alocação anterior encerrado.
IMPLEMENTAÇÃO:
A sugestão é implementar uma funcionalidade pra não permitir acesso às turmas vinculadas com contrato de alocação encerrado, pra isso o vinculo precisaria ser relacionado à data do periodo de alocação.
Outra sugestão seria, implentar uma funcionalidade para bloquear acesso do professor à turmas ou disciplinas específicas no i-diário.
Mais detalhes sobre o problema neste tópico do fórum:
https://forum.ieducar.org/t/resolvido-afastamento-de-servidor/1498/16
MENU:
Frequência -> Diário de Frequência
DESCRIÇÃO:
Um aluno mudou de turma porém continua aparecendo na frequência da turma anterior (e aparece na turma atual também).
AMBIENTE:
Quando ativado o bloqueio nas permissões da opção "Lançamentos sem restrições de datas", ou seja, selecionado a opção "Não" , os lançamentos de notas conceituais não são afetados.
CONTEXTO:
Por que esta alteração é importante? Da forma como está, os professores podem alterar as notas conceituais fora do período permitido.
Como esta alteração pode beneficiar outros usuários? Maior integridade dos dados.
i-diario versão 1.3.3
MENU:
Relatórios -> Boletim do professor
DESCRIÇÃO:
Ao tentar gerar o relatório, o mesmo não é gerado e o sistema é redirecionado para a página de configuração da API
AMBIENTE:
CONTEXTO:
Por que esta alteração é importante?
Essa alteração diminuiria o tempo em que a informação fica desatualizada entre o i-Diário e i-Educar, além de não precisar contar com a memória do professor em ter que enviar as informações.
Como esta alteração pode beneficiar outros usuários?
Os professores se beneficiariam em não precisar de preocupar em acessar a funcionalidade para fazer o envio.
IMPLEMENTAÇÃO:
i-Diário poderia ter um scheduler que seria possível configurar a periodicidade do envio das informações do i-Diário para o i-Educar, quando chegasse o determinado momento do envio, o i-Diário verificaria a configuração de integração, caso esteja configurado com sucesso, realizar o envio das informações para todos os professores/turma/escola de forma assincrona utilizando uma fila Sidekiq de baixa prioridade para não consumir muito recurso.
MENU:
Seleção de perfil
DESCRIÇÃO:
Após uma tentativa frustada de sincronizar uma versão de desenvolvimento com o i-Educar, a versão de produção perdeu alguns registros e a tabela teacher_discipline_classrooms parou de atualizar seus valores.
OBSERVAÇÕES:
Outra vez que eu tive problemas com essa tabela foi no início do ano, quando nas sincronizações, a coluna classroom_id ficava vazia.
AMBIENTE:
Avaliar problemas de
Em um dos arquivos da pasta
app/services/exam_poster
Seguindo as práticas descritas em nosso style guide
MENU:
Avaliações -> Diário de avaliações conceituais
DESCRIÇÃO:
O curso que foi configurado no i-educar como: Sistema de nota: não usar nota, consegue lançar notas conceituais
AMBIENTE:
DESCRIÇÃO:
Há um problema ao criar uma Thread dentro de um using connection.
entity.using_connection do
ActiveRecord::Base.connection_config[:database] -> aponta para a entity
Thread.new {
ActiveRecord::Base.connection_config[:database] -> aponta para a default
}.join
end
SOLUÇÃO:
Acredito que esse gem não esteja tão utilizada, então fazer um fork e corrigir.
https://github.com/ricardohsd/activerecord-connections.git
Olá e obrigado por nos ajudar a tornar o i-Diário um projeto mais estável. Para
reportar seu bug use o template abaixo:
DESCRIÇÃO:
O erro é que não consigo instalar nem por docker e nem pela instalação direta, pois quando executo o bundle install o mesmo tenta instalar a dependência dry-inflector-0.2.0 mas não consegue pois ele precisa do ruby 2.4 e o projeto é 2.3.7.
Só que atualizando o ruby e o projeto para 2.4 o bundle install funciona, mas começa a surgir incompatibilidade com outros pacotes não rodando o software.
Atualizar a versão do ruby da 2.2.6 para a versão estável mais recente que no momento da abertura desta issue é a versão 2.6.3, visto que a 2.2.6 não é mais mantida oficialmente, ou seja, não recebe correções de bugs e falhas de segurança.
Mas antes será necessário um discussão para resolver todas as dependências que a atualização irá causar, como por exemplo algumas gems provavelmente precisaram ser substituídas por outras ou terem suas versões atualizadas.
MENU:
Envio de avaliações
DESCRIÇÃO:
Para uma determinada escola, o sistema não está conseguindo mais enviar os dados para o i-Educar
OBSERVAÇÕES:
Erros encontrados na tabela ‘ieducar_api_exam_postings’:
“args: [1, 206, {“etapa”=>1, “resource”=>“faltas-por-componente”, “faltas”=>{“224”=>{“1407”=>{“4”=>{“valor”=>0}}}}}, {“classroom”=>“224”, “student”=>“1407”, “discipline”=>“4”}], error: cannot load such file – http/cookie_jar”
“args: [1, 207, {“etapa”=>1, “resource”=>“faltas-por-componente”, “faltas”=>{“215”=>{“3645”=>{“4”=>{“valor”=>2}}}}}], error: could not obtain a database connection within 5.000 seconds (waited 5.018 seconds)”
AMBIENTE:
Avaliar problemas de
Nos arquivos
app/models/avaliation.rb
app/controllers/avaliations_controller.rb
Seguindo as práticas descritas em nosso style guide
MENU:
Relatórios -> Registros de frequência -> < seleciona datas > -> Imprimir
DESCRIÇÃO:
O sistema está atribuindo faltas para os alunos nos dias do carnaval
AMBIENTE:
MENU:
Configurações > API de Integração > Sincronização
DESCRIÇÃO:
Ao realizar uma sincronização, o i-diario exibe a mensagem abaixo, porém aparentemente não há erros nas datas. O que estaria causando esse erro?
OBSERVAÇÕES:
Talvez não seja um bug, mas uma inconsistência de dados da qual a mensagem de erro não especifica.
AMBIENTE:
Avaliar problemas de
Nos arquivos
app/models/role.rb
app/controllers/roles_controller.rb
app/views/roles
Seguindo as práticas descritas em nosso style guide
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.