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

Anexos: Dicas úteis