Relatorios personalizados desenvolvidos pela comunidade
From MoodleDocs
Introdução
Relatórios
Relatórios Administrativos
Erros de acesso, motivo: usuário inexistente
O Moodle registra em seu log as tentativas de acesso malsucedidas e este relatório lista, dentro do intervalo de 30 dias, os acessos não concluídos devido a inexistência de cadastro ou erro de preenchimento dos dados de login.
PostgreSQL
SELECT JSON_EXTRACT_PATH_TEXT(OTHER :: JSON,'username') AS USERNAME,
TO_CHAR(TO_TIMESTAMP(L.TIMECREATED),'DD/MM/YYYY HH:MM') AS DATA
FROM PREFIX_LOGSTORE_STANDARD_LOG AS L
WHERE L.ACTION = 'failed'
AND L.TARGET = 'user_login'
AND L.OTHER like '%reason":1%'
AND TO_TIMESTAMP(L.TIMECREATED) >= NOW() - interval '30 days'
ORDER BY TIMECREATED DESC
Erros de acesso, motivo: senha inválida
Este relatório lista os usuários válidos, que nunca acessaram a plataforma devido a senha inválida. No início de semestre ou cadastro recém realizado, para ações proativas, o suporte poderá agir entrando em contato com o usuário.
PostgreSQL
SELECT DISTINCT U.USERNAME AS "Usuário", CONCAT (U.FIRSTNAME,' ',U.LASTNAME) AS "Nome completo",
CONCAT('<a target="_new" href="%%WWWROOT%%/user/profile.php?id=',L.USERID,'">Acessar Perfil</a>') AS "Perfil",
L.TARGET,
L.ACTION
FROM PREFIX_LOGSTORE_STANDARD_LOG AS L
JOIN PREFIX_USER AS U ON U.ID = L.USERID
WHERE L.ACTION LIKE 'failed'
AND L.TARGET LIKE 'user_login'
AND TO_TIMESTAMP(L.TIMECREATED) >= NOW() - interval '7 days'
AND U.LASTACCESS = 0
Usuários criados: Contagem por autor do cadastro
PostgreSQL
SELECT CONCAT(U2.FIRSTNAME, ' ', U2.LASTNAME) AS "Autor dos cadastros",
COUNT(DISTINCT U.USERNAME) AS "Usuários criados"
FROM PREFIX_LOGSTORE_STANDARD_LOG AS L
JOIN PREFIX_USER AS U ON U.ID = L.RELATEDUSERID
JOIN PREFIX_USER AS U2 ON U2.ID = L.USERID
WHERE L.ACTION = 'created'
AND L.TARGET = 'user'
GROUP BY "Autor dos cadastros"
ORDER BY "Usuários criados" DESC
Usuários criados: Últimos 30 dias
PostgreSQL
SELECT U.USERNAME,CONCAT(U.FIRSTNAME,' ',U.LASTNAME) AS "Usuário criado",
CONCAT(U2.FIRSTNAME,' ',U2.LASTNAME) AS "Autor do cadastro",
L.ORIGIN,
TO_CHAR(TO_TIMESTAMP(L.TIMECREATED),'DD/MM/YYYY HH:MM') AS "Data de criação"
FROM PREFIX_LOGSTORE_STANDARD_LOG AS L
JOIN PREFIX_USER AS U ON U.ID = L.RELATEDUSERID
JOIN PREFIX_USER AS U2 ON U2.ID = L.USERID
WHERE L.ACTION = 'created'
AND L.TARGET = 'user'
AND TO_TIMESTAMP(L.TIMECREATED) >= NOW() - interval '30 days'
ORDER BY L.TIMECREATED DESC