MoodleMoot Brasil 2011 - O Moodle na UFSC (Infraestrutura de TI)

1,633 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

MoodleMoot Brasil 2011 - O Moodle na UFSC (Infraestrutura de TI)

  1. 1. Universidade Federal de Santa Catarina - UFSC Superintendência de Governaça Eletrônica e Tecnologia da Informação e Comunicação - SeTIC Departamento de Sistemas de Informação - DSI O Moodle na UFSC (infra-estrutura de TI) Daniel Neis Araujo
  2. 2. <ul><li>Agenda </li></ul><ul><li>Visão geral dos projetos </li></ul><ul><li>Hardware </li></ul><ul><li>Software </li></ul><ul><ul><li>Apache </li></ul></ul><ul><ul><li>MySQL </li></ul></ul><ul><ul><li>Redmine e gitorious </li></ul></ul><ul><ul><li>Cacti </li></ul></ul><ul><ul><li>Backups </li></ul></ul>
  3. 3. <ul><li>Agenda </li></ul><ul><li>Moodle </li></ul><ul><ul><li>Tradução </li></ul></ul><ul><ul><li>Auth/db </li></ul></ul><ul><ul><li>Import/export roles </li></ul></ul><ul><ul><li>Delete section </li></ul></ul><ul><ul><li>Copy groups and members </li></ul></ul><ul><ul><li>Roles capabilities report </li></ul></ul><ul><ul><li>Espinha de Peixe </li></ul></ul><ul><ul><li>Patches aceitos </li></ul></ul>
  4. 4. <ul><li>Visão geral dos projetos </li></ul><ul><li>UAB - ead.moodle.ufsc.br </li></ul><ul><ul><li>Universidade Aberta do Brasil </li></ul></ul><ul><ul><li>Desde 2007 </li></ul></ul><ul><ul><li>12 cursos de graduação (1 a 3 edições por curso) </li></ul></ul><ul><ul><li>8 cursos de especialização </li></ul></ul><ul><ul><li>5 mil usuários ativos </li></ul></ul><ul><ul><li>512 cursos moodle em paralelo </li></ul></ul>
  5. 5. <ul><li>UNASUS - unasus.moodle.ufsc.br </li></ul><ul><ul><li>Universidade Aberta do SUS </li></ul></ul><ul><ul><li>2 cursos de especialização </li></ul></ul><ul><ul><li>2.5 mil usuários ativos </li></ul></ul><ul><ul><li>61 cursos moodle em paralelo </li></ul></ul>Visão geral dos projetos
  6. 6. <ul><li>Presencial - moodle.ufsc.br </li></ul><ul><ul><li>Apoio aos cursos presenciais </li></ul></ul><ul><ul><li>Disponível para todos os professores e turmas da graduação e pós-graduação </li></ul></ul><ul><ul><li>379 cursos utilizando </li></ul></ul><ul><ul><li>36 mil usuários ativos </li></ul></ul><ul><ul><li>3400 cursos moodle em paralelo </li></ul></ul><ul><ul><li>160 mil inscrições em curso </li></ul></ul>Visão geral dos projetos
  7. 7. <ul><li>Hardware </li></ul><ul><li>Banco de Dados </li></ul><ul><ul><li>Intel(R) Xeon(R) CPU E5450 @ 3.00GHz (quad-core) </li></ul></ul><ul><ul><li>16GB RAM </li></ul></ul><ul><ul><li>900GB hard-drive (4 discos em RAID 10) </li></ul></ul><ul><li>Servidor Web </li></ul><ul><ul><li>Máquina virtual sobre VMWare </li></ul></ul><ul><ul><li>Intel(R) Xeon(R) CPU X7350 @ 2.93GHz (quatro núcleos virtuais) </li></ul></ul><ul><ul><li>12GB RAM </li></ul></ul><ul><ul><li>900GB hard-drive (expansible external storage) </li></ul></ul>
  8. 8. <ul><li>Apache </li></ul><ul><li>Tunnings </li></ul><ul><ul><li>ServerLimit 600 </li></ul></ul><ul><ul><li>MaxClients 600 </li></ul></ul><ul><ul><li>Enable mod_info </li></ul></ul><ul><ul><li>Enable mod_status </li></ul></ul><ul><ul><li>Php.ini </li></ul></ul><ul><ul><ul><li>memory_limit = 1536M </li></ul></ul></ul><ul><ul><ul><li>max_execution_time = 90 </li></ul></ul></ul><ul><li>APC (Advanced PHP Cache) </li></ul><ul><ul><li>http://php.net/manual/en/book.apc.php </li></ul></ul><ul><ul><li>http://pecl.php.net/package/APC </li></ul></ul>
  9. 9. Apache
  10. 10. <ul><li>MySQL </li></ul><ul><li>InnoDB </li></ul><ul><li>64Bits </li></ul><ul><li>UTF-8 </li></ul><ul><li>Versão 5.5 </li></ul><ul><li>Tunnings </li></ul><ul><ul><li>max_connections = 600 </li></ul></ul><ul><ul><li>max_heap_table_size = 2G </li></ul></ul><ul><ul><li>tmp_table_size = 2G </li></ul></ul><ul><ul><li>thread_cache_size = 550 </li></ul></ul>
  11. 11. <ul><li>MySQL </li></ul><ul><li>Mais tunning </li></ul><ul><ul><li>innodb_buffer_pool_size = 8G </li></ul></ul><ul><ul><li>read_buffer_size = 512M </li></ul></ul><ul><ul><li>sort_buffer_size = 512M </li></ul></ul>
  12. 12. <ul><li>MySQL </li></ul><ul><li>Referências </li></ul><ul><ul><li>http://dev.mysql.com/doc/refman/5.5/en/ </li></ul></ul><ul><ul><li>http://mysqlperformanceblog.com </li></ul></ul><ul><ul><li>High Performance MySQL, Second Edition </li></ul></ul>
  13. 13. Redmine
  14. 14. Git e Gitorious
  15. 15. Cacti
  16. 16. <ul><li>Backups </li></ul><ul><li>Solução desenvolvida sob medida, pela própria equipe </li></ul><ul><li>Características </li></ul><ul><ul><li>Backup diário da base de dados e moodledata </li></ul></ul><ul><ul><li>“ Point in time” recovery </li></ul></ul><ul><ul><li>Recuperar um ou mais cursos </li></ul></ul><ul><ul><li>Recuperar partes do curso (dados ou base de dados) </li></ul></ul><ul><li>Ferramentas </li></ul><ul><ul><li>Rsync </li></ul></ul><ul><ul><li>OpenSolaris </li></ul></ul><ul><ul><li>ZFS Snapshots </li></ul></ul>
  17. 17. Tradução – lang.moodle.org
  18. 18. Tradução – lang.moodle.org
  19. 19. <ul><li>Auth/db </li></ul><ul><li>Motivação </li></ul><ul><ul><li>Sincronizar dados de usuários entre Moodle e controles acadêmicos da UFSC </li></ul></ul><ul><ul><li>Centralizar a autenticação dos Moodles da UFSC </li></ul></ul><ul><li>Necessidades </li></ul><ul><ul><li>Diminuir o tempo de cadastro, atualização e remoção de usuários </li></ul></ul><ul><ul><ul><li>Originalmente +2 horas para 35K usuários </li></ul></ul></ul><ul><ul><li>Permitir alterar senha a partir de qualquer Moodle </li></ul></ul><ul><li>Como </li></ul><ul><ul><li>Usando tabelas temporárias no BD ao invés de arrays no PHP </li></ul></ul><ul><ul><li>Baixando todos os dados de uma vez para evitar 1 select + 1 update / campo / usuário </li></ul></ul>
  20. 20. <ul><li>Resultado: </li></ul><ul><ul><li>Atualização/inclusão/remoção para 35K usuários em 3 minutos </li></ul></ul><ul><li>Histórico e votação: </li></ul><ul><ul><li>http://tracker.moodle.org/browse/MDL-25373 </li></ul></ul><ul><ul><li>http://tracker.moodle.org/browse/MDL-25372 </li></ul></ul><ul><li>Código: </li></ul><ul><ul><li>1.9 - http://tracker.moodle.org/secure/attachment/23584/mdl25372-1.9.diff </li></ul></ul><ul><ul><li>2.x – https://github.com/danielneis/moodle/compare/master...MDL-25372.diff </li></ul></ul>Auth/db
  21. 21. <ul><li>Importar e exportar papéis </li></ul><ul><li>Motivação </li></ul><ul><ul><li>Testar permissionamento em ambiente de desenvolvimento </li></ul></ul><ul><ul><li>Clonar papéis entre instalações dos Moodles UFSC </li></ul></ul><ul><li>Necessidades </li></ul><ul><ul><li>Exportar 1 ou mais papéis para XML </li></ul></ul><ul><ul><li>Possibilidade substituir papéis existentes na importação </li></ul></ul>
  22. 22. <ul><li>Como </li></ul><ul><ul><li>Fazendo um patch para o Moodle, o menos intrusivo possível </li></ul></ul><ul><ul><li>Utilizar API de backup </li></ul></ul><ul><ul><li>Utilizar todo o código já existente </li></ul></ul><ul><li>Resultado </li></ul><ul><ul><li>Um bugfix para o Moodle 1.9.7 (restaurar descrições de papéis) </li></ul></ul><ul><ul><ul><li>http://tracker.moodle.org/browse/MDL-21708 </li></ul></ul></ul><ul><ul><li>Um patch para o Moodle 1.9 (com a importação e exportação) </li></ul></ul><ul><ul><ul><li>http://tracker.moodle.org/browse/MDL-17081 </li></ul></ul></ul><ul><ul><li>Código do 2.x “de graça”, desenvolvido por um membro da comunidade </li></ul></ul><ul><ul><ul><li>Nicholas Koeppen </li></ul></ul></ul><ul><ul><ul><li>https://github.com/glennansley/moodle-report_rolesmigration </li></ul></ul></ul>Importar e exportar papéis
  23. 23. <ul><li>Excluir sessões de cursos </li></ul><ul><li>Motivação </li></ul><ul><ul><li>As pessoas erram... </li></ul></ul><ul><ul><li>e também desistem de grande parte do trabalho feito... </li></ul></ul><ul><ul><li>“ Preciso remover uma sessão de um curso e todo seu conteúdo” </li></ul></ul><ul><ul><li>Mover para o final e esconder não é tão legal assim... </li></ul></ul><ul><li>Como </li></ul><ul><ul><li>Incluindo um “botão” perto das setas que movem as sessões </li></ul></ul><ul><ul><li>Formatos de curso: Weekly e Topics </li></ul></ul><ul><ul><li>Com e sem AJAX </li></ul></ul><ul><li>Resultado </li></ul><ul><ul><li>Patch para o Moodle (1.9 e 2.x) </li></ul></ul><ul><ul><ul><li>http://tracker.moodle.org/browse/MDL-10405 </li></ul></ul></ul><ul><ul><li>Sinalização positiva da comunidade </li></ul></ul><ul><ul><ul><li>http://moodle.org/mod/forum/discuss.php?d=186801 </li></ul></ul></ul>
  24. 24. <ul><li>Copiar grupos e seus membros </li></ul><ul><li>Motivação </li></ul><ul><ul><li>Facilitar a gerência de grupos </li></ul></ul><ul><ul><li>Grupos que nossa sincronização com o controle acadêmico não controla </li></ul></ul><ul><ul><ul><li>Pois eles não são definidos lá </li></ul></ul></ul><ul><ul><ul><li>Assuntos “de sala de aula” ficam no Moodle </li></ul></ul></ul><ul><li>Necessidades </li></ul><ul><ul><li>Uma vez definidos os grupos em um curso Moodle, importá-lo em outros </li></ul></ul><ul><ul><li>Copiar grupos novos </li></ul></ul><ul><ul><li>Adicionar e remover membros dos grupos </li></ul></ul><ul><ul><li>Apenas usuários inscritos nos dois cursos </li></ul></ul><ul><li>Como </li></ul><ul><ul><li>Estendendo a interface de importação do Moodle </li></ul></ul><ul><ul><ul><li>Na versão original, importa grupos a partir de arquivo CSV </li></ul></ul></ul><ul><ul><ul><li>Implementar a importação a partir de outro curso </li></ul></ul></ul><ul><ul><ul><li>Patch para o Moodle 1.9 </li></ul></ul></ul><ul><ul><ul><ul><li>http://tracker.moodle.org/browse/MDL-23186 </li></ul></ul></ul></ul><ul><ul><ul><li>Versão para 2.x em breve </li></ul></ul></ul>
  25. 25. <ul><li>Relatório de permissões dos papéis </li></ul><ul><li>Motivação </li></ul><ul><ul><li>Comparar as definições de diversos papéis dos Moodles UFSC </li></ul></ul><ul><ul><li>Permitir que usuários não administradores tenham acesso a essas informações </li></ul></ul><ul><li>Como </li></ul><ul><ul><li>Desenvolvendo um relatório administrativo para o Moodle </li></ul></ul><ul><li>Resultado </li></ul><ul><ul><li>Admin report: Roles capabilites </li></ul></ul><ul><ul><ul><li>http://moodle.org/mod/data/view.php?d=13&rid=3304 </li></ul></ul></ul><ul><ul><li>Aceito como projeto “Contrib” </li></ul></ul><ul><ul><ul><li>http://tracker.moodle.org/browse/CONTRIB/component/10595 </li></ul></ul></ul>
  26. 26. Relatório de permissões dos papéis
  27. 27. <ul><li>Espinha de peixe </li></ul><ul><li>Motivação </li></ul><ul><ul><li>Curso de Especialização em Gestão de Assistência Farmaceutica da UNASUS </li></ul></ul><ul><ul><li>Diversas atividades utilizando Diagrama de Ishikawa / Espinha de Peixe </li></ul></ul><ul><ul><li>Nenhum módulo fácil de utilizar no Moodle </li></ul></ul><ul><li>Resultado </li></ul><ul><ul><li>Um novo módulo de atividades para o Moodle 1.9 </li></ul></ul><ul><ul><li>https://github.com/danielneis/moodle-mod-ishikawa </li></ul></ul><ul><ul><li>Em breve versão para 2.x </li></ul></ul>
  28. 28. Espinha de peixe
  29. 29. <ul><li>Patches aceitos </li></ul><ul><li>MDL-17392 : Moodle doesn't send 'forgot password' emails to users that have disabled the email </li></ul><ul><li>MDL-18800 : Sort courses on profile </li></ul><ul><li>MDL-19364: Create new category in tree doesn't check for advanced grade_item fields </li></ul><ul><li>MDL-19404: New grade category don't load grade item defaults and don't validate min and max grades </li></ul><ul><li>MDL-19429: Can't set grademax, grademin and gradepass to zero while editing a grade category </li></ul>
  30. 30. <ul><li>MDL-19567: Ordering of the courses don't follow the sortorder on course import </li></ul><ul><li>MDL-20123: Course Section's 0 can became invisible or &quot;highlighted&quot; if using AJAX </li></ul><ul><li>MDL-19233: Backup routine doesn't check for permission before create new roles </li></ul><ul><li>MDL-20626: The function sync_metacourse doesn't sync the hidden field </li></ul>Patches aceitos
  31. 31. O que vimos hoje ... <ul><li>Moodle </li></ul><ul><ul><li>Tradução </li></ul></ul><ul><ul><li>Auth/db </li></ul></ul><ul><ul><li>Import/export roles </li></ul></ul><ul><ul><li>Delete section </li></ul></ul><ul><ul><li>Copy groups and members </li></ul></ul><ul><ul><li>Roles capabilities report </li></ul></ul><ul><ul><li>Espinha de Peixe </li></ul></ul><ul><ul><li>Patches aceitos </li></ul></ul><ul><li>Visão geral dos projetos </li></ul><ul><li>Hardware </li></ul><ul><li>Software </li></ul><ul><ul><li>Apache </li></ul></ul><ul><ul><li>MySQL </li></ul></ul><ul><ul><li>Redmine e gitorious </li></ul></ul><ul><ul><li>Cacti </li></ul></ul><ul><ul><li>Backups </li></ul></ul>
  32. 32. Obrigado! Dúvidas? [email_address]

×