El bloque TMMS-24 permite a estudiantes responder una prueba de 24 ítems en escala 1–5 y obtener un perfil por tres dimensiones de inteligencia emocional:
- Percepción
- Comprensión
- Regulación
El resultado incluye puntajes (0–40 por dimensión en la UI), interpretaciones con baremos dependientes del género y una presentación “resumen + detalle” tanto en el bloque como en vistas dedicadas. Para docentes/administradores, incorpora un panel con métricas del curso y exportación.
Este repositorio incluye:
- Experiencia de estudiante con guardado progresivo (autosave) y validaciones antes de enviar.
- Herramientas docentes con dashboard, vista individual por estudiante y exportación CSV/JSON.
- Funcionalidades
- Recorrido Visual
- Sección técnica (modelo de datos, cálculo, flujos, permisos, endpoints)
- Instalación
- Operación y soporte
- Contribuciones
- Equipo de desarrollo
- Aplicación del test (24 ítems, escala 1–5) con:
- Recolección de edad y género (requeridos al finalizar).
- Guardado progresivo y reanudación.
- Validación visual y scroll a campos pendientes.
- Resultados:
- Puntajes por dimensión (sobre 40).
- Interpretación breve y ampliada.
- Resaltado de “dimensión/dimensiones estrella” y objetivos sugeridos.
- Vista del bloque con acceso al panel de resultados.
- Dashboard del curso con:
- Conteos (matriculados, completados, en progreso, tasa de finalización),
- Estadísticas y distribuciones por dimensión,
- Tabla de participantes (nombre, correo, estado, resultados).
- Acceso a vista individual por estudiante.
- Posibilidad de eliminación de resultados individuales.
- Exportación de resultados completados del curso o individuales en CSV o JSON.
- Opción para mostrar/ocultar las descripciones en el bloque principal (oculto por defecto).
- Controles de privacidad: acceso restringido por capacidades y por matrícula en el curso.
Acceso Intuitivo y Llamado a la Acción
El recorrido comienza con una invitación clara y directa. Desde el bloque principal del curso, el estudiante puede visualizar su estado actual y acceder al test con un solo click, facilitando la participación sin fricciones.
Interfaz de Evaluación Optimizada
Se presenta un entorno de respuesta limpio y libre de distracciones. La interfaz ha sido diseñada para priorizar la legibilidad y la facilidad de uso, permitiendo que el estudiante se concentre totalmente en el proceso de autodescubrimiento.
Asistencia y Validación en Tiempo Real
Para garantizar la integridad de los datos, el sistema implementa una validación inteligente. Si el usuario olvida alguna respuesta, el sistema lo guía visualmente mediante alertas en rojo y un desplazamiento automático hacia los campos pendientes, asegurando una experiencia sin errores.
Persistencia de Progreso y Continuidad
Entendemos que el tiempo es valioso. Si el estudiante debe interrumpir su sesión, el sistema guarda automáticamente su avance. Al regresar, el bloque muestra el porcentaje de progreso y permite reanudar el test exactamente donde se dejó, resaltando visualmente la siguiente pregunta a responder.
Confirmación de Envío Pendiente Si el estudiante ha completado las 44 preguntas pero aún no ha procesado el envío, el bloque muestra una notificación clara y amigable, invitándolo a formalizar la entrega y conocer sus habilidades socio-emocionales.
Análisis de Perfil y Recomendaciones Personalizadas
Al finalizar, el estudiante recibe un diagnóstico de sus habilidades socioemocionales. La presentación muestra su puntaje y una interpretación clara de cada una de sus dimensiones destacadas, así como del resto de las dimensiones evaluadas. El estudiante tiene la opción de acceder a un informe detallado, donde puede consultar toda la información completa y profundizar en sus resultados.
Dashboard de Control Rápido (Vista del Bloque)
El profesor cuenta con una vista ejecutiva desde el bloque, donde puede monitorizar métricas clave, además de acceder a funciones avanzadas de administración.
Centro de Gestión y Analíticas
Un panel de administración que centraliza el seguimiento grupal. Permite visualizar quiénes han completado el proceso, quiénes están en curso y gestionar los resultados colectivos para adaptar la estrategia pedagógica del aula.
Seguimiento Individualizado y Detallado
El docente puede profundizar en las habilidades socioemocionales de cada estudiante. Esta vista permite comprender las necesidades particulares de cada alumno y las recomendaciones sugeridas por el sistema para brindar un apoyo docente más humano y dirigido.
- Nota: Esta vista es la misma que la del estudiante, pero accesible por el profesor para cualquier alumno del curso con explicaciones sobre el resultado.
Esta sección describe el comportamiento tal como está implementado en el bloque (cálculo, persistencia, flujos y controles de acceso).
- Total de ítems: 24.
- Escala por ítem: 1–5.
- Dimensiones (8 ítems cada una):
- Percepción: ítems 1–8
- Comprensión: ítems 9–16
- Regulación: ítems 17–24
- Demografía: se solicita edad (10–100) y género (
M,F,prefiero_no_decir).
El cálculo se centraliza en TMMS24Facade::calculate_scores() y se realiza por suma simple:
percepcion = sum(item1..item8)comprension = sum(item9..item16)regulacion = sum(item17..item24)
En la UI, los puntajes se muestran sobre 40 (8 ítems × 5 puntos). En guardado final, el servidor exige que los 24 ítems estén respondidos con valores en [1, 5].
La interpretación se calcula con TMMS24Facade::get_interpretation() y depende del género informado. En código, prefiero_no_decir cae en el mismo baremo que el caso “no M” (misma rama que F).
Percepción
M: ≤21 (dificultad), 22–32 (adecuada), ≥33 (atención excesiva)F/prefiero_no_decir: ≤24 (dificultad), 25–35 (adecuada), ≥36 (atención excesiva)
Comprensión
M: ≤25 (dificultad), 26–35 (adecuada con dificultades), ≥36 (gran claridad)F/prefiero_no_decir: ≤23 (dificultad), 24–34 (adecuada con dificultades), ≥35 (gran claridad)
Regulación
M: ≤23 (dificultad), 24–35 (equilibrio adecuado), ≥36 (gran capacidad)F/prefiero_no_decir: ≤23 (dificultad), 24–34 (equilibrio adecuado), ≥35 (gran capacidad)
Además de la interpretación breve, el bloque provee una variante ampliada vía get_all_interpretations_long().
Para comparar dimensiones de forma más justa (dado que Percepción penaliza el exceso), el bloque calcula un puntaje normalizado (0–100) con TMMS24Facade::get_normalized_score():
- Percepción: normalización “parabólica” con punto óptimo (27
M/ 30F) y rango adecuado (22–32M/ 25–35F). - Comprensión y Regulación: normalización “lineal” por rangos (gran/adecuada/dificultad).
Uso en el bloque:
- Se selecciona la(s) dimensión(es) estrella como aquella(s) con mayor normalizado (si hay empate, se muestran varias).
- Si las tres dimensiones quedan por debajo de 60 en normalizado, se usa el caso “all bad” (todas requieren mejora).
Guardado progresivo (autosave)
- Implementado en el formulario de
view.php. - Tras cualquier cambio (ítems, edad, género), se encola un autosave y se ejecuta tras 400 milisegundos de inactividad.
- El autosave envía un POST a
save.phpconajax=1yauto_save=1. - Comportamiento importante: si aún no existe registro y no hay datos (ni demografía ni respuestas), el autosave no crea filas.
Validación al finalizar
- Cliente: antes de enviar, marca campos inválidos y hace scroll al primer faltante.
- Servidor (
save.php):- valida edad 10–100,
- valida género en
M,F,prefiero_no_decir, - valida que los 24 ítems estén en [1, 5],
- calcula puntajes y marca
is_completed = 1.
Reanudación
- Si hay progreso parcial, al volver se hace scroll y resaltado temporal a la primera pregunta pendiente.
- Si todo está respondido pero el usuario viene desde el bloque para finalizar, se puede hacer scroll al botón de envío.
Tabla: tmms_24
user(índice único): el test se almacena globalmente por usuario.age,gender.is_completed: 0 (en progreso) / 1 (completado).item1..item24: respuestas individuales (1–5).- Puntajes:
percepcion_score,comprension_score,regulacion_score. - Trazabilidad:
created_at,updated_at.
Implicación importante:
- Al ser único por usuario y sin campo de curso, el resultado puede reutilizarse entre cursos. Las vistas docentes filtran participantes por matrícula en el curso, pero el registro del test pertenece al usuario a nivel global.
Estudiante
- Formulario del test y resultados propios:
view.php?cid=<courseid> - Guardado (autosave y envío final):
save.php(POST consesskey)
Docente / Administrador
- Panel del curso:
teacher_view.php?courseid=<courseid> - Resultados individuales:
student_results.php?courseid=<courseid>&userid=<userid> - Exportación CSV/JSON:
export.php?cid=<courseid>&format=csv|json[&userid=<userid>] - Eliminación de respuesta:
teacher_view.php?courseid=<courseid>&action=delete&id=<entryid>&sesskey=<sesskey>(con confirmación) - Eliminación directa (alternativa):
delete_response.php?courseid=<courseid>&id=<entryid>&sesskey=<sesskey>
Capacidades definidas por el bloque:
block/tmms_24:taketest(estudiante): permite tomar el test.block/tmms_24:viewallresults(docente/manager): permite ver el dashboard del curso, resultados de estudiantes y exportaciones.block/tmms_24:manageresponses: reservado para gestión avanzada (no es el gate principal de export enexport.php).block/tmms_24:addinstance/block/tmms_24:myaddinstance: gestión de instancias.
Controles adicionales implementados:
view.phpimpide que docentes/administradores tomen el test: si tienenviewallresults, redirige al panel docente.- Escrituras protegidas con
sesskey. - Exportación y vista docente restringidas a
viewallresults. - Filtrado defensivo en panel/exportación: excluye site admins y usuarios con
viewallresultsaunque estén matriculados. - Eliminación requiere
viewallresultsymoodle/course:manageactivities.
- Descargar el plugin desde las releases del repositorio oficial: https://github.com/ISCOUTB/tmms_24
- En Moodle (como administrador):
- Ir a Administración del sitio → Extensiones → Instalar plugins.
- Subir el archivo ZIP.
- Completar el asistente de instalación.
- En un curso, agregar el bloque Exploración de Habilidades Socioemocionales desde el selector de bloques.
- Compatibilidad declarada: Moodle 4.0+.
- El estudiante no ve el test: validar que tenga
block/tmms_24:taketesten el contexto del curso. - El docente no ve el panel o exportaciones: validar
block/tmms_24:viewallresults. - El progreso no se guarda: revisar
sesskeyen el POST y bloqueos del navegador/red.
¡Las contribuciones son bienvenidas! Si deseas mejorar este bloque, por favor sigue estos pasos:
- Haz un fork del repositorio.
- Crea una nueva rama para tu característica o corrección de errores.
- Realiza tus cambios y asegúrate de que todo funcione correctamente.
- Envía un pull request describiendo tus cambios.
- Jairo Enrique Serrano Castañeda
- Yuranis Henriquez Núñez
- Isaac David Sánchez Sánchez
- Santiago Andrés Orejuela Cueter
- María Valentina Serna González









