Dicionário de Genealogia, autor Gilber Rubim Rangel
Atividades pendentes bloco Moodle
1. Bloco de Controle de
Atividades Pendentes
Alexandre Schlöttgen
Luiz Guilherme Dall Acqua
2. Levantamento das Necessidades - Moodle UFSM
● Suporte Moodle (telefonemas, e-mails, atendimento presencial)
● Pesquisa com os usuários (Junho de 2016)
○ 21 questões
○ 640 usuários de cursos EaD
○ 1.101 usuários de cursos presenciais
2
3. Seleção e Estudo das Principais Necessidades
● Layout mais atrativo e responsivo ( O Moodle é feio)
● Acesso rápido as disciplinas do semestre atual
● Controle das atividades mais urgentes
● Controle de mensagens e Avisos
3
4. Desenvolvimento das Melhorias
● Novo tema (+ simples, + agradável, + responsivo)
● Separação das mensagens dos usuários e dos avisos do moodle
● Criação de 3 blocos
4
8. Atividades Pendentes - Filtro
8
Atividades que encerram:
Todas = agora para frente
Hoje = agora até 23:59:59
Amanhã = no momento atual
até amanhã às 23:59:59
3 dias = no momento atual
até 3 dias às 23:59:59
10. Atividades Consideradas
10
Base de Dados (data)
Enquete (questionnaire)
Escolha (choice)
Fórum (forum)
Glossário (glossary)
Hot Potatoes (hotpot)
Jogos (game)
Laboratório de Avaliação (workshop)
Lição (lesson)
OU Wiki (ouwiki)
Pesquisa (feedback)
Questionário (quiz)
SCORM/AICC (scorm)
Tarefa (assign)
11. Algumas atividades possuem data de encerramento e data limite.
Atividades - Datas de Encerramento
11
Se data atual < data de encerramento
então considerar data de encerramento
senão considerar data limite
12. Criação de View (Tabela) no Banco de Dados
● Aumentar a performance das consultas
● Facilitar a codificação e manutenção futura
● Cada módulo de atividade possui tabelas e campos diferentes
12
13. Campos utilizados na View
13
Atividade Data de Encerramento
Base de Dados data.timeavaliableto
Enquete questionnaire.closedate
Escolha choice.timeclose
Fórum forum.assesstimefinish
Glossário glossary.assesstimefinish
Hot Potatoes hotpot.timeclose
Jogos game.timeclose
Atividade Data de Encerramento
Laboratório de Avaliação workshop.submissionend
Lição lesson.deadline
OU Wiki ouwiki.editend
Pesquisa feedback.timeclose
Questionário quiz.timeclose
SCORM/AICC scorm.timeclose
Tarefa assign.duedate
14. Lógica da View - SQL - Parte 1
CASE
WHEN mdl_quiz.timeclose IS NOT NULL THEN mdl_quiz.timeclose
WHEN mdl_forum.assesstimefinish IS NOT NULL THEN mdl_forum.assesstimefinish
WHEN mdl_assign.duedate IS NOT NULL THEN mdl_assign.duedate
WHEN mdl_feedback.timeclose IS NOT NULL THEN mdl_feedback.timeclose
WHEN mdl_choice.timeclose IS NOT NULL THEN mdl_choice.timeclose
WHEN mdl_lesson.deadline IS NOT NULL THEN mdl_lesson.deadline
WHEN mdl_scorm.timeclose IS NOT NULL THEN mdl_scorm.timeclose
WHEN mdl_data.timeavailableto IS NOT NULL THEN mdl_data.timeavailableto
WHEN mdl_workshop.submissionend IS NOT NULL THEN mdl_workshop.submissionend
WHEN mdl_glossary.assesstimefinish IS NOT NULL THEN mdl_glossary.assesstimefinish
WHEN mdl_questionnaire.closedate IS NOT NULL THEN mdl_questionnaire.closedate
WHEN mdl_ouwiki.editend IS NOT NULL THEN mdl_ouwiki.editend
WHEN mdl_game.timeclose IS NOT NULL THEN mdl_game.timeclose
WHEN mdl_hotpot.timeclose IS NOT NULL THEN mdl_hotpot.timeclose
ELSE 0
END AS timeclose,
14
15. Lógica da View - SQL - Parte 2
FROM mdl_course_modules
INNER JOIN mdl_course ON mdl_course.id = mdl_course_modules.course
INNER JOIN mdl_course_categories ON mdl_course.category = mdl_course_categories.id
INNER JOIN mdl_modules ON mdl_modules.id = mdl_course_modules.module
INNER JOIN mdl_course_sections ON mdl_course_sections.id = mdl_course_modules.section
INNER JOIN mdl_enrol ON mdl_enrol.courseid = mdl_course_modules.course
INNER JOIN mdl_user_enrolments ON mdl_enrol.id = mdl_user_enrolments.enrolid
INNER JOIN mdl_user ON mdl_user.id = mdl_user_enrolments.userid
LEFT JOIN mdl_forum ON (
mdl_forum.course = mdl_course_modules.course
AND mdl_forum.id = mdl_course_modules.instance
AND mdl_modules.name = 'forum'
)
LEFT JOIN mdl_assign ON (
mdl_assign.course = mdl_course_modules.course
AND mdl_assign.id = mdl_course_modules.instance
AND mdl_modules.name = 'assign'
)
15
16. Utilização da view
16
private function get_records($where, $param) {
global $DB;
$sql = "SELECT *
FROM {view_activities}
WHERE user_id = ? $where
ORDER BY timeclose ASC ";
return $DB->get_records_sql($sql, $param);
}
17. Estimativa a partir do
Relatório de Fluxo de
Comportamento do
Google Analytics
Estatísticas de
uso do Plugin
17
Período de 1 Ano:
01/03/2017 - 28/02/2018
18. Estatísticas 01/03/2017 à 28/02/2018
18
Painel: 719 mil sessões
Fóruns
38 mil
(5%)
Tarefas
115 mil
(16%)